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.
