superdan Wrote:

> Steve Teale Wrote:
> 
> > Jason House Wrote:
> > 
> > > Walter Bright Wrote:
> > >  
> > > > D aims to reduce project costs by reducing training time and shortening 
> > > > development time.
> > > 
> > > It really hasn't worked out that way for me with D2. Here's an example 
> > > from yesterday:
> > > 
> > > I picked up where I left off with creating a weak ref library, something 
> > > most other GC'd languages have as part of their standard library. It 
> > > probably comes as no surprise that I was getting seg faults. Of course, 
> > > those are supposed to be trivial to solve. I run the app through gdb, and 
> > > catch the crash. I can see the stack but can't figure out which line the 
> > > fault occurred on or what the important local variables are set to. 
> > > 
> > > I make up an incorrect theory of what could be going on and start a 
> > > detailed sifting through all actions of the gc. Everything was fine :( I 
> > > somehow notice later in the night a small usage difference between my 
> > > code and the GC. I fix that and try a better test to ensure things work.
> > > 
> > > I see previously working code is now broken. I start checking code and 
> > > settle on std.conv being broken. Out of the 15 candidates for to!(T), I 
> > > overlook the one that should be used, but do spot what is incorrectly 
> > > being used. The code looks legit - do a conversion to a string from a 
> > > struct, but only if it lacks a toString function. I have a to string 
> > > function! I test the logic with a static assert and it's wrong. Is this a 
> > > compiler bug? I remember some screwy is expression syntax and try that 
> > > instead. Looks like the screwy syntax is needed. I have always hated the 
> > > is syntax because it's non-intuitive. It looks like Mr. Metaprogramming 
> > > (Andrei) got it wrong. 
> > 
> > I tend to agree about the obsessive concern in this newsgroup about 
> > meta-programming. In my view, the whole focus of that is to automate code 
> > generation that really can't be automated if you care about speed and 
> > efficiency because it always has to assume worst case. Usually, when 
> > programmers in a conventional shop do use it, they use it to generalize a 
> > quite narrow case - KISS.
> 
> yerself said yer dun understand wut's goin' on, ol' timer. really if u wanna 
> stick to the ol' times grow an afro & write in c. d without no meta would be 
> a greasespot in language town. it's meta that keeps d goin' and no meta no 
> honey. an' wut's jasons problem. saw the bug. it's a fuckin' typo. mr. 
> metamuthafucka could make a fuckin' typo. so who gives a shit. why read 
> anything into it. just put a unittest there and move on. conv is akshully 
> kewl btw.
> 
> > When it aims for the wider case, it often ends up being buggy, like 
> > std.stdio.writefln(...) has been from time to time.
> 
> so wut only templates have bugs? what's yer problem really.
> 
> > Sadly, in the absence of decent development tools for D, many of us depend 
> > on a plain old editor, and writefln() for debugging.  I notice that in 
> > Phobos, Walter tends to prefer printf(...) - go figure!
> 
> yer do me a favor sherlock. yer figure that out fer us all.

Interesting prose style! You'll be an old-timer one day, but by then, I'll be 
dead and gone. Maybe I'll be a fly on the wall.

Love you too.


Reply via email to