Justin Johansson Wrote: > 5. Newcomers to the language will find it's type system concepts overwhelming > - co-variance and contra-variance etc. (don't know how D2 will address this > better though). Yes these issues are important for OO libraries but feel > there must be a more practical way out of the language complexity. > Personally I always kept away from the hairy and scary bits of C++; you don't > need 'em in a practical language. > > I've heard Scala's argument that all the complexity is hidden in the > libraries so need to worry about it. Unfortunately I don't believe her. I > learn a lot about a language by studying the library code and expect it to be > as easy to read and understand as mainline code.
I couldn't agree more, I learned how to use D by studying its runtime library over the past few years. To me it is especially useful to study a runtime library when it is used to implement features of the language, so you get a clear grasp of what using these features imply. I lost count on how many neat tricks I learned reading Andrei's metaprogramming code.