From: solman@athena.mit.edu (Jason W Solinsky)
Subject: Re: Computer Science Programs
Organization: Massachusetts Institute of Technology
Date: Tue, 18 Aug 1992 00:52:03 GMT

In article <Bt4x5K.9vI@usenet.ucs.indiana.edu>, mdchaney@fractal.ucs.indiana.edu (M Darrin Chaney) writes:

|> Anyway, there is an extreme the other way.  The "Scheme only" schools won't
|> get my praise, either.  I think that learning the theoretical computer
|> science is nice, but it won't get you a job.

Actually, people here in course six haven't really seen the trouble that the
news says is hitting college graduates elsewhere. Companies know that after
finishing 6.001 it takes all of an hour to learn a new language. The only
other way to develope this skill is to do it the way I did before I got to
MIT, learn lots of languages and spent alot of time using them. 6.001 embues
it in one semester. Groups software engineering comes from 6.170 (I don't agree
with how they teach it [in fact I think it sucks], but from an employer's
standpoint it does its job.) and after a grand total of 420 hours including
all homework and classes you are more than capable of doing real world work.

The point I generally make with this is that an undergraduate degree is NOT
NECESSARY to program in the real world. A skilled software engineer can make
up the difference between him and a college educated programmer very quickly
and if all you want to do is get a job programming, wasting four years
opportunity cost and tuition on college is a HUGE mistake.

|> Sadly, alot of people are trying to push their opinions off on others in
|> this area.  If I pay a school to educate me in the area of Computer Science,
|> I expect to be able to get a job when I get out.  If I wanted to become a
|> professor later, I might have more appreciation of theory, but few people
|> want to take that direction.

It is reasonable to assume, that anybody who decides to major in computer
science is after more than just learning to program in many languages on many
platforms. Any fool can do that.

|> Depending on what you plan to do in the real-world, C is necessary.  Fortran
|> is still used at alot of lab-type places.  COBOL is, unfortunately, still used
|> extensively in the business world.  The push to C is on, though.  Also, with
|> database work, 4GL's are coming up that are easy to learn in a week, but offer
|> great flexibility, and portability.  And, of course, the military uses ADA.
|> 
|> Dead languages include Pascal and friends.  Lisp and Scheme aren't used much
|> in the real world.  And, wierd languages such as RPG, PL/I, and BLISS are
|> pretty much unknown nowadays.

Lisp (and variants) are used about as much as COBOL and for the same reason.
There were times when they were popular, and people got stuck with them.

The primary problem with your view of languages is that they are becoming
increasingly useless. There are presently many major efforts out there to
bring programming to a higher level of abstraction. NeXT is doing this for
the business world and there are at least three other major efforts that will
catch up within five years. I give this approach of learning many languages
a maximum of 10 years before its largely useless. What will the person who
wasted four years on learning many languages do then. If you can't sit down
with the new software and learn to use it in a week (or as Mr. Jobs argues,
sit down with the new library of NeXTstep objects and learn to understand
them) you will be obsolete. All the COBOL in the world won't help you unless
you are able to adapt instantly.

Jason W. Solinsky