Path: utzoo!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!pacbell.com!att!ucbvax!pasteur!hermes.Berkeley.EDU!kemnitz From: kemnitz@hermes.Berkeley.EDU (Greg Kemnitz) Newsgroups: comp.edu Subject: Re: Language Use Summary: After theory comes paying the rent... Keywords: C,Ada,Pascal,C++,Other? Message-ID: <12103@pasteur.Berkeley.EDU> Date: 18 Mar 91 19:28:14 GMT References: <1150@ra.MsState.Edu> <1991Mar17.012524.9090@agate.berkeley.edu> Sender: news@pasteur.Berkeley.EDU Reply-To: kemnitz@hermes.Berkeley.EDU (Greg Kemnitz) Distribution: comp Organization: University of California, Berkeley Lines: 89 Some statements about languages and industry. Note that this is based on my experience in the US and is not "official"... In my experience, the following seems to be true: 1. Algol-style languages are still by far the most common in software development, at least in industry. 2. It is quite rare for knowledge of a Lisp-like language to be necessary outside of relatively restricted environments (ie expert-system vendors, some military and DOD work, etc). These languages are far more important in academia than they are in industry. 3. While ADA is The Required DOD Language, it has not caught on in quite the way the DOD envisioned for various factors, among them is the fact that the vast majority of software people are not working on projects that are source-code deliverable to the Department of Defense, and it took quite a while before ADA compilers of any quality appeared on real hardware. The DOD itself may have killed ADA with a loophole that several large trucks have been driven through - the statement that ADA was unnecessary if it was too expensive and not "mission critical" (ie F-16 flight control software). ADA is used a a few MIS shops and at some DOD contractors, but outside this relatively restricted domain, it is not very common. The following seem to be the most commonly used languages in industry: 1. C. The old favorite, with all its foibles and annoyances, is still the undisputed leader in UNIX and PC software development. I don't want to quote percentages, but C is dominant enough in these environments that _not_ using C for a piece of software indicates an unusual group. Pay for good C hackers is generally the best in the industry. 2. COBOL. This ancient language still dominates MIS shops. However, COBOL programmers are almost always the most poorly paid in industry. It is unclear to me whether C or COBOL is number one in actual numbers of people coding in each. COBOL is likely to stay around as long as MIS shops exist, primarily due to the conservative nature of most MIS executives, and their colossal investments in existing hardware and software. 3. FORTRAN. This is another ancient language that dominates by force of inertia. Used largely by scientific programming shops or people who crunch numbers. Billions of lines of code guarantee that this language will continue to be important, in spite of the nightmares that seeing a GOTO statement cause modern software engineers. 4. C++. The first (and as far as I can see only) of the "object oriented" languages to become truly important in industry. Many C shops are converting to C++ so they can take advantage of existing code as well as the wins that object oriented programming provide. C programmers should learn C++, and its object oriented programming paradigm, if they learn nothing else. A person skilled in C++ will not have many problems finding a job. The Small Fry: Lisp, ADA, Pascal (once much more important - derailed largely by C), Modula I, II, etc, PROLOG, Forth (important in manufacturing and robotics), numerous smaller and in-house languages. While it is important for students to be able to learn any programming language quickly and easily, and to be exposed to several different language paradigms, they need to eat as well. A CS major whose undergraduate curriculum has emphasized Lisp and Ada, and has no experience in C, will find that employment prospects are quite limited. While this should not stop universities from teaching new programming paradigms, they must pause and think whether their graduates will be able to eat, and make sure their students are armed with both the latest in paradigms and software engineering techniques, and have a good understanding of languages and paradigms they are likely to encounter in industry. The argument that any good student can pick up any programming language quickly makes sense in the context of teaching, but it often doesn't wash with hiring managers and the personnel departments that screen resumes. ----------------------------------------------------------------------- Greg Kemnitz | "I ran out of the room - I Postgres Chief Programmer | didn't want to be killed by a pile 278 Cory Hall, UCB | of VMS manuals" :-) (415) 642-7520 | kemnitz@postgres.berkeley.edu | --A friend at DEC Palo Alto in the Quake