STL alternatives?

  • Thread starter christopher diggins
  • Start date
C

christopher diggins

I am looking for any free libraries which provide a wrapper around or are an
alternative to the STL. I am familiar with Boost and STLSoft. Would anyone
be able to provide other alternatives?

Specifically I am most interested in libraries which have the functionality
of the STL but are easier to learn for beginners.

Thanks in advance all

- Christopher Diggins
http://www.heron-language.com
 
J

John Harrison

christopher diggins said:
I am looking for any free libraries which provide a wrapper around or are
an alternative to the STL. I am familiar with Boost and STLSoft. Would
anyone be able to provide other alternatives?

Specifically I am most interested in libraries which have the
functionality of the STL but are easier to learn for beginners.

I honestly think you would be better off learning the STL. Given that the
STL is free and standard I think it's pretty much wiped the floor with any
competition. What aspect of it are you having difficultly with?

John
 
A

Alan Sung

christopher diggins said:
I am looking for any free libraries which provide a wrapper around or are an
alternative to the STL. I am familiar with Boost and STLSoft. Would anyone
be able to provide other alternatives?

Specifically I am most interested in libraries which have the functionality
of the STL but are easier to learn for beginners.

Thanks in advance all

- Christopher Diggins
http://www.heron-language.com

If you are on Windows, then you could just use the MFC (Microsoft Foundation
Classes) which would be adequate for beginner learning. Sort of depends upon
what you are teaching.

-al sung
Rapid Realm Technology, Inc.
Hopkinton, MA
 
J

Jonathan Turkanis

christopher diggins said:
I am looking for any free libraries which provide a wrapper around or are an
alternative to the STL. I am familiar with Boost and STLSoft. Would anyone
be able to provide other alternatives?

Specifically I am most interested in libraries which have the functionality
of the STL but are easier to learn for beginners.

Fancy meeting you here!

Here are two alternative container libraries. I'm not sure whether they meet
your requirements, but you might take a look at them:

Nonstandard Template Library (NTL) -- http://www.ntllib.org/index.html

Trolltech Generic Containers -- http://doc.trolltech.com/4.0/containers.html

Jonathan
 
G

Gianni Mariani

christopher said:
I am looking for any free libraries which provide a wrapper around or are an
alternative to the STL. I am familiar with Boost and STLSoft. Would anyone
be able to provide other alternatives?

Specifically I am most interested in libraries which have the functionality
of the STL but are easier to learn for beginners.

Thanks in advance all

What do you think needs to be easier ?

The Mariani simplicity/complexity proposition: There exists a minimum
complexity when modelling multiple interactive systems.

Lemma 1. When modelling interactions between multiple systems, there
exists a minimum level of complexity of the interfaces where the overall
complexity of the entire system is also minimal.

In other words, if you make your interfaces too simple, your overall
solution is more complex.
 
C

christopher diggins

John Harrison said:
I honestly think you would be better off learning the STL. Given that the
STL is free and standard I think it's pretty much wiped the floor with any
competition. What aspect of it are you having difficultly with?

John

Thanks for the offer of help John. I am actually very familiar with the STL,
and I am looking into developing an object-oriented wrapper libray for
people who desire a less intimidating and more "high-level" library.

What frustrates me is that we have a lot of developers using primitive
scripting languages because they are supposedly more "high-level" than C++.
I figured if I could make available a simpler and more object-oriented
wrapper around the Boost and STL then maybe we could put an end to the whole
idea that you need an "agile language" to develop software quickly and
easily.

Christopher Diggins
http://www.cdiggins.com
 
C

christopher diggins

Jonathan Turkanis said:
Fancy meeting you here!
lol

Here are two alternative container libraries. I'm not sure whether they
meet
your requirements, but you might take a look at them:

Nonstandard Template Library (NTL) -- http://www.ntllib.org/index.html

Trolltech Generic Containers --
http://doc.trolltech.com/4.0/containers.html

Jonathan

Hi Jonathan!

Thanks for the links they do definitely help. I wanted to get a good
overview of what is available before I continue with my latest crazy
project. I am looking into use your interfaces classes to implement a set of
efficient object-oriented wrappers around the STL and primitives types.
Essentially I want a more Java style library interface. I am trying to
relight the C++ torch. I'll keep you posted as to how things progress.

- Christopher
 
C

christopher diggins

Gianni Mariani said:
What do you think needs to be easier ?

I just know that the STL does inspire fear and loathing in the uninitiated.
I figure it would be nice to have a polymorphic iterator type. Next there
could probably be more and better defaults, so fewer decisions have to be
made by the programmer. Also it would be nice to have more specializations
which have better performance properties for specific types.
The Mariani simplicity/complexity proposition: There exists a minimum
complexity when modelling multiple interactive systems.

Lemma 1. When modelling interactions between multiple systems, there
exists a minimum level of complexity of the interfaces where the overall
complexity of the entire system is also minimal.

In other words, if you make your interfaces too simple, your overall
solution is more complex.

I am familiar with the theory but the STL does not represent a system of
minimal comlexity. It's design goals were primarily efficiency and
genericity.

Christopher Diggins
http://www.cdiggins.com
 
C

christopher diggins

Alan Sung said:
If you are on Windows, then you could just use the MFC (Microsoft
Foundation
Classes) which would be adequate for beginner learning. Sort of depends
upon
what you are teaching.

Thanks for the suggestion.

- Christopher Diggins
 
G

Gianni Mariani

christopher diggins wrote:
....
I just know that the STL does inspire fear and loathing in the uninitiated.
I figure it would be nice to have a polymorphic iterator type. Next there
could probably be more and better defaults, so fewer decisions have to be
made by the programmer. Also it would be nice to have more specializations
which have better performance properties for specific types.

By polymorphic iterator, do you mean somthing like:

template <typename T>
struct iterator_thing : reference_countable
{
virtual T & operator*() = 0;
// .... plus others
};

template <typename T>
struct any_iterator
{
smart_Ptr< iterator_thing<T> > m_iterator;
virtual T & operator*()
{
return **m_iterator;
}
// .... plus others
};

.....
any_iterator<Foo> iter = my_map.begin();



Which defaults are you thinking about ?

Which specializations are you thinking about ?

....
I am familiar with the theory but the STL does not represent a system of
minimal comlexity. It's design goals were primarily efficiency and
genericity.

Don't we have to compare it to somthing else before we can make
assertions of minimal complexity ?
 
C

Cy Edmunds

christopher diggins said:
Thanks for the offer of help John. I am actually very familiar with the
STL, and I am looking into developing an object-oriented wrapper libray
for people who desire a less intimidating and more "high-level" library.

What frustrates me is that we have a lot of developers using primitive
scripting languages because they are supposedly more "high-level" than
C++. I figured if I could make available a simpler and more
object-oriented wrapper around the Boost and STL then maybe we could put
an end to the whole idea that you need an "agile language" to develop
software quickly and easily.

Christopher Diggins
http://www.cdiggins.com

I agree with John that the STL is really your best C++ alternative. But it
certainly doesn't make C++ what I would call "agile". For agility I would
suggest a good scripting language such as Python. Of course Python is slow
during execution which is why I use both languages.
 

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,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top