Pervasiveness of STL

P

Paul

Does anyone know of stats or info indicating how what the uptake of
STL? It takes quite a while to read all the gotchas and best
practices (some of them more easily ingestible than others), but I
take pervasiveness as an indication of how such knowledge will be
streamlined. It also indicates how much momentum there will be in
improving the STL, smoothening out wrinkles and gaps, etc..
 
V

Victor Bazarov

Paul said:
Does anyone know of stats or info indicating how what the uptake of
STL?

I had to look the "uptake" up in an attempt to understand what you are
asking :)

Now I wonder how one would collect the "stats or info" of that nature?
How do you *measure* the uptake? Is it like a census, where you simply
ask, "what's your uptake of STL (from 0 to 5)"? And then, whom do you ask?
> It takes quite a while to read all the gotchas and best
practices (some of them more easily ingestible than others), but I
take pervasiveness as an indication of how such knowledge will be
streamlined. It also indicates how much momentum there will be in
improving the STL, smoothening out wrinkles and gaps, etc..

I [personally] don't see STL (or the Standard Library, as it is actually
called) as a singleton. It's a smörgåsbord. Yes, there are areas in
it, and there are certain concepts that are the underlying philosophy,
but you don't have to learn it all to use it (or even to improve it).
The philosophy, mind you, is *not* really complicated. And it is well
covered by some books that have been around for a while and endured
several editions/revisions.

The wrinkles and gaps are being worked on on an individual basis. Since
the underlying philosophy is stable, every part just needs a critical
mass of users to push the solution for any existing issue closer to the
Committee.

Just my $0.03 (adjusted for inflation)

V
 
J

jamm

Paul said:
Does anyone know of stats or info indicating how what the uptake of
STL? It takes quite a while to read all the gotchas and best
practices (some of them more easily ingestible than others), but I
take pervasiveness as an indication of how such knowledge will be
streamlined. It also indicates how much momentum there will be in
improving the STL, smoothening out wrinkles and gaps, etc..

Don't know any hard figures.. anecdotal-ly speaking it seems like it was
shunned early on due to bugs and bad compiler support. Then slowly thru the
late ninetes up till today more developers starting learning and using it.
Everyone knows at least about vector and iostream, etc..

However in embedded development it is still avoided for the most part.

--
*From the 1966 TV series:*
Robin: You can't get away from Batman that easy!
Batman: Easily.
Robin: Easily.
Batman: Good grammar is essential, Robin.
 
R

red floyd

However in embedded development it is still avoided for the most part.

On the embedded projects I worked on, it was generally due to the
"no dynamic allocation" rule.
 
T

tonydee

Does anyone know of stats or info indicating how what the uptake of
STL?  It takes quite a while to read all the gotchas and best
practices (some of them more easily ingestible than others), but I
take pervasiveness as an indication of how such knowledge will be
streamlined.  It also indicates how much momentum there will be in
improving the STL, smoothening out wrinkles and gaps, etc..

I've never seen figures.

In server-side development, I'm aware of many companies that still use
proprietary libraries that may overlap with the STL, but where either
the STL or proprietary offerings would do, most will either allow or
actively recommend the STL be used in preference. (The choice can
sometimes be complicated by concerns re interfacing downwards to
legacy libraries or upwards to client code....)

As the STL Standard and implementations are already quite mature, I
don't think you'll see a lot of "smoothing out"... it's more likely
that you yourself learn more and adapt. The more you understand what
the STL is doing and why, the more self-evident and manageable the
gotchas will become.

While there are gotchas etc., it's hard to imagine an alternative
design could be significantly more robust in general usage without
seriously compromising performance and/or convenient usage.

AFAIK, there are no alternatives to the STL that are both
significantly popular and increasingly so.

Further, the usability, utility, clarity and concision of STL usage
will improve with C++0x, e.g. lambdas, Concepts would have helped with
error messages too :-(.

Cheers,
Tony
 
T

tonydee

Does anyone know of stats or info indicating how what the uptake of
STL?  It takes quite a while to read all the gotchas and best
practices (some of them more easily ingestible than others), but I
take pervasiveness as an indication of how such knowledge will be
streamlined.  It also indicates how much momentum there will be in
improving the STL, smoothening out wrinkles and gaps, etc..

I've never seen figures.

In server-side development, I'm aware of many companies that still use
proprietary libraries that may overlap with the STL, but where either
the STL or proprietary offerings would do, most will either allow or
actively recommend the STL be used in preference. (The choice can
sometimes be complicated by concerns re interfacing downwards to
legacy libraries or upwards to client code....)

As the STL Standard and implementations are already quite mature, I
don't think you'll see a lot of "smoothing out"... it's more likely
that you yourself learn more and adapt. The more you understand what
the STL is doing and why, the more self-evident and manageable the
gotchas will become.

While there are gotchas etc., it's hard to imagine an alternative
design could be significantly more robust in general usage without
seriously compromising performance and/or convenient usage.

AFAIK, there are no alternatives to the STL that are both
significantly popular and increasingly so.

Further, the usability, utility, clarity and concision of STL usage
will improve with C++0x, e.g. lambdas, Concepts would have helped with
error messages too :-(.

Cheers,
Tony
 
P

Paul

I had to look the "uptake" up in an attempt to understand what you are
asking :)

Now I wonder how one would collect the "stats or info" of that nature?
How do you *measure* the uptake?  Is it like a census, where you simply
ask, "what's your uptake of STL (from 0 to 5)"?  And then, whom do you ask?

Just anecdotes that serves as indicators.
 >  It takes quite a while to read all the gotchas and best
practices (some of them more easily ingestible than others), but I
take pervasiveness as an indication of how such knowledge will be
streamlined.  It also indicates how much momentum there will be in
improving the STL, smoothening out wrinkles and gaps, etc..

I [personally] don't see STL (or the Standard Library, as it is actually
called) as a singleton.  It's a sm rg sbord.  Yes, there are areas in
it, and there are certain concepts that are the underlying philosophy,
but you don't have to learn it all to use it (or even to improve it).
The philosophy, mind you, is *not* really complicated.  And it is well
covered by some books that have been around for a while and endured
several editions/revisions.

The wrinkles and gaps are being worked on on an individual basis.  Since
the underlying philosophy is stable, every part just needs a critical
mass of users to push the solution for any existing issue closer to the
Committee.

Just my $0.03 (adjusted for inflation)

V

Ouch. Thanks.
 
P

Paul

Don't know any hard figures.. anecdotal-ly speaking it seems like it was
shunned early on due to bugs and bad compiler support. Then slowly thru the
late ninetes up till today more developers starting learning and using it..
Everyone knows at least about vector and iostream, etc..

However in embedded development it is still avoided for the most part.

Cool....I'm not doing embedded, so I'm lucky. Just worried about
getting data analysis done quickly (minimal coding/debugging time) and
adaptably (meaning the needs can change significantly in short time).
A high level "meta-language" with much knowledge and support is a boon.
 
P

Paul

I've never seen figures.

In server-side development, I'm aware of many companies that still use
proprietary libraries that may overlap with the STL, but where either
the STL or proprietary offerings would do, most will either allow or
actively recommend the STL be used in preference.  (The choice can
sometimes be complicated by concerns re interfacing downwards to
legacy libraries or upwards to client code....)

As the STL Standard and implementations are already quite mature, I
don't think you'll see a lot of "smoothing out"... it's more likely
that you yourself learn more and adapt.  The more you understand what
the STL is doing and why, the more self-evident and manageable the
gotchas will become.

While there are gotchas etc., it's hard to imagine an alternative
design could be significantly more robust in general usage without
seriously compromising performance and/or convenient usage.

AFAIK, there are no alternatives to the STL that are both
significantly popular and increasingly so.

Further, the usability, utility, clarity and concision of STL usage
will improve with C++0x, e.g. lambdas, Concepts would have helped with
error messages too :-(.

Oh, yeah. I remember some of those messages.

You said no alternative...do you mean in general, or in C++? Many
computing environments have gone Microsoft these days, but I have high
hopes of VST/VSTA environment supporting standards. I haven't yet
started to search for info on whether STL is supported. C++ is the
only language I know of with templates, so I'm not sure if it even
makes sense to ask about STL equivalents in other programming
languages/environments.
 
T

tonydee

Oh, yeah.  I remember some of those messages.

They have a reputation worse than they deserve... :).
You said no alternative...do you mean in general, or in C++?

I mean in C++. Other languages have their own container
abstractions....
 Many
computing environments have gone Microsoft these days, but I have high
hopes of VST/VSTA environment supporting standards.  I haven't yet
started to search for info on whether STL is supported.

I'd never heard of VST/VSTA... can't offer any insights there.
C++ is the
only language I know of with templates, so I'm not sure if it even
makes sense to ask about STL equivalents in other programming
languages/environments.

It depends on how "equivalent" you mean. I don't think you'll find
many languages' containers have an equivalent container/iterator/
algorithm design. Some languages have to embed support for particular
containers, as they can't be efficiently implemented as libraries in
that language. I've heard on the grapevine that Java and C# have
added some features vaguely like C++ templates in the last couple
years, but don't know the details. 3 months of C# was enough to cure
any curiousity ;-P.

Cheers,
Tony
 
J

jamm

that language. I've heard on the grapevine that Java and C# have
added some features vaguely like C++ templates in the last couple
years, but don't know the details. 3 months of C# was enough to cure
any curiousity ;-P.

Cheers,
Tony

Java and C# offer "Generics". Gives some template like functionality.

--
*From the 1966 TV series:*
Robin: You can't get away from Batman that easy!
Batman: Easily.
Robin: Easily.
Batman: Good grammar is essential, Robin.
 
P

Paul

They have a reputation worse than they deserve... :).

In that case, I must not have gotten beyond the beginner phase
sufficiently to see that...which is itself an indication of the
decipherability of the error messages (if you need much experience for
them to be helpful).
I mean in C++.  Other languages have their own container
abstractions....

Bob, did I ever do a typo there. I meant to say that I *don't* have
high hopes of support for standards by VST/VSTA.
I'd never heard of VST/VSTA... can't offer any insights there.

Visual Studio Tools (for Applications), the new environment for VBA
(and a bunch of other languages e.g. C++).
It depends on how "equivalent" you mean.  I don't think you'll find
many languages' containers have an equivalent container/iterator/
algorithm design.  Some languages have to embed support for particular
containers, as they can't be efficiently implemented as libraries in
that language.  I've heard on the grapevine that Java and C# have
added some features vaguely like C++ templates in the last couple
years, but don't know the details.  3 months of C# was enough to cure
any curiousity ;-P.

I meant a container library and algorithm library that is data-
generic, not necessarily identical to STL but covering a broad range
of useful and needed functionality. The genericness requires template-
like features in the language, possibly provided at the precompile
stage (if I recall correctly, templates and indeed C++ features were
at one time resolved at the precompile stage -- maybe templates still
are!).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top