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