C++ / Java / Python (was Status of C++)

Ken Seehof kens at sightreader.com
Fri Mar 3 13:02:47 EST 2000


C++ is still the language for serious development for one primary
reason: Momentum.

C++ is unique in that it is a mainstream OO language that refuses to
sacrifice any performance whatsoever to achieve it's OO goals.  As
a result, it is very difficult to use, even for experienced programmers.
Essentially C and C++ are portable assemblers with fancy syntax,
which is a very clever idea.  However, IMHO, it makes little sense
to write a large complex GUI based application in "assembly language"
(even if it it's what everyone else is doing).

When C++ was designed we were still writing applications in C and
dropping to assembly for high-speed inner loops and things not yet
supported by C.  Today, the best appoach to the vast majority of
programming projects is to write the application in python and drop
to C/C++ extensions to do high-speed operations and things not yet
supported by python.

For some reason compiled languages like C/C++ seem to have some
connotation of being inherently more real somehow.  I don't get it.

Before learning python, I did everything is C++ because it was IMHO
the best way to write C in an object-oriented fashion.  Now, with the
python/c approach, I don't have much use for C++ anymore because
usually the little bits of low-level functionality really don't benifit from OO
programming techniques, except in the way they are exposed to python.

dickjoe_nospam_ at mindspring.com wrote:

> You, dear Sir, are sadly misinformed.
>
> I (with others) have written an industrial-strength image server
> completely in (portable) C++. Multi-threaded, scalable, extensible.
> Runs under NT, Solaris, Linux.
> Our server (the released version) never crashes, and does not degrade.
> It is designed for use by large numbers of clients accessing
> large numbers of images. Our server handles huge datasets --
> e.g. random-access of images up to a 1,000,000 pixels squared.
> I have 15 yrs. exp. in C / C++. Some Forth, Lisp, Java, Python (and
> assember, ugh!)
>
> Java you say? I laugh in your face. C++ is one of the most sought-
> after skills for "serious" programming (see below).
> Don't assume that companies you speak to know what they are
> talking about. I do know there is a very high demand for C++.
> As far as Java, yes it is the "flavor of the week",
> but check out Python for something much superior,
> and much less hyped, and public domain too.
> However don't think of it as suitable for Application-level
> programming (there may be exceptions to this rule)
>
> C++ is pretty much the default choice for "serious" software, and
> in that I incude "system" and "application" programming.
> Anything that runs on a server should not use java.
>
> What language do you think is used to write some of the
> most complex systems around? The phone company needs switching
> software. Have you heard of ATT/Bell Labs? Have you heard
> of Bjarne Stroustrup? You may want to inform him that his skills
> are antiquated and he better brush up on his Java if he wants
> to be competitive in the industry, whatever industry it is you are
> referring to.
>
> I call the kind of programming you are referring to
> "client-side" or "applet" or "plugin" programming. Don't attempt to
> write e.g. PhotoShop in Java. Don't attempt to write a web server in
> java. Don't expect java to work well in next-gen architectures.
> C++ does not have these problems.
>
> Java is NOT an alternative to C++.
> Python IS an alternative to Java (except for lack of browser support)
> Lisp (its myriad flavors) has it adherents and there are lots
> of other languages as well that all have their advantages and
> drawbacks. I am not interested in language flame wars
> and I am always suspicious of the "over-sell" and the
> "marketing-driven" solutions, as well as anything which
> is not standardized and made public-domain.
> I do not like the idea of having to wait for Sun to fix (one of the
> many) fatal flaws, or to get around to writing a VM for a new
> platform. I have read that a port of the python system to a 64-bit
> architecture took a single afternoon.
> That is not to say that Java may not win out over Python and others,
> much like MS-DOS won out over CPM.
>
> If you want to program your palm pilot use Python, not Java (in my
> opinion). If you want to target serious "new" development become a C++
> whiz. Participate in free software projects. Get linux, apache, gcc,
> etc. Read code until the room swims. And yes, you may need to
> settle for less to get years of  "real-world" C++ experience before
> you can land the sweet "all-new, all-C++" projects.
>
> Good luck!
>
> On 22 Jan 2000 05:08:27 -0500, "Gaurav Sareen" <neerasg at hotmail.com>
> wrote:
>
> >I dont want to start a meaningless debate but want to simply know where C++
> >stands in the industry.
> >
> >As far as I am told, most companies are using Java for application level
> >programming while plain old C for system level programming; C++ is more or
> >less extinct. There is still some C++ work going on on old projects due to
> >inertia but very few people favor C++ for new work.
> >
> >What I am concerned with is that C++ would be relegated to the COBOL level,
> >with lot of maintenance, migration to do but with very little new
> >development. A programmer like me who is intermediate in C++ but zero in
> >Java can only hope to work on such maintenance etc.
> >
> >Here of course I am not interested in knowing whether C++ is better than
> >Java but whether I have at least equal career oppurtunity as any good Java
> >programmer or not.
> >
> >
> >      [ Send an empty e-mail to c++-help at netlab.cs.rpi.edu for info ]
> >      [ about comp.lang.c++.moderated. First time posters: do this! ]
> >






More information about the Python-list mailing list