 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
beta64@yahoo.com Guest
|
Posted: Fri Sep 05, 2003 5:58 pm Post subject: Re: Is C++ a dying tongue? |
|
|
[email]stlsoft (AT) hotmail (DOT) com[/email] (Matthew Wilson) wrote in message news:<5d33192c.0309040402.1409eaa7 (AT) posting (DOT) google.com>...
| Quote: | I may be writing this merely to get some of you good folks to share
you eye wool, but I'd welcome your thoughts. (I have several vested
interests in C++ being an viable and commercially significant
language, so help me out here )
A friend of mine - he shall remain nameless, though I will say he's
been around a long while, is in at least 3 languages, and works for a
huge, radiant, software company - recently expressed the following
opinion, as part of his campaign to persuade me that there're better
things to be writing about than C++. I'd love to be comforted by
erudite counter argument.
"
Matthew
Languages need reasons to be (commercially) successful.
There are lots of languages and yet most of them are not widely used
or
accepted even when they are clearly more applicable to the problem at
hand.
I've seen people writing AI systems in C rather than use LISP or
Prolog
because "C is our standard and Prolog is for weirdoes (that's
practically
a quote.).
For me, it all comes down to sponsors. Languages need sponsors. They
must
be programmers (i.e. peer sponsorship) or commercial organisations
(i.e. financial sponsorship).
Microsoft used to sponsor C++, but now they prefer C# (i.e. their
version of
Java). They also sponsor VB.
Sun never liked C++ for many reasons. Sun sponsors Java and C.
No-one apart from IBM ever liked SmallTalk and IBM only half-liked it.
IBM
advocate Java.
Amateur programmers (most programmers) like easy to program, powerful
languages with high level abstractions They advocate Python, Perl,
Ruby.
C++ is too complicated for 99% (if not more) of all programmers. If
less
than 1% of programmers can program good C++, then by definition there
is
no peer sponsorship. There is no financial sponsorship without MS, so
who's
going to look after C++?
[snip] |
I've heard that c++ is dying ever since Java came out as the new up
and coming language. The thing to remember is that every language has
its purpose and use; No one language will solve all your problems.
Your friend lost his credibility when he pulled numbers out of thin
air to support his argument. This suggests to me that he doesn't know
what he's talking about, but simply repeats what he's heard without
any basis in fact.
A quick look on freshmeat.net will give you a more reliable sense of
the community of languages. Now this doesn't address the commercial
viability of any language but I believe it does give a good sense of
its community. Now I believe that community influences the commercial
viability of a language but I have no facts to support that.
Language Projects Percentage
Ada 38 0.20%
APL 3 0.02%
ASP 25 0.13%
Assembly 170 0.89%
Awk 40 0.21%
Basic 15 0.08%
C 5447 28.55%
C# 41 0.21%
C++ 2443 12.80%
Cold Fusion 10 0.05%
Common Lisp 27 0.14%
Delphi 49 0.26%
Dylan 2 0.01%
Eiffel 20 0.10%
Emacs-Lisp 33 0.17%
Erlang 11 0.06%
Euler 1 0.01%
Euphoria 2 0.01%
Forth 15 0.08%
Fortran 45 0.24%
Haskell 28 0.15%
Java 2332 12.22%
JavaScript 236 1.24%
Lisp 64 0.34%
Logo 2 0.01%
ML 26 0.14%
Modula 7 0.04%
Object Pascal 9 0.05%
Objective C 131 0.69%
Ocaml 20 0.10%
Other 160 0.84%
Other Scripting Engines 82 0.43%
Pascal 38 0.20%
Perl 2752 14.42%
PHP 2020 10.59%
Pike 3 0.02%
PL/SQL 58 0.30%
Pliant 1 0.01%
PROGRESS 2 0.01%
Prolog 8 0.04%
Python 1171 6.14%
Rexx 7 0.04%
Ruby 127 0.67%
Scheme 76 0.40%
Simula 1 0.01%
Smalltalk 20 0.10%
SQL 294 1.54%
Tcl 356 1.87%
Unix Shell 550 2.88%
Visual Basic 15 0.08%
Xbasic 1 0.01%
YACC 11 0.06%
Zope 34 0.18%
Total Projects: 19079
With just a quick glance, we see that C++ has about 12.8% of the
freshmeat community; far above that 1% your friend sited and still
slightly ahead of Java's 12.22%. My instinct tells me that C++ is here
to stay even if there are those who don't want it to survive or think
that it will not survive. Now what really surprises me is that C is
still twice as popular as C++; who knew? I expected C++ to be just as
popular as C if not a little more popular.
Just as a disclaimer, I don't count on one site to be very accurate
and I don't think these numbers are set in stone. This just gives you
an idea of what to expect. It's also pretty consistent with numbers
that I got off of dice when I used to mine that site for job
availability vs. language.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
coder_1024 Guest
|
Posted: Fri Sep 05, 2003 9:35 pm Post subject: Re: Is C++ a dying tongue? |
|
|
the latest (October '03) issue of Dr. Dobb's Journal (www.ddj.com) has
an article which presents relative popularity of programming
languages, using web-based job offers as the input ("Quantifying
Popular Programming Languages", Thomas Plum) over the last year.
Granted, this is only one measure, however, the results were
interesting. C++ took the lead and actually increased over this past
year. Java and C were close behind.
The table from the article is shown below. The numbers are
percentages.
Month C++ Java C C/C++ J*Script C# .Net Cobol Pascal Fortran Ada RPG
VBasic VBasic.NET
2002-07 52.8 40.9 33.6 21.8 8.0 2.3 13.3 5.4 0.2 0.7 5.6 2.1 18.1 3.2
2002-08 50.3 44.1 42.6 25.9 10.6 3.0 13.2 5.1 0.2 0.8 4.1 2.1 21.3 4.0
2002-09 50.2 43.4 40.6 26.1 8.6 3.2 15.4 5.3 0.2 1.3 5.2 2.3 20.5 4.4
2002-10 46.3 43.2 35.0 22.8 11.5 4.9 17.1 6.9 0.3 1.2 6.1 2.8 22.6 5.0
2002-11 47.2 44.2 37.7 25.1 10.5 4.9 17.5 5.1 0.3 1.4 4.6 2.0 19.0 4.8
2002-12 47.2 45.6 35.5 23.9 9.1 6.0 18.5 5.8 0.4 1.2 4.7 1.7 21.7 6.2
2003-01 49.2 43.6 36.1 26.6 10.0 6.2 19.0 3.7 0.3 1.4 5.7 1.2 17.9 5.9
2003-02 52.2 41.5 42.2 31.3 9.1 6.4 17.2 3.7 0.2 1.5 6.0 0.6 16.8 5.2
2003-03 50.3 39.7 40.5 28.2 8.9 6.9 17.9 4.1 0.1 0.9 4.6 0.8 18.5 6.3
2003-04 47.4 41.0 39.9 26.4 8.4 6.3 16.8 3.9 0.2 1.1 4.9 0.8 18.5 6.3
2003-05 57.2 39.8 40.6 30.3 9.2 6.0 15.5 2.3 0.2 1.0 8.8 0.7 18.4 6.7
2003-06 55.5 42.3 43.0 31.2 9.6 5.8 15.2 2.6 0.2 1.1 7.1 1.2 17.5 6.3
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Early Ehlinger Guest
|
Posted: Fri Sep 05, 2003 10:17 pm Post subject: Re: Is C++ a dying tongue? |
|
|
"Matthew Wilson" <stlsoft (AT) hotmail (DOT) com> wrote (that a colleague wrote):
| Quote: | For me, it all comes down to sponsors. Languages need sponsors. They
must be programmers (i.e. peer sponsorship) or commercial organisations
(i.e. financial sponsorship).
|
No - it all comes down to use. Languages must be used to survive. C++ is in
widespread use, ergo it will continue to survive. Will that change at some
point? Probably. But I don't see it right now.
| Quote: | C++ is too complicated for 99% (if not more) of all programmers. If
less than 1% of programmers can program good C++, then by definition there
is no peer sponsorship.
|
This is far from true. Certain aspects of C++ are difficult to grasp, but
that could have something to do with the fact that it allows everything from
low-level, close-to-the-hardware code all the way up to extremely complex
application-layer constructs.
| Quote: | There is no financial sponsorship without MS, so
who's going to look after C++?
|
MS does indeed financially sponsor VC++. VC7 is supposedly way closer to
being a Standards-compliant compiler than its predecessor; I haven't bought
it yet (I'm using Borland C++ Builder and GCC these days), but it seems to
get good reviews from the community. Sure, MS is pushing C# too, but they've
got plenty enough money to push both.
And there are plenty of tools vendors aside from MS that provide financial
sponsorship to C++. Borland springs to mind. Comeau. Gnu.
| Quote: | What happends to languages which aren't sponsored? They become niche
languages, used by academics or commercially in certain specialist
areas:
Here's a far from comprehensive list:
Prolog - Academics only
Lisp - Emacs programmers and academics
Fortran - Scientists and academic scientists
Tcl/Tk - ?
Objective-C - ?
Eiffel - ?
ML - Academics
Scheme - Academics
SmallTalk - Acadmics
Pascal/Delphi - older home hobbysists
Basic - entry level commercial programmers
Cobol - entry level maintenance/commercial programmers
...
(? means I have no idea who uses these languages.)
|
I believe your list is defficient in a few of ways:
Lisp: Primary macro language for AutoCAD.
Pascal/Delphi: The notion that this is only used by "older" home hobbyists
is silly. Delphi is in widespread use in industry, especially by consultant
types who have found that the productivity gains offered by Delphi make it a
perfect way to complete projects more swiftly.
Cobol: Entry Level? Most of the Cobol programmers I have talked to were
anything but entry level.
| Quote: | It's my opinion that C++ is joining this list. It no longer has a
reason to escape the pull of obscurity. It has no financial
sponsorship and it's peer sponsorship is diminishing. I'm not
sure what it's niche will be, but it's dying.
|
What would make you think that it's got no financial sponsorship? Every
major player in the software tools market provides a C++ compiler. Every
major OS supports C++ to some degree, if not fully. Several even use C++
internally.
As for peer sponsorship, I'm not sure I understand where this notion comes
from either - the c++ newsgroups are some of the most active that I
participate in.
--
-- Early Ehlinger CEO, ResPower Inc - Toll-Free : 866-737-7697
-- www.respower.com -- 500+ GHz Supercomputer Starting At USD$0.50/GHz*Hour
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
llewelly Guest
|
Posted: Sat Sep 06, 2003 8:57 am Post subject: Re: Is C++ a dying tongue? |
|
|
[email]stlsoft (AT) hotmail (DOT) com[/email] (Matthew Wilson) writes:
[snip]
[This is the writing of Matthew Wilson's unnamed friend:]
| Quote: | Languages need reasons to be (commercially) successful.
|
[snip]
| Quote: | For me, it all comes down to sponsors. Languages need sponsors. They
must be programmers (i.e. peer sponsorship) or commercial
organisations (i.e. financial sponsorship).
|
[snip]
| Quote: | Amateur programmers (most programmers) like easy to program, powerful
languages with high level abstractions They advocate Python, Perl,
Ruby.
|
[snip]
| Quote: | What happends to languages which aren't sponsored? They become niche
languages, used by academics or commercially in certain specialist
areas:
|
[list of reputed little-used languages snipped.]
| Quote: | It's my opinion that C++ is joining this list. It no longer has a
reason to escape the pull of obscurity. It has no financial
sponsorship and it's peer sponsorship is diminishing. I'm not sure
what it's niche will be, but it's dying. I have no axe to grind. My
favourite language is Lisp, it's what I learned (well) first and it
is suitable for many problems. However, I realise that it has no
sponsors and so I work with what I have (i.e. Java/C/Python/Ruby).
I think that this will be the case for C++ programmers. Move on and
remember what you learned.
[snip] |
This argument reaches an amusing conclusion: ' Languages need sponsors,
so I think you should stop sponsoring C++ '. If your friend
convinces you to stop sponsoring C++, by his own logic, you and he
have done something to move C++ closer to succumbing to 'the pull
of obscurity' . Is that his goal? Perhaps this is an unjustified knee-jerk
reaction to language wars on my part, but I think when an
advocator of language X tells a an advocator of language Y to
'switch sides' he does so with the hope and intent that language X
will 'no longer have a reason to escape the pull of obscurity',
and not because of any genuine deficiency in the language or the
language's community.
IOWs, if C++ needs sponsors (and I agree that it does) and you find
C++ useful and enjoyable, then by all means, stay with it. C++
will not 'succumb to the pull of obscurity' unless people like
your friend convince a *lot* of people like you to stop advocating
it.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Glen Low Guest
|
Posted: Sat Sep 06, 2003 9:21 am Post subject: Re: Is C++ a dying tongue? |
|
|
| Quote: | Microsoft used to sponsor C++, but now they prefer C# (i.e. their
version of
Java). They also sponsor VB.
|
I had my suspicions in this regard, but the facts bear themselves out.
Microsoft is pushing full Standard C++ compliance with VC7, and even
hired Herb Sutter, the "guru" hisself! If they were content to let C++
stagnate, or remain in its "system glue" niche, why bother? More
likely Microsoft knows there is a strong C++ (and Visual C++)
constituency and wants to um, embrace it. I see Microsoft's Managed
C++ a parallel strategy to Apple's Objective-C++, where you need to
build bridges to important code.
| Quote: | What happends to languages which aren't sponsored? They become niche
languages, used by academics or commercially in certain specialist
areas:
|
Languages will always have things they are good at, and things they
are not. Evidence of a niche for a language doesn't mean (1) that
significant numbers of programmers outside the niche don't use it, or
(2) that significant number of programmers in other languages don't
also occupy that niche.
For example, Basic (esp. Visual Basic) is far from dead or niche. I
found more firms here in Perth asking for VB.NET programmers than C#
programmers, though I far prefer the latter. And people often use Java
as an "entry level commercial programmer".
Try doing a search for particular languages on google. I had a partial
list in the library thread in this newsgroup, but I forgot to add
Java:
Java -- 50.4 million (but may include the island or the coffee)
C++ -- 12.1 million
Visual Basic / VB -- 4.8 million
C# -- 3.3 million
Cheers,
Glen Low, Pixelglow Software
www.pixelglow.com
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Jason Carucci Guest
|
Posted: Sat Sep 06, 2003 9:22 am Post subject: Re: Is C++ a dying tongue? |
|
|
I have to disagree with this. Microsoft still USES C++ to write their
own applications, such as Visual C++, Word, Excel, etc. They might
push C# for other developers, but internally C++ is still very much
alive in Microsoft.
Jason
[email]stlsoft (AT) hotmail (DOT) com[/email] (Matthew Wilson) wrote in message news:<5d33192c.0309040402.1409eaa7 (AT) posting (DOT) google.com>...
| Quote: |
Microsoft used to sponsor C++, but now they prefer C# (i.e. their
version of
Java). They also sponsor VB.
|
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Greg P. Guest
|
Posted: Sat Sep 06, 2003 12:40 pm Post subject: Re: Is C++ a dying tongue? |
|
|
"Matthew Wilson" <stlsoft (AT) hotmail (DOT) com> wrote
| Quote: | I may be writing this merely to get some of you good folks to share
you eye wool, but I'd welcome your thoughts. (I have several vested
interests in C++ being an viable and commercially significant
language, so help me out here )
snip |
You've spilled the gasoline, but I'll try not to light my cigarette near it
=)
The list you quoted will eventually contain C and C++, but most likely not
in the same likeness that the others provide.
My billions of possible remarks to this simple question can be summarized:
1) What high-level language has been around as long as C (including C++)
[this obviously discounts asm]?
2) The majority of commercial applications (and OS utilities, etc) have all
been developed with a flavor of the C family, and thus shall continue (see 3
below). If I was to find out that Photoshop was (which isn't) created in
Visual Basic or Delphi (obj pascal), I would indeed abandon it due to
personal standards that I apply to all professional products.
3) What else, besides C and C++, has caused such an explosion (over many
years) of such "robust" (no pun =P) collection of libraries, 3rd party
utilities, extensions, IDE's, etc.?
4) If you or your nameless friend presume that C++ is indeed dying out, then
what is its successor? C#? Java? Bullshit! Even if some idiotic committee or
group decided to provide a *nix platform for something like C# ,it would be
laughed at for a long, long time until as much effort as that which was put
into C and C++ (in terms of libraries, groups, forums, conventions) was put
into it. IMO, this solely applies to conglomerate capitalist money pits like
Microsoft. This argument could flip a 180 if some new (cross platform) language was
open to the public....like say D.
Of course I may be old fashioned (even for my extremely young age) by
sticking to conventionalism. I still have not, will not, shall not, care not
to, detest and prohibit myself from being sucked into the void contingent
"net" of .NET unless an employer strictly demands that such a framework is
necessary (after a few rebuttals by yours truly).
But to be fair, most old C farts probably frowned when C++ showed face (as
well as when C did for the punch-card-laden developers). When the discussion
of the D language became widespread (amongst the underworld of
coffee-chugging, cig-smoking, sweaty-browed underground of nerds), I also
laughed at such a notion. I was premature in my thoughts, however, as once I
read up on the D language I became a bit...well...impressed. My reason for
initial acceptance was not based on the language itself, but from the idea
of derivation from C++.
I do know more languages than C, C++, Java, etc. but I do not like to admit
it (from personal embarrassment, regardless of whether the receiver is
acceptant or not). I also concede my ignorance in shutting my eyes, ears,
and brain to ideas regarding prototype language (C# for example [I don't
care what its status currently is, until it's as widespread as C or C++,
it's a prototype to me]).
I am also sure that 98% of what I state above is going to cause some type
(either by thought or written word) contradiction by my "superiors".
Opinions are like assholes, everyone's got one, especially me when it comes
to this basic discussion regarding the old (and many-times posted question)
asking whether death's knocking on C++'s door. No!
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Attila Feher Guest
|
Posted: Sat Sep 06, 2003 12:42 pm Post subject: Re: Is C++ a dying tongue? |
|
|
Matthew Wilson wrote:
| Quote: | I may be writing this merely to get some of you good folks to share
you eye wool, but I'd welcome your thoughts. (I have several vested
interests in C++ being an viable and commercially significant
language, so help me out here )
A friend of mine - he shall remain nameless, though I will say he's
been around a long while, is in at least 3 languages, and works for a
huge, radiant, software company - recently expressed the following
opinion, as part of his campaign to persuade me that there're better
things to be writing about than C++. I'd love to be comforted by
erudite counter argument.
|
As reading his thoughts I would say that he has fallen to the trap of not
seeing the difference between a conception and a preconception. The word
may suggest that preconception is preexistent to conception but the opposite
is true: with preconceptions one will never learn enough (he already
"knows") to build a real picture.
| Quote: | "
Matthew
Languages need reasons to be (commercially) successful.
|
According to this statement C++ is an exception. When it was becoming
commercially successful (people decided to use it, make compilers, IDEs
etc.) there was none of the reasons present he is talking about.
| Quote: | There are lots of languages and yet most of
them are not widely used or accepted even
when they are clearly more applicable to
the problem at hand.
|
That is usually the caused by one of teo thing (and often both):
- the language represents a so fundamentally different viewpoint to
programming that people are just not comfortable with it or they have hard
time to understand it or to adapt to it
- the language designers have forgotten to think about the current
infrastructure of the computing world and their "gem" is just sitting as
separate island in the current technology (eg: no support for embedding C or
linking in C).
The 3rd and also major mistake is when a language tries to replace another
one but does not offer enough. (Or due to cause 1 people just don't get
it.)
Why did not C++ replace C? While C++ is successful, it did not replace C -
people would think that it is an inevitable step. So why didn't it happen?
Rule #1 and #2 and #3 was all violated, but only a little bit. C++ does
need completely different mindset then C. It "forgot" that long standing,
well supported, living etc. operating systems are all written in C and C++
with some features rendered itself to "be something working above something
written in C" (like exceptions, which are not supported by C OS libraries).
About the third rule. C++ did offer enough to consider it, but... It
became standardized nearly 10 years after C. At that time there was already
an enormous amount of C code. It became quite complex compared to C. Also
(I might be wrong here) most of the C coding today (IMHO) is either
maintainance or extending an existing code base, possibly writing the same
stuff over and over again (porting some very low level code in embedded
systems).
| Quote: | I've seen people writing AI systems in C rather
than use LISP or Prolog because "C is our
standard and Prolog is for weirdoes (that's
practically a quote.).
|
Well, another preconception. But IIRC all the Prolog implementations I have
seen (I did not see too many and probably not the best ones) failed in both
of the above criterias.
| Quote: | For me, it all comes down to sponsors.
|
I believe your friend overestimates corporate influence.
For me it all comes down to applicability. If I have to do a job under time
pressure I am not looking for the greatest tool made for that purpose - if
it would take several months just to understand the basics of it. Of course
when I did need to make log file analysis I did learn Perl. In about 2 days
I knew enough to make powerful things. Languages like this (Python etc.)
are spreading.
| Quote: | Languages need sponsors.
|
Languages need to *make* sponsors by proving their power. (Put .com scams
aside)
| Quote: | They must be programmers (i.e. peer sponsorship)
or commercial organisations (i.e. financial sponsorship).
|
It needs Universities (schools) making people understand the language and it
needs enough commercial value (power as a tool) to make commercial
organizations decide to use/make it.
| Quote: | Microsoft used to sponsor C++,
but now they prefer C# (i.e. their
version of Java).
They also sponsor VB.
|
I see. Your friend might want to tell them that they only *used to* sponsor
C++. Not all of them knows it. For example they have mistakenly hosted the
2001 autumn joint ISO/ANSI C++ meeting, they are working (with full power)
to make their C++ compiler fully standard compliant, the convenor of the C++
standard workgroup is a Microsoft employee, Microsoft invests a lot of
effort (and therefore money) to make their next C++ compiler incredibly
powerful in optimizations... they (afetr years) very actively participate in
the standardization process etc.
Many other commerical organizations present at the standard meetings are not
only there but they took the burden of fixing the current language standard
(loads of work!), starting to create a new one by adding features to the
language (well, to the standard library). If all these organizations would
just abandon C++ what do you think, who would sit at the standards meetings?
Noone! And that is not the case.
| Quote: | Sun never liked C++ for many reasons. Sun sponsors Java and C.
|
Still Suns C++ compiler is reasonably good compared to some others. This
means they indeed *did* (and do) invest in their C++ compiler technology.
| Quote: | No-one apart from IBM ever liked SmallTalk
and IBM only half-liked it. IBM
advocate Java.
|
And Linux. And IBM has The Other (TM) callcontroller implementation, AFAIK
written in C++.
| Quote: | Amateur programmers (most programmers)
like easy to program, powerful
languages with high level abstractions
They advocate Python, Perl, Ruby.
|
Each language has its own place.
| Quote: | C++ is too complicated for 99%
(if not more) of all programmers.
|
This is simply not true. Tell your friend that it seems that not only it is
true that what you give to the world is what you get back, but also that you
try to apply to the world what you are. The fact that he does not
understand C++ (or want to) does not mean others cannot. Here were I work
we had to take over people who have never used C++ but were very good
programmers. They had few lessons and the Accelerated C++ book. After the
introduction into the language they (most of them) needed *less* than a
month to work on their own in C++. It took them more time to understand the
principles of the system than to be able to apply C++ to the part they
understood (and to realize when they had to ask for assistance - everyone
has that, even in Python).
| Quote: | If less than 1% of programmers can program good C++,
|
This statement is:
1.) not true
2.) a read herring
3.) undefined
What is good C++? Statements like this show very clearly if someone is
talking about something he does not know. What is it then? How Bjarne
Stroustrup would do it? How God (Allah, Jahve) would do it? How I would do
it? How Bill Gates would do it? How Andrew Koenig would do it? How Herb
Sutter would do it?
What is good program for that matter...?
A good program (be it in any language) has low coupling, high cohesion, it
is well tested (and prepared for testing), it does what it needs to do etc.
(Low coupling and high cohesion does result in low maintenance or
enhancement costs.)
Then again back to C++. What is good C++? Procedural? OO? Data
abstraction? Generic programming?
Many languages (cited by your friend) are building on the idea of: make the
programmer not need to know... Now that works in some cases. In some other
cases it will make the programmer not care to know and therefore not know
about the consequences of what they just asked from the programming
language. So this in itself might be questionable *but* let's not do it.
Let's just tell it so that in a systems programming language (such as C++)
you cannot have that. You cannot make systems programming by not knowing at
all what is going on.
| Quote: | then by definition there is no peer sponsorship.
|
Khm. What? Tell him to take his time and go to the bookstore. A good one.
There is one perfect in Portland Oregon. Let's browse through the available
C++ books. Beginner, advanced, programming theory with C++ examples
included etc. Let's just look at the sheer volume of posts in this
newsgroup, and add then to it the topical ones of clc++ and
alt.comp.lang.learn.c-c++. All those guys do not like C++, care about it or
know it at all? I doubt it very much. Of course it is possibel that only
20% (this is my guess) of the posters are really C++ experts... but let's
just stop the train for a moment. Do you *really* need a C++ guru to make
C++ projects? I highly doubt that.
| Quote: | There is no financial sponsorship without MS,
so who's going to look after C++?
|
That argument was already ruled out. MS is committed to support C++ *and*
when C++ was forming and gaining ground MS was not what it is today. And it
worked without them.
| Quote: | What happends to languages which aren't sponsored?
[SNIP] |
Irrelevant. C++ is not a language not sponsored (to use your friends
words). A non-sponsored language does not have lively debates, burning
mailing lists and newsgroups both on the public and the standard comitee
side.
| Quote: | Pascal/Delphi - older home hobbysists
|
What??? I saw (in Delphi) huge applications. Handling the administration
needs of a huge hospital-complex. Another one was handling a huge knowledge
base in Hungary, the KB was geographically distributed so you could also go
in from the map etc. Delphi is alive and well. And in commercial systems.
| Quote: | Basic - entry level commercial programmers
|
VBA is used by many many people to help to automatize their everyday tasks.
Do not udnerestimate that.
[SNIP]
| Quote: | It's my opinion that C++ is joining this list.
|
Tell him not to hold his breath.
| Quote: | It no longer has a reason to
escape the pull of obscurity.
|
I see absolutely no argument supporting this claim.
| Quote: | It has no financial sponsorship and
it's peer sponsorship is diminishing.
|
This is both false.
| Quote: | I'm not sure what it's niche will be,
but it's dying.
|
Is he a language bigott?
| Quote: | I have no axe to grind. My favourite language is Lisp,
it's what I learned (well) first and it is suitable
for many problems.
|
Ahha. Try to make an operating system with it.
| Quote: | However, I realise that
it has no sponsors and so I work with what I have (i.e.
Java/C/Python/Ruby).
|
Java is the first. As I suspected. Unfortunately Java
advocates/evangelists put too much effort into black-marketing for C++. So
much they have finally believed it themselves.
| Quote: | I think that this will be the case for C++ programmers.
Move on and remember what you learned.
|
Unfortunately your friend is absolutely unaware of what C++ is, what the C++
community is, what an internationally standardized language is, how many
projects go on in C++, how huge and active the C++ community is... He must
have read this whole thing in a Java Journal. ;-)
--
Attila aka WW
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
llewelly Guest
|
Posted: Sun Sep 07, 2003 7:52 am Post subject: Re: Is C++ a dying tongue? |
|
|
"Attila Feher" <attila.feher (AT) lmf (DOT) ericsson.se> writes:
[snip]
| Quote: | According to this statement C++ is an exception. When it was becoming
commercially successful (people decided to use it, make compilers, IDEs
etc.) there was none of the reasons present he is talking about.
|
I think that is only half true. From reading D&E, I gather during
its early years C++ had a strong and rapidly growing community -
what Mathew's friend calls 'peer sponsoship'.
I will agree that C++ had no 'financial sponsoship' until much later
in its life, and even then, many of the 'finanical sponsors' IMO
made strongly negative contributions to the quaility of education,
design ideas, availible C++ libraries, and C++
implementations. Further, the variance between the
implementations, and the non-port-friendly IDEs, libraries and
other tools, severely balkanized much of the C++ community. I
think much have that is being reversied right now, some of it
already largely reversed, but IMO it was *huge* problem all
throughoutt the 1990s, when most current programmer's attitudes
toward C++ were being formed.
[snip]
| Quote: | Why did not C++ replace C? While C++ is successful, it did not replace C -
people would think that it is an inevitable step. So why didn't it happen?
Rule #1 and #2 and #3 was all violated, but only a little bit. C++ does
need completely different mindset then C. It "forgot" that long standing,
well supported, living etc. operating systems are all written in C and C++
with some features rendered itself to "be something working above something
written in C" (like exceptions, which are not supported by C OS
libraries).
[snip] |
Good point. I think this is a fundamental reason why 28% of source
forge projects are in C. (I don't know how that is related to
non-source-forge projects, which may outnumber source-forge
projects. )
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
White Wolf Guest
|
Posted: Sun Sep 07, 2003 10:48 am Post subject: Re: Is C++ a dying tongue? |
|
|
llewelly wrote:
| Quote: | "Attila Feher" <attila.feher (AT) lmf (DOT) ericsson.se> writes:
[snip]
According to this statement C++ is an exception. When it was
becoming > commercially successful (people decided to use it, make
compilers, IDEs > etc.) there was none of the reasons present he is
talking about.
I think that is only half true. From reading D&E, I gather during
its early years C++ had a strong and rapidly growing community -
what Mathew's friend calls 'peer sponsoship'.
|
Yes. What was before: C++ growing (and reaching to those people who have
became the community) or suddenly there was a C++ community, and that is why
Stroustrup said to himself: well, isn't it silly to have a C++ community
without a C++. Let's make one.
There was first a language which *attracted* those people to use it. I do
not think atht AT&T has been paying them to start using C++ over C or
instead of SmallTalk etc. They decided to use it, because they have found
it more useful.
--
WW aka Attila
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Glen Low Guest
|
Posted: Mon Sep 08, 2003 6:23 am Post subject: Re: Is C++ a dying tongue? |
|
|
| Quote: | Why did not C++ replace C? While C++ is successful, it did not replace C -
people would think that it is an inevitable step. So why didn't it happen?
Rule #1 and #2 and #3 was all violated, but only a little bit. C++ does
need completely different mindset then C. It "forgot" that long standing,
well supported, living etc. operating systems are all written in C and C++
with some features rendered itself to "be something working above something
written in C" (like exceptions, which are not supported by C OS libraries).
About the third rule. C++ did offer enough to consider it, but... It
became standardized nearly 10 years after C. At that time there was already
an enormous amount of C code. It became quite complex compared to C. Also
(I might be wrong here) most of the C coding today (IMHO) is either
maintainance or extending an existing code base, possibly writing the same
stuff over and over again (porting some very low level code in embedded
systems).
|
I thought Bjarne conceived of C++ as just a little beyond C (hence the
++). There is evidence in the whole design of the language for that:
(1) C++ is almost a superset of C -- to the extent that it is not
fully type-safe because of its C heritage, (2) minimal number of new
keywords, (3) extern "C" declarations etc. etc. You could program in
C++ and use the subset that is C and never touch objects or templates
or exceptions, and gradually bring in some of these things when you're
ready.
In fact the same process is happening to C++. Microsoft Managed C++
and Apple's Objective-C++ try to minimally enhance C++ to support
their frameworks/languages.
Cheers,
Glen Low, Pixelglow Software
www.pixelglow.com
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Dave Harris Guest
|
Posted: Mon Sep 08, 2003 6:26 am Post subject: Re: Is C++ a dying tongue? |
|
|
[email]stlsoft (AT) hotmail (DOT) com[/email] (Matthew Wilson) wrote (abridged):
| Quote: | [quoting a friend]
For me, it all comes down to sponsors. Languages need sponsors.
They must be programmers (i.e. peer sponsorship) or commercial
organisations (i.e. financial sponsorship).
|
Even if your friend is right, it will take a long time for C++ to
die simply because the installed base is so large, and because of
the cost of porting existing code.
| Quote: | What happends to languages which aren't sponsored? They become
niche languages, used by academics or commercially in certain
specialist areas:
[...]
SmallTalk - Acadmics
|
I'm going to pick on Smalltalk because it's one I happen to know
about.
Smalltalk has what I think your friend calls peer sponsorship. There
are quite a large number of active Smalltalk vendors, but they are
in the business to exploit a grass-roots programmer's desire for
Smalltalk. For example, Object-Arts. They started about 8 years ago
and produce new releases every year or so. The most recent was April
of this year and another is expected soon. They are not a charity,
not doing it as a loss-leader for some more strategic product, nor
for academic reasons. Other important new(ish) implementations are
Squeak, which is free, and S#, which is an innovative commercial
dialect partly aimed at .NET.
The Smalltalk community is vibrant; it is where "Extreme
Programming" (XP) and the "Refactoring Browser" originated. XP
was not an academic project; it came from Daimler Chrysler's payroll.
I don't think the community or language can be described as
"specialist". Users don't have all that much in common with each
other.
Smalltalk has been going since the 1970s and got its ANSI standard in
1998.
The number of Smalltalk users is obviously much smaller than for C++.
However, it isn't a dead or dying language. It's stable, self-
sustaining and probably growing in absolute terms.
| Quote: | C++ is too complicated for 99% (if not more) of all programmers.
|
Agreed. I don't think C++ has grass-roots support in the same way
that Smalltalk has. Indeed, I wonder if many users feel trapped by
it. I would love to switch to something better. I don't because many
of the things which claim to be better really aren't, because I
can't afford to port my existing code, and because I believe I need
wide industry support eg from operating system vendors like
Microsoft. That last is a Catch-22 - I daresay Microsoft would like
drop C++ but can't because they need the C++ programmers.
I see this situation continuing indefinitely. It's very hard for a
new language to get established now. I think D, for example, will
at best succeed only in fragmenting the potential market even
further, making it harder for all the others.
-- Dave Harris, Nottingham, UK
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Dietmar Kuehl Guest
|
Posted: Tue Sep 09, 2003 12:24 pm Post subject: Re: Is C++ a dying tongue? |
|
|
[email]glenlow (AT) pixelglow (DOT) com[/email] (Glen Low) wrote:
| Quote: | In fact the same process is happening to C++. Microsoft Managed C++
and Apple's Objective-C++ try to minimally enhance C++ to support
their frameworks/languages.
|
I don't know for Objective-C++ but I know for Managed C++: this is not at all
something like "enhanced C++"! Managed C++ refers to C# using C++ notation.
A few of the implications of just staying within Managed C++ are
- a rather different object model
- no templates at all
- no access to the standard C++ library (which is, of course, partially an
implication of having no templates; however, the real reason is clearly a
very different one)
While C++ is indeed mostly an extension of C90 (although not every C program
is a valid C++ program) this cannot be said about Managed C++ with respect
to C++. I'd consider Managed C++ to be more an approach to integrate existing
software into a new platform: where the Java platform used JNI (Java Native
Interface), the .Net platform uses Managed C++ to access components implemented
using a different mechanism. Implying that Managed C++ is in some sense more
than C++ is plain misleading: it is not. It is something quite different.
--
<mailto:dietmar_kuehl (AT) yahoo (DOT) com> <http://www.dietmar-kuehl.de/>
Phaidros eaSE - Easy Software Engineering: <http://www.phaidros.com/>
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Glen Low Guest
|
Posted: Wed Sep 10, 2003 8:28 am Post subject: Re: Is C++ a dying tongue? |
|
|
| Quote: | While C++ is indeed mostly an extension of C90 (although not every C program
is a valid C++ program) this cannot be said about Managed C++ with respect
to C++. I'd consider Managed C++ to be more an approach to integrate existing
software into a new platform: where the Java platform used JNI (Java Native
Interface), the .Net platform uses Managed C++ to access components implemented
using a different mechanism. Implying that Managed C++ is in some sense more
than C++ is plain misleading: it is not. It is something quite different.
|
What I meant by extension is that a program written in the old
language can be compiled mostly intact in the new language. This is
true of C -> C++ and also true of C++ -> Managed C++ and C++ ->
Objective-C++.
If however you adopt some of the features of the new language, you
don't get full cross-compatibility. For example, C++ templates. In
Managed C++, templates are not managed themselves, but they can be
instantiated for managed types. In Objective-C++, template parameters
cannot be used as Objective-C selectors.
Managed C++:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcManagedExtensionsSpec_Start.asp
Objective-C++:
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/3objc_language_overview/chapter_3_section_9.html
C# has its own JNI-type interface and low-level memory and Win32
access through "unsafe code". But that language is quite different
from Managed C++.
I personally found Managed C++ a pain to use because of the
non-standard keywords, and the clumsy integration with .NET. But I
could compile the entire C source of zlib into MSIL, and even wrote
wrappers in Managed C++ so that .NET clients could use it.
Cheers,
Glen Low, Pixelglow Software
www.pixelglow.com
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Nemanja Trifunovic Guest
|
Posted: Wed Sep 10, 2003 7:50 pm Post subject: Re: Is C++ a dying tongue? |
|
|
| Quote: | I don't know for Objective-C++ but I know for Managed C++: this is not at all
something like "enhanced C++"! Managed C++ refers to C# using C++ notation.
|
That is incorrect. The only similarity between Managed C++ and C# is
that they both compile to IL and can work with .NET framework. C#
looks much more like Java.
| Quote: | A few of the implications of just staying within Managed C++ are
- a rather different object model
- no templates at all
- no access to the standard C++ library (which is, of course, partially an
implication of having no templates; however, the real reason is clearly a
very different one)
|
This is also incorrect. You can use templates, multiple inheritance
and other language features, as well as the standard library.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|