Path: utzoo!utgpu!watmath!att!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!murtoa.cs.mu.oz.au!munnari.oz.au!uqcspe!batserver!paul
From: paul@batserver.cs.uq.oz (Paul Bailes)
Newsgroups: comp.lang.misc
Subject: Re: Which language to teach first?
Message-ID: <1304@batserver.cs.uq.oz>
Date: 14 Aug 89 23:46:45 GMT
References: <2584@aplcen.apl.jhu.edu> <6226@hubcap.clemson.edu>
Sender: news@batserver.cs.uq.oz
Reply-To: paul@batserver.cs.uq.oz
Organization: Computer Science Department, The University of Queensland, Brisbane, Australia
Lines: 22

The answer is quite clear: a modern-style functional language: Miranda (TM),
Haskell (when it appears), or even Hope. This is because

	* intro. courses are about establishing both a vocabulary
	  and a mind-set

	* functional languages are more expressive (in a sense) than
	  procedural languages (ie better for presenting a vocab.)

	* functional languages admit simple formal proofs, allowing
	  the establishment of a pro-formal methods mind-set (such
	  as encouraged by Dijkstra's SIGCSE paper)

	* there is at least one superlative text book: ``Introduction
	  to Functional Programming'' by Richard Bird and Phil Wadler
	  (Prentice-Hall).

	  ANYONE WHO HASN'T READ IT JUST ISN'T SUFFICIENTLY INFORMED
	  TO EVEN BEGIN TO DEBATE THE ISSUE OF WHAT SHOULD BE AN
	  INTRO PROGRAMMING LANGUAGE (seriously!)

Paul Bailes