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.

Reply via email to