Link to home
Start Free TrialLog in
Avatar of akky032499
akky032499

asked on

Good C++ open-source software

Hi, I haven't been using C++ for couple of years and now am used to Java too much, but now have to make an application in C++.

Could someone tell me about a good C++ model software which

- sources are available
- not gigantic
- OO-designed
- using later techniques like
  - Exception
  - STL
  - string
- work both in Unix and Windows

networking application is preferred and  GUI feature is unnecessary.

Thanks in advance,
Avatar of AlexVirochovsky
AlexVirochovsky

See www.codeguru.com with many,many
good codes.
Here is a C++ cross-platform framework:
www.wxWindows.org
It has all the features you requested.
Avatar of akky032499

ASKER

Alex, many apps I took from codeguru seemed to use C++ just as a bit enhanced C. Could you point me one single app using latest C++ tech from them? I know many good applications which carefully avoid to use newer C++ language features. But I'd like to try them, know them and need good samples.

dalehend, I did quick look at wxWindows sources. it seems a good framework though,
  - it is gigantic, not essential
  - it uses neither of Exception, STL nor string
I felt it was more practical software than elegant. (no offence. I understand why they don't use those unstable, uncommon new language features.)

Thank you for your help, however, I'm looking for something to match my requirement better. Now I'm going to give up another OS, so SunOS5 and NT are enough. Is there any?
In codeguru there are many Apps for some
concrete target: communication, internet, bitmap,...
Simple to use all newest C++ possibilities? In one project? I tray
to search, but usually all my examples
use someone specific. I have full BC
C++ examples, but it is same : every example demonstrates some feather of
C++/OWL/MFC...
CodeGuru is very MFC oriented.

Will an STL source fit the bill?
http://www.stlport.org
I thought the compiler has to support string, exceptions and STL, not the framework. I use Mingw32 which does all of the above. (I am the manager of the discussion group, www.egroups.com/groups/mingw32.
Secondly, wxWindows is a library of components so just take what you need so to speak.
Exceptions are part of the C++ language so the compiler has to support them.

The STL and std::string are parts of the C++ standard library and are commonly implemented as include files.  However, the compiler has to support certain features of the C++ langage in order to enable full functionality of the standard library.

As Mingw32 is based on gcc, it's level of conformance to the C++ standard is much higher than Microsoft's VC++ so it supports more features of the standard library.

(on the other hand, VC++ generates faster code on Win32 platforms due to a better optimizer)
Adjusted points to 100
I raise points.

Sorry if I made you confused. I don't need any STL/string implementation. What I want to see is a tidy example which is using those exception and standard library features. (wxWindows code seems to use none of them.)

That program must be neither too much nor too little. means bigger than snippet on books, small enough to be able to read through.

My SunCC and VC++ support exception/STL/string. I would like to know how to use them in elegant way.
Overly enough. I have to take and check those libraries from your links one by one. I have been going through with more than 20 libraries now. I'm suspecting almost all products on your lists use neither STL nor exception.

When I asked this question I thought that someone here knows the good one and points it out to me. One is enough...
Some of them are extensions to the STL and as such use exceptions and (possibly) STL objects.

Why don't you tell us exactly *why* do you want it.  There are better ways of familiarizibg yourself with exceptions and the STL than reading source code.
If you check out the CVS sources for wxWindows, they are putting together an IDE called wxStudio. Its sources are using STL( I found out by having to upgrade the Mingw32 compiler I was using to the latest).
I like this one:
http://www.cs.wustl.edu/~schmidt/ACE.html

The ACE-Framework is extremely platform independant, uses software patterns extensively, and is one of the most sophisticated pieces of code I ever ran into. It's large, but rather well documented and free.
>Why don't you tell us exactly *why*
>do you want it.

Well, I want to know how to design/write an application in C++ as like I did in Java. Means, not returnCode-nestedIf-way but try-catch way, not inventing wheel again but using system built-in collection libraries.

I tried some books but they only explain language grammer and small code. They didn't tell me, for example,  how exception class layers should be designed and used in a whole application.

>There are better ways of                  
>familiarizibg yourself with exceptions
>and the STL than reading source code.

So I might need to know a better book which is intended for that purpose and which I don't know yet, besides trying to mimic other code. Are there?

Zarathustra, thanks, I looked. ACE seems to use exceptions but in very restricted places. And they say ACE is with less exceptions to match with many different compilers which may not support exceptions. Exception handlings are defined by macros and not widely used. Anyway I'm feeling I can learn some from it.
ASKER CERTIFIED SOLUTION
Avatar of alexo
alexo
Flag of Antarctica image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
It seems to take much time for me to get the book in my hands. I'll try it.
Thanks alexo and all.
One thing akky.
I prefer not to get points for a question AT ALL than to get a 'C' grade.  In the future, please do not accept my comments as answers unless you feel that they are REALLY helpful.  Thank you.
Sorry alexo, you could have written it beforehandly in your comment or your profile.

I had thought I had to use grade C when I'm not satisfied. If Everyone avoids it for being friendly(?), grading system won't work.
>> Sorry alexo, you could have written it beforehandly in your comment or your profile.

Most of the experts here share this opinion.

>> I had thought I had to use grade C when I'm not satisfied.

Not really.  You don't *have* to do anything.  You may assign any grade you like, reject an answer or even delete the question and reclaim your points.

>> If Everyone avoids it for being friendly(?), grading system won't work.

While this is true in principle, sometimes people specifically submit _comments_ instead of _answers_ as an attempt to say "Here is my opinion.  I don't claim it to be an answer to your problem but it may be of some help."

When a person submits an _answer_, grading (or rejecting) is expected.  When a _comment_ is given - it is not.  In fact, the ability to accept a comment as an answer is a recent addition to EE. Consider the fact that a question may have numerous comments.  Why would the most helpful suffer the penalty of a bad grade?

Sometimes (fairly often) I see a question to which I have no answer but can somehow contribute to the discussion.  If I were to suspect that I may get a bad grade (which is visible on my last 10 and, since I'm not very active here lately, will take a while to disappear), I would refrain from giving a (possibly helpful) advice.  No one would benefit.
I see your point. I will not do it again.

It seems to be unable to take back my grading for this item. Could I do something to recover your grade?

I imagine there are no way. Probably ths system needs another option "add comment without an accept-as-answer button" for you and most experts.
>> Could I do something to recover your grade?
Nope.  Water under the bridge...