From: tp@mccall.com (Terry Poot)
Newsgroups: comp.os.vms
Subject: RE: Programming
Date: 27 Jan 93 23:18:33 GMT
Reply-To: tp@mccall.com (Terry Poot)
Organization: The McCall Pattern Co., Manhattan, KS, USA
Nntp-Posting-User: tp


In article <009672EF.61BFAC20.2988@nscvax.princeton.edu>,
dragon@NSCVAX.PRINCETON.EDU (Mighty Firebreather) writes:
>	Chris Tanski <CTANSKI%ONONDAGA.bitnet@CUNYVM.CUNY.EDU> writes:
>>
>>I am going to be taking a programming course next year and I want to know
>>which one to take. My options are: BASIC, Pascal, FORTRAN, C, and COBOL. I
>>want to be able to write programs on my VMS acct. so whichever programming
>>language is best for that is the one I want. Thanks and please reply directly
>>to ctanski@onondaga.bitnet.

My first recommendation is find out what language compilers are actually
available! All those and more are available for VMS, but your university may not
have them all.

>	Seriously, Fortran is good for number crunching and usable, with 
>difficulty, for almost everything.  COBOL is well suited to accounting type
>things; e.g. money.  C is well suited to system programming, less well 
>suited to number crunching and ill suited to accounting applications (no 
>decimal string arithmetic).  C also tends to be rather cryptic.  

Beware of such stereotypes, however, because few applications are that pure, and
the stereotypes are of dubious quality to begin with.

>	As a general thing, I'd say it's far more important to learn basic
>principles than BASIC.  Learn control structures.  Learn data structures.
>Learn to document your work.  More code has wound up in the garbage can for
>lack of adequate documentation, than for any other reason (it's easier to 
>rewrite it than to figure out how to fix or modify it).

All extremely true. To learn data structures and control structures, the useful
and widely available languages are C, Pascal, PL/I, Ada, and Modula (any
flavor). IMHO, the best language to _learn_ these things is Pascal. That's what
it was designed for (teaching programming) and it does it well. (disclaimer - I
don't know enough about Modula to evaluate it relative to Pascal in this
regard.)

As a professional programmer, however, you won't find a tremendous amount of
work with Pascal. On the other hand, as a professional programmer, you should
know more than one language, and be able to learn new ones easily, so this isn't
much of a problem. As a language for doing real work, I prefer C, but others
will prefer other languages. 

C seems to be becoming the general purpose language of choice in the industry,
but various segments of the industry use other languages: COBOL & any number of
proprietary so-called fourth generation languages (business/finance), FORTRAN
(engineering, scientific research), Ada (government work), Lisp & Prolog
(Artificial Intelligence). The coming wave seems to be object oriented
programming (C++, Smalltalk) and may in fact be a significant part of the
general programming market by the time you graduate.

So, use Pascal to learn modern control and data structures. Learn C, COBOL, 
FORTRAN, and Ada to impress your friends and get a job. Learn C++, Smalltalk,
and Lisp to impress your teachers. Learn databases, X/Motif, and networks to get
a good job. 
--
Terry Poot <tp@mccall.com>                   The McCall Pattern Company
(uucp: ...!rutgers!depot!mccall!tp)          615 McCall Road
(800)255-2762, in KS (913)776-4041           Manhattan, KS 66502, USA
Newsgroups: comp.os.vms