Mailinglist Archive: opensuse (3644 mails)

< Previous Next >
Re: [SLE] Looking for ...
You make some excellent points. Stroustrup's book is certainly a must. Both
C and C++ are here for the long haul, but there are some subtle differences
when you use a C++ compiler to compile C code.
I think that eventually, even Unix/Linux kernel code will be converted to
C++. I also think that the original K&R book (not the 2nd edition) is
required reading to understand the philosophy behind both C and Unix.

But, to reiterate my objection to learing Visual C++ is that you do not
learn the fundamentals of the language. Visual languages are excellent when
applied to GUI based applications. You can get those apps up and running
quickly without the need to to be concerned about implementation details.
But, if that is the only kind of programming you know, then you limit your
career.

At one of my contracts, we had a client - server application where the
server was written in C (on Debian at the time) and the client was C++ (on
Linux, Solaris, OS/2, Windows). We had access to some C++ programmers in
the IT groups, but almost all of them were strictly Visual C++ programmers
with none of the lower level skills needed for the queing and
comminucations client side code. Additionally, one of the things that
separates an application programmer from a systems level programmer in C++
is class libraries. All C++ programmers know how to write a class, but
writing a good template or class that is flexible and usable enough to be
used effectively requires more thought and knowledge. As an example, on a
system I worked on the segment I worked on required a date that was easily
comparable. They had already defined a date class, but that class was not
appopriate for the type of comparisons needed because the class designer
had not forseen the need. The solution was to write a new date class. Set
it up such that we could restructure the old date class to inherit the new
class. It is the understanding of both inheritance and templates that is
very important in the writing of good class libraries.
So, the bottom line is your career objectives. If you want to become a C++
programmer qucikly then the visual route will get you there, but with a
very limited career. But the learning of the fundamentals, which is slower
and more painful, will give you a much broader choice within your career.


On 28 Mar 2002 at 16:17, Praise wrote:

Il 14:31, giovedì 28 marzo 2002, Jerry Feldman ha scritto:
First, the C language is certainly not obsolete. Certainly, languages like
C++ and Java have moved it to a higher level.

C++ can do the same low level coding as C (even if it has no advantages over
it). For a beginner, I think C++ is better because it can help with both
ancient programming techniques and modern (OOP) techniques.

IMHO, it is important that C++ programmers know and
understand C, but also that they write their code in good C++ style with
properly developed classes and methods. Both C and C++ have their places in
the progrmming lexicon.

In the very long term I think C will disappear a bit before C++ :-))
I do not think that C is required to learn C++, even if it can help in the
beginning.

I also prefer programmers, when learning C++ to
learn C++, not Visual C++ (or IDE based C++). IDE based languages are great
time savers, but they also hide a lot of details. I think it is important
to understand the fundamentals, that is why I think that before you learn
C++, you should have a working knowledge of C and the concepts of OO.

It is an approach, but you can learn OOP just while undertanding the C++
syntax. You cant learn a thing without coding a little, right? What's better
than C++ to code OOP if you want to learn C++?

Another good C++ book is the C++ Primer.

I really like the Stroustrup: it's just better than the bible, you can always
reread it and learn something new.-)

Praise

--
To unsubscribe send e-mail to suse-linux-e-unsubscribe@xxxxxxxx
For additional commands send e-mail to suse-linux-e-help@xxxxxxxx
Also check the archives at http://lists.suse.com



--
Jerry Feldman
Portfolio Partner Engineering
508-467-4315 http://www.testdrive.compaq.com/linux/
Compaq Computer Corp.
200 Forest Street MRO1-3/F1
Marlboro, Ma. 01752


< Previous Next >
Follow Ups
References