Path: utzoo!attcan!uunet!mcsun!ukc!edcastle!lfcs!nick From: nick@lfcs.ed.ac.uk (Nick Rothwell) Newsgroups: comp.lang.misc Subject: Re: comp.lang.functional Message-ID: <2875@castle.ed.ac.uk> Date: 16 Mar 90 11:30:14 GMT References: <9003131617.AA02925@decwrl.dec.com> <25ffdf21.179d@polyslo.CalPoly.EDU> Reply-To: nick@lfcs.ed.ac.uk (Nick Rothwell) Organization: Jenny Agutter Appreciation Society of Edinburgh Lines: 44 In-reply-to: jdudeck@polyslo.CalPoly.EDU (John R. Dudeck) In article <25ffdf21.179d@polyslo.CalPoly.EDU>, jdudeck@polyslo (John R. Dudeck) writes: >Having seen that the concensus here is along these lines, I find it >unusual to see that in other parts of the world it is ML that is the >standard language, and C is only looked at as a "get your hands dirty" >language. ... which is how we regard it here at Edinburgh (home of ML, of course). I don't think that C has any redeeming features as a language to illustrate software techniques. I use it on my Macintosh, at home, but we use ML as systems language for everything else. >I suppose that there really is a significant difference in the mainstream >mentality of our educational institutions, between Europe-&-Commonwealth and >America. Of course there are considerable differences between schools in >the US, but overall we have a concern for preparing students for industry/ >business, and there is very little learning for learning's sake. First point: ML is a language with a deep mathematical underpinning; the polymorphic type system, the soundness and principality proofs,the static semantics of modules and parameterisation, the full operational semantics of the language (coming to a bookstore near you, soon), and so on. Ditto for Miranda with its close relation to the lambda-calculus. I get the feeling that this makes these languages unpopular in the US where a computer language is a practical tool to get a job done, and the underlying theory is seen as irrelevant. "So what if the C type system is unsound or incomplete?" I'd be curious (and this is not a flame) to hear how many software people don't care about the things I mentioned at the start of this paragraph, and why. Second point: new languages are not "learning for learning's sake"; the sooner the newer languages (be they functional, OO, or whatever, and no, I *don't* mean C++ here) take over from the old low-level languages we use for the majority of software development today, the sooner software development will become less time consuming and error prone. >John Dudeck Nick. -- Nick Rothwell, Laboratory for Foundations of Computer Science, Edinburgh. nick@lfcs.ed.ac.uk !mcsun!ukc!lfcs!nick ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ A prop? ...or wings? A prop? ...or wings? A prop?