🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #5131

Re: First Languages (yet again)

#5131
From: Phil C. Miller
Date: Mon, 08 Feb 1988 20:05
81 lines
4673 bytes
In article <3730@megaron.arizona.edu> debray@arizona.edu (Saumya Debray) writes:
>In article <2781@omepd>, pcm@iwarpo3.intel.com (Phil C. Miller) writes:
>> Part of the reasoning behind a technical education should be to prepare
>> a student for the working experience.  I contend that exposing
>> first-year students to a functional programming language does not fit
>> that role.
>
>Assuming you're not referring to two-year trade schools that crank out
>programmers, I disagree.  In my opinion, a primary purpose of a CS
>degree program is to teach students the basic principles of computation.

I cannot agree that languages like Prolog and ML teach students the
basic principles of computation.  Prolog is quite foreign to the
underlying structure of existing (von Neumann) architectures.  ML, as a
functional programming language, enforces a programming style which is
(1) inefficient; (2) not in widespread use; (3) not compatible with
most algorithms which appear in the literature.  Seems to me that any
of these are an adequate counter-argument to use of ML as an
introductory language.  Prolog, while a fine language for AI/DBMS
applications, is simply not a general-purpose language.


>I feel that at the early stages, this is best done using a declarative
>language.  Starting out with high-level assemblers like C or Basic can all
>too easily damage students' brains to a point where they have a hard time
>grasping any concept not directly available in these languages.

The generalization inferred by this is that any programmer not exposed on
day one to declarative languages is brain-damaged.  This covers 99.99999%
of programmers.  Too bad, if only Donald Knuth and Per Brinch Hansen had seen
ML before they were ruined.

>If your student progresses beyond the first year, he'll presumably
>encounter languages like C; with early exposure to declarative languages,
>he should have the background to use these in a disciplined way.  If he
>doesn't progress beyond the first year, of course, the point is moot.

This brings us full circle to the original point: what should be the first 
language a student is taught.  Most universities use Pascal or C, which at
least offer the twin advantages of (1) widespread use and (2) some
comprehensible relationship to the underlying architecture.

>> [ ... ]  I have just changed jobs.  In no interview was I asked
>> whether I knew ML; in every interview I was asked if I knew C.
>
>A lot of interviewers are idiots who'll also ask you whether you've worked
>on machine PQR and operating system XYZ.  Do you feel that, in "preparing a
>student for the work experience", schools should dispense with computer
>architecture courses, in favor of training on a dozen different machines?

I obviously said nothing of the kind, directly or indirectly.

Questioning an applicant regarding his/her level of expertise in a
particular programming language gives an interviewer some assessment of
the applicant's potential for contribution TO AN EXISTING SOFTWARE
METHODOLOGY.  In other words, given that a company needs someone to
work on Unix in C for a project which may already be behind schedule,
they merely wish to know how long it will be before the applicant can
contribute.

I'll close my comments (and hopefully terminate the religious tirade of
ML fans) by stating that declarative languages have a place in computer
science education.  I happen to feel that the place is graduate school
and not undergraduate.

One minor point I should make here: I have formally studied both ML and 
Prolog in graduate school, and I think both are fine languages.  I just
don't think a first-year student see them as their first language, just
like I don't think Latin is a good language to teach your children when
they are first learning to talk: you teach them the language most commonly
in use in their culture.


>-- 
>Saumya Debray		CS Department, University of Arizona, Tucson
>
>     internet:   debray@arizona.edu
>     uucp:       {allegra, cmcl2, ihnp4} !arizona!debray

Phil Miller
Only I am responsible for my opinions.
Technical Details
Message-ID: <2809@omepd>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!aurora!labrea!agate!ucbvax!hplabs!hp-pcd!uoregon!omepd!pcm
References: <4022@ames.arpa> <2400002@otter.HP.COM> <932@its63b.ed.ac.uk> <2781@omepd> <3730@megaron.arizona.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!aurora!labrea!agate!ucbvax!hplabs!hp-pcd!uoregon!omepd!pcm
From: pcm@iwarpo3.intel.com (Phil C. Miller)
Newsgroups: comp.lang.misc
Subject: Re: First Languages (yet again)
Message-ID: <2809@omepd>
Date: 8 Feb 88 20:05:37 GMT
References: <4022@ames.arpa> <2400002@otter.HP.COM> <932@its63b.ed.ac.uk> <2781@omepd> <3730@megaron.arizona.edu>
Sender: news@omepd
Reply-To: pcm@iwarpo3.UUCP (Phil C. Miller)
Organization: Intel Corp., Hillsboro
Lines: 80