473,461 Members | 1,827 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

C++... is it dying?

This is a recurring and entrenched permeating this group... hence
treat it as such

I have recently started a new job, and to my surprise, we still write
a fairly traditional c++ code, still using raw pointers, and still in
market with our products.
How popular is this scenario?
What's the future for C++, other than ceasing years of
maintainance ?

Will new standardization create new markets for c++ developers and
applications, will it expand the application domain?

These are broad questions, seeking some reassurance, hope... well,
perhaps not so dramatic, but am genuinely curious what other think
about.
PuzzleCrakcer!
Jul 20 '08
71 3320
ia******@hotmail.com wrote:
Daniel T." <danie...@earthlink.netwrote:
Juha Nieminen <nos...@thanks.invalidwrote:orks?
Why shouldn't a new C++ engine, framework or library use the STL?
Why build a new one when we already have one that works quite well, and
has already been ported to five different architectures? Why would
someone start a new project from scratch and not take advantage of any
of the libraries in existence (many of which *don't* use the STL because
they are older than the STL?)
Why use electricity when we have gas lamps?
It's more like "why use someone else's electricity when I have my own
power plant?" There is a cost to switching, and the reward has to
justify the cost. If there was some huge reward for using the STL over
the proven libraries we already have, I could see doing it.
What happens when you have to use a new compiler or platform where
your libraries don't build? If you use the standard libraries,
porting is someone else's problem.
That's not an issue, our libraries are built using standard C++. If the
compiler vendor can't implement new, pointers and v-tables, I don't
think I would trust his libraries.
Why use STL constructs when a majority of the programmers in the
software house don't know them? Talk about maintenance nightmare!

Time to book some training. It sounds like your staff are going
stales.
So now you are suggesting that I stop a productive company in the middle
of several projects to train people how to do... What exactly? Use a
library that implements a bunch of stuff we already have implemented?
Why would I do that?

The STL is nice, but it came too late for my company. By the time
reliable implementations existed, we already had our own code written
and deployed in several products.

Now a "new version" of C++ is coming out. Once again full of solutions
to problems we have already solved...

I'm sorry to sound so negative. I tried years ago to push my company
into using more of the standard library, but I still can't answer the
simple question... "Why switch?"
Jul 22 '08 #51
Sam
Robbie Hatley writes:
>
"puzzlecracker" blew my mind thusly:
>The only practical use of STL to this day is to code
solutions in programming challangies (TopCoder, ACM,
etc).

Hardly. Only people who have never tried STL talk like
that.

At my last job, our primary software product contained
maps of structs which contained deques of structs. Try
implimenting THAT with C-style C++! You could do it,
but it would take you a very long time, and you'd end
up just reimplimenting the STL, badly. Complete waste
of time! It's already written. Why not just use it?
Developers who do not understand STL are doomed to reinvent it.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAkiFMncACgkQx9p3GYHlUOKH+wCdHFhoFMnqle c61vcxA4Pym7ta
opAAn3IzjTCLEIvgA2qWc8fuO/TaeZu8
=d3FV
-----END PGP SIGNATURE-----

Jul 22 '08 #52
On Jul 22, 12:32 pm, "Daniel T." <danie...@earthlink.netwrote:
ian-n...@hotmail.com wrote:
Time to book some training. It sounds like your staff are going
stales.

So now you are suggesting that I stop a productive company in the middle
of several projects to train people how to do... What exactly? Use a
library that implements a bunch of stuff we already have implemented?
Why would I do that?
To be more productive? Unless you have implemeted your own version of
the complete standard library.

In my last job we spent quite a bit of time replacing (my) libraries
with the standard library, mainly help get new developers up to speed
faster. Mind you, I did make sure they knew their stuff before
employing them!

Ian.
Jul 22 '08 #53
What would comprise a good education for to be a good C++ developer,
especially for someone who has a passion for the language. Please
don't just list C++ books; there's more to programming than c++.
Rather something that goes well with C++, and of course C++ books,
technologies, applications, etc. I will think tonight about my
repertories.
Jul 22 '08 #54
On Jul 21, 1:36 am, puzzlecracker <ironsel2...@gmail.comwrote:
This is a recurring and entrenched permeating this group... hence
treat it as such

I have recently started a new job, and to my surprise, we still write
a fairly traditional c++ code, still using raw pointers, and still in
market with our products.

How popular is this scenario?

What's the future for C++, other than ceasing years of
maintainance ?

Will new standardization create new markets for c++ developers and
applications, will it expand the application domain?

These are broad questions, seeking some reassurance, hope... well,
perhaps not so dramatic, but am genuinely curious what other think
about.

PuzzleCrakcer!
C++ isn't dying. It's already a great language, and is evolving at a
slow but significant pace. Interestingly, the C++0x features will
help to address some of the complexity issues discussed in this
thread: for example, concepts - while making the language more complex
- allow cleaner demarcation and layering between libraries and users
with better diagnostics of usage violations. So, complexity of
language and complexity of typical usage shouldn't be confused.
Another example: lambdas might be confusing to implement, but the
concept is relatively simple (if abstract), and can massively simplify
and enable client code. It's a big mistake to think that the people
directing C++ evolution aren't smart enough to see through many of the
common usage issues and address them with surgical precision.

Also, C++ users are typically divided between those who're keen, able
and experienced users and those inexperienced or doing just enough to
get paid. Particularly in larger cities supporting both industries
that pay exceptionally well and critical masses of C++ developers,
both expectations and actual standards of use are often high. In less
"hot" locations, that critical mass may not be reached or sustained.
Individual developers may, however, still do excellent work on smaller
projects. Online forums like this, and open source projects, provide
a distributed development model where people can cooperate
irrespective of distance, and are important if you aspire to become an
expert but don't have other experts to mix with.

People like Walter with his D language have streaked off ahead to
explore some of the territory that I hope C++ grows into, hopefully
without becoming too eccentric. There is a lot of scope there,
particularly - in my mind - in the areas of introspection and a
guaranteed interpreter/virtual-machine, such that a future C++ may
allow freer mixing of compile-time and run-time techniques.

Tony
Jul 22 '08 #55
puzzlecracker wrote:
What would comprise a good education for to be a good C++ developer,
especially for someone who has a passion for the language. Please
don't just list C++ books; there's more to programming than c++.
Rather something that goes well with C++, and of course C++ books,
technologies, applications, etc. I will think tonight about my
repertories.
The best education is a balanced mix of book work and practical
experience. Work with good people and read all you can.

--
Ian Collins.
Jul 22 '08 #56
On Jul 21, 11:10*pm, rpbg...@yahoo.com (Roland Pibinger) wrote:
Moreover, you don't need user-defined allocators when the
library merely uses value semantics (values and copies of
values). *Even if there were a need for allocators they
wouldn't have to be template parameters.
Allocators are a misfeature. *, Stepanov introduced them to
support different pointer models (small, medium, large, etc.).
Why they lived on after this need died, I can't fathom myself.

AFAIK, allocators were not part of the original STL. According to this
paper Stroustrup introduced them into STL:www.research.att.com/~bs/DnE2005.pdf
STL allocators does not enable the user to associate a container
instance with specific memory-pool. As a matter of fact, multiple
instances of various STL containers would typically use the same
memory-storage (i.e., malloc/new). Performance benchmark shows that
pool-based containers may be more then twice faster then STL
containers, particularly in modern multi-threaded environments (see:
http://strinx.sourceforge.net/docs/strinx.html).

Nevertheless, the STL is a remarkable library, whose influence on the
world of software programming will last for many years, and should be
part of every C++ developer's toolbox.

S.

Jul 22 '08 #57
On 2008-07-22 11:53:56 -0400, shablool <ss****@gmail.comsaid:
On Jul 21, 11:10Â*pm, rpbg...@yahoo.com (Roland Pibinger) wrote:
>>>Moreover, you don't need user-defined allocators when the
library merely uses value semantics (values and copies of
values). Â*Even if there were a need for allocators they
wouldn't have to be template parameters.
>>Allocators are a misfeature. Â*, Stepanov introduced them to
support different pointer models (small, medium, large, etc.).
Why they lived on after this need died, I can't fathom myself.

AFAIK, allocators were not part of the original STL. According to this
paper Stroustrup introduced them into STL:www.research.att.com/~bs/DnE200
5.pdf
>>

STL allocators does not enable the user to associate a container
instance with specific memory-pool. As a matter of fact, multiple
instances of various STL containers would typically use the same
memory-storage (i.e., malloc/new).
First, let's be clear about the origin: they were, indeed, originally
used to mask the differences between different pointer types under
Windows, which had near (DS-relative) and far (absolute, loosely
speaking) pointers and references.

Second, the reason that STL allocators do not support specifying
per-container memory pools is only the design compromise that allows
but doesn't require containers to treat allocators of the same type as
equal. Several STL implementations don't rely on this assumption, and
you can, in fact, have per-instance allocators. This support will be
required in C++0x.

--
Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
Standard C++ Library Extensions: a Tutorial and Reference
(www.petebecker.com/tr1book)

Jul 22 '08 #58
Robbie Hatley wrote:
"puzzlecracker" blew my mind thusly:
>The only practical use of STL to this day is to code
solutions in programming challangies (TopCoder, ACM,
etc).

Hardly. Only people who have never tried STL talk like
that.
We use a lot of STL for small cross-platform applications programming.
It's quite handy for solving everyday problems. A good book to read when
learning C++ is "Accelerated C++" it gets into the STL right away. The
older C ways are still doable if/when one prefers them... that's what I
like most about C++. It's very flexible. I don't see it going away soon.
Jul 22 '08 #59
ia******@hotmail.com wrote:
"Daniel T." <danie...@earthlink.netwrote:
ian-n...@hotmail.com wrote:
Time to book some training. It sounds like your staff are going
stales.
So now you are suggesting that I stop a productive company in the middle
of several projects to train people how to do... What exactly? Use a
library that implements a bunch of stuff we already have implemented?
Why would I do that?
To be more productive? Unless you have implemeted your own version of
the complete standard library.
Of course we have. Much of our library pre-dates the STL.
In my last job we spent quite a bit of time replacing (my) libraries
with the standard library, mainly help get new developers up to speed
faster. Mind you, I did make sure they knew their stuff before
employing them!
The new developers that have interviewed with our company don't know the
STL much more than they know our containers, and don't know algorithms
at all.
Jul 22 '08 #60
Daniel T. wrote:
ia******@hotmail.com wrote:
>In my last job we spent quite a bit of time replacing (my) libraries
with the standard library, mainly help get new developers up to speed
faster. Mind you, I did make sure they knew their stuff before
employing them!

The new developers that have interviewed with our company don't know the
STL much more than they know our containers, and don't know algorithms
at all.
Ah, so they don't know C++.

--
Ian Collins.
Jul 23 '08 #61
On Jul 22, 7:19*pm, Pete Becker <p...@versatilecoding.comwrote:
First, let's be clear about the origin: they were, indeed, originally
used to mask the differences between different pointer types under
Windows, which had near (DS-relative) and far (absolute, loosely
speaking) pointers and references.

Second, the reason that STL allocators do not support specifying
per-container memory pools is only the design compromise that allows
but doesn't require containers to treat allocators of the same type as
equal. Several STL implementations don't rely on this assumption, and
you can, in fact, have per-instance allocators. This support will be
required in C++0x.
Interesting! Thank you very much for this clarification.

S.
Jul 23 '08 #62
Ian Collins <ia******@hotmail.comwrote:
Daniel T. wrote:
ia******@hotmail.com wrote:
In my last job we spent quite a bit of time replacing (my)
libraries with the standard library, mainly help get new
developers up to speed faster. Mind you, I did make sure they
knew their stuff before employing them!
The new developers that have interviewed with our company don't
know the STL much more than they know our containers, and don't
know algorithms at all.

Ah, so they don't know C++.
Ah, so C++ *is* dying, despite the fact that the number of people who
claim to know it is high.
Jul 23 '08 #63
Daniel T. wrote:
Ian Collins <ia******@hotmail.comwrote:
>Daniel T. wrote:
>>ia******@hotmail.com wrote:

In my last job we spent quite a bit of time replacing (my)
libraries with the standard library, mainly help get new
developers up to speed faster. Mind you, I did make sure they
knew their stuff before employing them!
The new developers that have interviewed with our company don't
know the STL much more than they know our containers, and don't
know algorithms at all.
Ah, so they don't know C++.

Ah, so C++ *is* dying, despite the fact that the number of people who
claim to know it is high.
The language isn't, but the school your grads come from probably should be.

--
Ian Collins.
Jul 23 '08 #64
James Kanze wrote:
over someone who knows all the details of
C++, but writes two page functions and classes with 30 member
variables.)
Nothing wrong with that in principle; better than those "I have to put
everything in a new class" types, imho. Which is just bureaucratic
clutter most of the time.
Jul 23 '08 #65
You know guys, I currently work with a huge platform that has been
under development for over a decade. It's written in C and C++,
predominately latter, though we export API in other languages that can
connect to our system (though they implemented on top of C++) I have
never seen a bigger coding mess in my life: lots of old
implementation entirely in .h files, an overly deep branching that
used to make gcc run out of memory on solaris boxes, unreadable and
uncommented code, a vast number of classes and some classes exceeding
10K lines of code per file. I am coming from Java/Net stuff, and this
appalling. I have used C++ as a hobby and in school -- however I have
never dealt with systems of this size and caliber. And, you know, I am
scared.... I really hope there are C++ systems out there developed
cleanly and legibly.

Don't get me wrong, our products valued highly on the market, and
customer base is immense...
Jul 24 '08 #66
On Wed, 23 Jul 2008, puzzlecracker wrote:
scared.... I really hope there are C++ systems out there developed
cleanly and legibly.
I work mainly with numeric code produced by engineers, which often
comprises spaghetti-classes where graduate students have come, tinkered
within their own namespace, and gone, leaving behind working but
incredibly illegible code. It doesn't help that most of the code was
written before any modern C++ constructs were introduced (templates,
STL, and so forth) or that it is mostly a literal translation of C
translated literally from FORTRAN. On the other hand, the code consists
entirely of a large number of operations on arrays of floats, so there
really isn't too much use for advanced C++ features.

I think systems programming often demands and implements much
cleaner design patterns, if you need some inspiration. (Or this could
just be wistful thinking!)
Jul 24 '08 #67
On Jul 23, 10:22 pm, "Alf P. Steinbach" <al...@start.nowrote:
>
It's a management and leadership problem, not a technological one.

It's very very common.

OT: I think it has to do with intelligence not being a requirement for advance
to leadership position (to wit: George Bush, IQ of 120 or something, lower than
even me), but simply either a strong killer instinct or a conformity instinct. I
think this happens for the same reason that e.g. nations go to war, or that
we're peppered with nonsensical ads, or that people, over 50% in Western
countries, are or claim to be religious in spite of that being insane. Namely,
that human beings are social creatures evolved to react in a social context to
very simple stimuli (I find the human reaction to rhythm and music, and its
connection to trance, hypnosis and group/mob behavior, especially interesting,
because it can be involuntary, completely forced: it seems that most people have
absolutely no intelligence or free will relative to the basic instincts).
"Where is the wise man? Where is the scholar? Where is the philosopher
of this
age? Has not G-d made foolish the wisdom of the world? For since in
the
wisdom of G-d the world through its wisdom did not know him, G-d was
pleased
through the foolishness of what was preached to save those who
believe. Jews
demand miraculous signs and Greeks look for wisdom, but we preach
Christ
crucified: a stumbling block to Jews and foolishness to Gentiles, but
to those
whom G-d has called, both Jews and Greeks, Christ the power of G-d and
the
wisdom of G-d. For the foolishness of G-d is wiser than man's wisdom,
and the
weakness of G-d is stronger than man's strength." First Corinthians
1:20-25

Paul knew many considered his message to be foolishness, but imo
Paul's
scholarship and understanding was excellent. I believe people can
forfeit
free will by choosing poorly over the course of their lives. I'm
happy to
remind people of Kepler's describing his planetary theories as
"thinking
G-d's thoughts after him." Imo we are indebted to people like Kepler.

Anyway, I'm glad to say I agree with you on the topic of top posting
and
am glad you keep advising against it.
Brian Wood
http://webEbenezer.net
Jul 25 '08 #68
On Jul 24, 12:10 pm, puzzlecracker <ironsel2...@gmail.comwrote:
You know guys, I currently work with a huge platform that has been
under development for over a decade. It's written in C and C++,
predominately latter, though we export API in other languages that can
connect to our system (though they implemented on top of C++) I have
never seen a bigger coding mess in my life: lots of old
implementation entirely in .h files, an overly deep branching that
used to make gcc run out of memory on solaris boxes, unreadable and
uncommented code, a vast number of classes and some classes exceeding
10K lines of code per file. I am coming from Java/Net stuff, and this
appalling. I have used C++ as a hobby and in school -- however I have
never dealt with systems of this size and caliber. And, you know, I am
scared.... I really hope there are C++ systems out there developed
cleanly and legibly.

Don't get me wrong, our products valued highly on the market, and
customer base is immense...
Alf's on the money as usual. Very, very common. But it's wrong to
blame C++ for this, except in-as-much as that if the system had been
written in some other language it would probably have ceased to be a
commercial concern a long time ago. In any system of that duration
and scale, it takes strong leadership to keep things on track, insist
that certain standards of testing and encapsulation are observed, and
force people to refactor occassionally rather than always making the
easiest short-term hack. My job-before-last was with a massive
financial data provider, and much of the code was an abomination (in
FORTRAN to boot), with only the core percent or two even robust, but
similarly the sheer volume of functionality was insurance against any
new company usurping the market dominance. Commercially, better to
carry the baggage than put out the garbage. Such is life, and if it
pays your bills... *shrug*. Have to focus on quality where it
actually counts, abstract legacy mess under clean interfaces that help
to ensure supported usage, and know when to make a clean start on some
small and naturally self-contained project.

Tony
Jul 25 '08 #69
On Jul 25, 9:28 am, Michael DOUBEZ <michael.dou...@free.frwrote:
c...@mailvault.com a écrit :
"Where is the wise man? Where is the scholar? Where is the philosopher
of this age?
At home, as usual, at this time of the day.
On vacation, more likely, at this time of the year:-).

--
James Kanze (GABI Software) email:ja*********@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Jul 25 '08 #70
James Kanze wrote:
On Jul 25, 9:28 am, Michael DOUBEZ <michael.dou...@free.frwrote:
>c...@mailvault.com a écrit :
>>"Where is the wise man? Where is the scholar? Where is
the philosopher of this age?
>At home, as usual, at this time of the day.

On vacation, more likely, at this time of the year:-).
"Wise men" are obsolete at this part of our era.
They are of no use. They'd be 'un-real'. So if
there were any, they're from a former age and
most probably dead ...

(Afaik there was even one who formulated the
obsoleteness of all these things and himself,
http://en.wikipedia.org/wiki/G%C3%BCnther_Anders )

Oops, this got off-topic now ...

Regards

M.
Jul 25 '08 #71
In article <48**********************@news.free.fr>,
Michael DOUBEZ <mi************@free.frwrote:
>Mirco Wahab a écrit :
>James Kanze wrote:
>>On Jul 25, 9:28 am, Michael DOUBEZ <michael.dou...@free.frwrote:
c...@mailvault.com a écrit :
"Where is the wise man? Where is the scholar? Where is the
philosopher of this age?

At home, as usual, at this time of the day.

On vacation, more likely, at this time of the year:-).

"Wise men" are obsolete at this part of our era.

Well, then ... they most likely went to acapulco. Sun and bikinis make a
good retirement location.
Upon which they loose their "wisdom": http://www.msnbc.msn.com/id/25197962 :)
--
Greg Comeau / 4.3.10.1 with C++0xisms now in beta!
Comeau C/C++ ONLINE == http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Jul 28 '08 #72

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: lawrence | last post by:
Right now, over at www.monkeyclaus.org, the following script is getting to the 9th run through and dying after the line: echo "..."; You'll admit that is a strange place to die. I've hit...
4
by: Steve | last post by:
I tried to run a simple script today on my PC (WinXP, PHP5, MySQL 4.0.17) that I haven't run for about a year, and for some reason it's dying at an include() statement that used to work fine. I...
0
by: diggum | last post by:
Hi, We've been troubleshooting a connection problem with a client of ours for several weeks. Basically, a combination of network stuff appears to be causing the VM to freeze, or at least just...
5
by: jdh2358 | last post by:
I have a python file that is trying to read raw data from a raw partition on a dying dist, eg f = file('/dev/sda') f.seek(SOMEWHERE) s = f.read(SOMEBYTES) On some blocks, the read succeeds,...
1
by: Dave Rudolf | last post by:
Hi all. I have a multithreaded little app that I am writing. Periodically, I see messages on my console that read: The thread '<No Name>' (0xa7c) has exited with code 0 (0x0).
22
by: zee | last post by:
Hi, I remember when i first went to school and got my copy of "oh Pascal" and thought it was a great language. What seemed like a lifetime later. It was then C closely followed by C++ as I...
16
by: ML | last post by:
I have recently been looking on dice.com (and other sites) and noticed a striking difference in the number of listings for DB2 DBAs for the OS390 platform. Most of the listings are AIX. Anyone...
18
by: Linny | last post by:
Hi, Came across this article in the ComputerWorld website which has included C in the top ten dying languages. The top 10 dead (or dying) computer skills...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.