Sorry but I have to disagree. Actually after reading TDPL I got the impression that at the semantic level, D is not that much easier than C++.
It does not make a difference for people that myself that are quite comfortable with C++, and all its idioms, but I think for the average programmer they are also complex. Which does not rule out people using D, after all you need to have the right background for doing proper programming. -- Paulo "Jonathan M Davis" <[email protected]> wrote in message news:[email protected]... > On Tuesday 19 October 2010 12:53:41 Andrei Alexandrescu wrote: >> On 10/19/10 14:04 CDT, Max Samukha wrote: >> > On 10/19/2010 09:06 PM, Walter Bright wrote: >> >> bearophile wrote: >> >>> The point I was trying to express is that from what I have seen >> >>> people >> >>> are >> >>> able to learn to program Python (this means quite more than just the >> >>> syntax) >> >>> in *much* less time it takes to learn C++/D. And this has precise >> >>> causes. >> >> >> >> Time will tell how long it will take people to become idiomatically >> >> proficient in D. But also consider that Andrei's book "Modern C++ >> >> Design" completely changed the idiomatic way people wrote C++ >> >> programs. >> >> A 1990's state of the art C++ program is very different from a 2010 >> >> one. >> >> >> >> We've only just begun figuring out the right way to write D programs. >> > >> > That is funny. Now and then you and Andrei talk so confidently about >> > Go, >> > C#, Haskell and other D competitors, without having written more than a >> > couple of lines in those languages. At the same time, you are claiming >> > that it takes years to even start to learn a programming language. >> > Sure, >> > it is not problems with D that make it difficult to use. We simply >> > don't >> > know how to program in D yet, after several years of doing just that. >> >> I agree this seems to be a contradiction. Haskell is a fairly mature >> language building on a staunch pure functional base so many of its >> idioms have been established. C# uses rather conservative features so >> it's not difficult to learn from the perspective of the languages that >> influence it. Go is a small language that has one defining feature (the >> implicit signature conformance) that does add a certain flavor but is >> understood and has been experimented with in other languages. >> >> D has added a lot in the direction of generics, and by their nature >> generics interact heavily with the rest of the language. I agree it is >> taking time to get to best use of such, but it's not wasted time because >> it marks real progress. For example, code using the relatively new >> template constraints is better than code that didn't use them. >> >> > With all due respect for Andrei, I doubt that it is his book that >> > completely changed the way people wrote C++ programs. It was >> > influential, right, but it was really not a single factor. And some of >> > ideas presented in that book are avoided by reasonable programmers. >> > >> > Please stop so shamelessly advertising each other. Thanks! >> >> Sorry. Do I advertise Walter that frequently? > > Both of you do periodically say something about what the other has done in > the > past, but I don't get the impression that you're ever explicitly trying to > make > the other person look good or "advertise" them. Others may see it > differently > though. > > And while in many ways, Modern C++ was a game-changer, I've never worked > with > anyone who really uses the stuff it talks about. In my experience with C++ > code > in production code, templates get used when they're necessary but that > they're > generally avoided. Of course, given how bad some of the code I've seen is, > I > definitely don't _want_ a lot of the people who wrote it messing around > with > heavily-templated code, but regardless, as major as the ideas in Modern > C++ are, > I think that there are a lot of C++ programmers out who never use them. > They're > just too complicated for a lot of people. Hopefully D manages to make such > metaprogramming sane enough that your average D programmer won't freak out > about > template metaprogramming in the way many C++ programmers do. > > - Jonathan M Davis
