Hi!
I began learning and practicing C++ three months through my first C++ program class. The C++
class used Tony Gaddis Starting Out With C++ Alternate Second Edition. It was an exceptional C++ book. I learned
so much from it. I did every "Programming Challenges" (up to chapter 15 - everything else is mostly STL) in the book and put in a lot of time and effort into getting
the best that it could offer.

I am very satisfied, but at the same time I know the information I learned and experience I gained are not much
compared with what real programmers know and have accomplished. At this point I am not sure what the "right" track
would be for someone like me. I do know that I will not be able to design software I want (win32 ftp server), and
more important, I know I should read books about subjects like networking and GUI.

First, let me brief everyone on what I am confident (understand concept, but may need to look u small detail) about
just from read Gaddis' text and doing all the practice problems. I am confident of everything from the basics
(character arrays, loops, etc.), structure, classes (friends, inheritance, virtual functions),
pointer (one & two dimension), string class, and fstream, STL: vector, list, deque, as well as stack and queues,
concepts. Gaddis' discussion of STL is quite succinct. I think there is much more information about STL.

I have no experience with programming in win32/xwindows environment. I have no experience with network
programming.

I terms of GUI, I browsed Amazon for C++ books with emphasis on GUI. There are two basic types: Visual C++ MFC and
Borland C++ Builder. I saw more books about MFC than C++ Builder. Is Visual C++ the way of the future? Personally,
I use Visual C++ at school since that is the only C++ compiler in labs. I prefer Borland C++ Builder at home. I
find it more robus with more tools. Maybe that is just because I am inexperience in general. I prefer to learn
something really well rather than go back and forth between the two, but then again, I could very well accomplish
that if it is neccessary due to the pros and cons of the two C++ suites. My first questions again, which is the
best C++ compiler for windows with great emphasis on flexibily (similar to comparing win32 C++ to Visual Basic),
creative power (anything is possible)? Ease of use is not important if the outcome helps me more in the road to
becoming a quality programmer (I do not mine the difficult track).

For networking, I am considering C++ Objects for Making Unix and Windows Nt Talk by Mark Nadelson and
Tom Hagan. By the way, that is one of the few C++ books that has anything to do with networking I found at
Amazon.

I am on the last chapter of Gaddis' book, while my class is no even halfway done. The professor told me Gaddis'
is is very basic, although I find that Gaddis goes into most important subjects with great detail. He explains
everything with example and codes after codes. Anyways, the professor recommend that I move ahead and read
C++ How to Program by Deitel and Deitel. I have browsed the book some. It has a lot of information with few
examples. It is more of a fine toning type C++ book rather than an indepth reference.

In summary I would like to know:

What is *should* the next step be? Should I continue learning C++ and practicing under console through a more
advanced C++ book rather than learning GUI and networking (programming network)?

What is the future for Borland C++ Builder or Visual C++ with emphasis on GUI and networking?

How important is STL? Everyone I talk to at school bring up "vector" as though it is the ultimate C++ tool. I like list.

What GUI book do you recommend?

What C++ networking book do you recommend?

What is the preferred reference book at the intermediate/advanced level? What do you think about C++ How to Program?

Thanks for reading through. I would appreciate any feedback. Please feel free to reply to any question.

Thanks again,
Kuphryn