delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/01/01:15:40

From: Paul Short <ps14004 AT swt DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: C++ in Death Throes?
Date: Sun, 01 Mar 1998 00:13:15 -0600
Organization: Southwest Texas State University
Lines: 107
Message-ID: <34F8FC7B.62D33DF9@swt.edu>
References: <MPG DOT f61daba893f8d8c989682 AT enews DOT newsguy DOT com>
Reply-To: pshort AT acm DOT org
NNTP-Posting-Host: port10.modem6.cc.swt.edu
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

scorpio wrote:
> 
> Hi
> I am just learning to program, got a big book, downloaded djgpp and went
> for it.
> 
> So i really dont know to much about the Programming Business?
> 
> I was wondering if i could get opinions on whether or not people think
> that C++ is worth learning.
> 
> I dont suppose it would hurt, but if your kid was going to get into
> programming, where would you try to steer him.
> 
> If it depends on what a person wants to do, lets look at applications
> first then games.
> 
> If it depends on format, well i dont know enough about the formats, but
> windows seems to be winning the race.
> 
> anyway i would appreciate any response.
> 
> Scorpio

C++ is certainly not in its death throes--the ANSI stanadard is due this
year, and it's probably the most popular computer language around,
especially if you also consider that C++ is basically a stronger typed,
object-oriented superset of C++... virtually all C++ compilers can
compile both C and C++ code.  Java is certainly popular, but C++ is in
no danger of being replaced by Java, at least in the near future. 
Besides being backwards compatible with C, C++ is still faster and
allows for static memory allocation and direct access to memory.  Java
is still young and better suited for Internet applications, at least for
now.  There are compilers for java and also chips specialized to run
java bytecode which does give C++ a run for its money, but most large
applications are being written in C++. 

I'm finishing up my B.S. in Computer Science this semester, and most of
my academic work has been in C and C++.  But at work I use Visual Basic
(for Windows graphical user interfaces), SQL (for databases), and HTML
and Java for Internet stuff, so it really depends on what the customer's
needs are.  C++ is available for virtually all platforms, and you'll
find that everyone with a degree in computer science knows either C,
C++, or both.

As far as "format" (I call it platform or environment), most places use
Unix, Windows NT, or a combination of both.  I've had to use Macs quite
a bit for desktop publishing and multimedia programming, but I never
really liked them--you can do the same things on a PC for a lot less
money, and with better results.  I've also had to program on a VAX/VMS
for a couple of years, but that wasn't too fun either.  However, I've
been able to work with Macs and VAXen that had Mac OS and VMS stripped
away and replaced by Unix--that wasn't too bad.  If you use both Windows
95/NT and some variant of Unix you'll be pretty safe.

Most programs, by the way, are written in C, C++, COBOL, or FORTRAN. 
(There are still a lot of business applications written in COBOL, and
some scientific programmers and engineers are still using FORTRAN--but
the trend is still moving towards C++, and other languages such as
Visual Basic or Java.)  Many applications also have databases, so a C,
C++, or COBOL program may be "mixed" with SQL.  Visual Basic is also
quick way to write Windows programs, and quite a few people use it for
graphical user interfaces and rapid prototyping.  But I also know quite
a few people that "mix" Visual Basic and C++, using C++ for more
heavyweight work.  Many C++ Windows programmers also know Microsoft
Foundation Classes and Win32s... software developers try to avoid
reinventing the wheel whenever possible, so they learn how to use
special libraries.  For example, using the OpenGL library, which is
written in C and available on many platforms, I've been able to create
3d graphics on both Windows and Unix.  There's no way I would have been
able to write a 3d graphics package myself.  On the other hand, if you
are trying to learn a new language, you would be better off learning the
language by itself and then learning special libraries as you get more
comfortable with the language.

But learning languages and libraries are only parts of the big
picture... a little theory goes a long way.  I've been able to
accomplish a lot more after exposure to things like algorithm analysis,
data structures, discrete mathematics, and even basic college algebra. 
I've also found software engineering practices are useful for organizing
projects, improving quality, and reducing errors.

Anyway, if you are going to learn a programming language, C and C++ are
good choices.  But if you learn C++, you should also learn some
object-oriented theory.  Some people argue that the syntax in C and C++
makes them  difficult to learn as first languages, but I know a lot of
people who started with either C or C++.  

In any case, anyone with a computer science degree is expected to be
able to write programs at least in C and probably C++.  I also know some
engineers and other non-computer science people who use either C or
C++.  Whether a developer actually uses one of these languages depends
on the job.

In addition to learning C and C++, it would also help to look at Visual
Basic and Java.  In some ways these languages are easier to learn, and
they both have their own special libraries for things like user
interfaces and graphics.  Java is still new compared to C++ but it has a
lot of promise and avoids some of the problems in C++.  

-- 
|----------------------------------|        ___
| Paul D. Short                    |    /  |___|
| E-Mail: pshort AT acm DOT org           |   /| ---|---
| http://taz.cs.swt.edu/~ps14004/  |    |   /|\
| http://taz.cs.swt.edu/~aikido/   |    |  / | \
|----------------------------------|

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019