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