should i learn it first ?

Patrick netlangau at yahoo.com.au
Sun Mar 10 20:18:11 EST 2002


"Aahz Maruch" <aahz at panix.com> wrote in message
news:a6g7ra$lm6$1 at panix2.panix.com...
>
> But are there any tasks for which C++ (or C++/Python) is really better
> than C/Python?

One example is an extremely complex and long-running simulation in which the
time-critical components are a very substantial chunk of the project. In
those (rare) situations you need ruthless efficiency with slightly better
than rudimentary abstraction capabilities. C++ fits the bill, but only if
every processor cycle and every byte counts.

The vast majority of programmers will never go anywhere near a project like
that. Even "real programmers" very seldom do. And you can virtually
guarantee that if somebody is idiot enough to claim that knowing C++ is
either necessary or sufficient for being a real programmer, they will never
work on a project that actually needs C++.

Unless somebody has already spent years learning C++, I think they're much
better off using either (a) one vastly more powerful yet still reasonably
efficient language like Common Lisp, or (b) two lean and vicious languages
like C and Python - both small and simple, both perfectly suited to their
respective domains, and both complementary. Either way you end up with very
good performance and far less mental friction.

If the OP is still around, I'd recommend learning C and Python at this
stage. In spite of what your friends tell you, C++ is *not* a powerful
language in the sense that it has one of the worst power/complexity ratios
of any language in use today. Don't mistake effiency for power.

If two people of equal ability started programming today, one learning C and
Python, the other learning C++, I'd wager that the C/Python guy will be
running conceptual rings around the C++ guy 12 months from now. Power in a
language is all about being able to express your most complex thoughts with
as few arbitrary difficulties as possible. Some languages help. Some hinder.






More information about the Python-list mailing list