The Next Big Language

Paulo Pinto pjmlp at progtools.org
Wed Oct 20 03:57:16 PDT 2010


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" <jmdavisProg at gmx.com> wrote in message 
news:mailman.735.1287519617.858.digitalmars-d at puremagic.com...
> 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 




More information about the Digitalmars-d mailing list