From: Paul Short 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: Reply-To: pshort AT acm DOT org NNTP-Posting-Host: port10.modem6.cc.swt.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk 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/ | | / | \ |----------------------------------|