IMHO one should not try to find a PL that is easy, what a programmer needs is a language that makes things easier. If you dive into high performance/flexible/efficient/platform specific... coding nothing will be easy anyway.

What makes a language easy/hard is mostly the crucial things it can do, just think about C, it has a syntax not hard to learn and keywords not that many, but not many people i know can say C is easier than others.

D does a great job on templates and makes them so easy, wouldn't even compare to other languages with template support.

On Wed, 20 Oct 2010 13:57:16 +0300, Paulo Pinto <pj...@progtools.org> wrote:

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" <jmdavisp...@gmx.com> wrote in message
news:mailman.735.1287519617.858.digitalmar...@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




--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Reply via email to