From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id VAA11873; Thu, 13 Mar 2003 21:50:22 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id VAA12042 for ; Thu, 13 Mar 2003 21:50:20 +0100 (MET) Received: from nexus.stwing.upenn.edu (NEXUS.STWING.UPENN.EDU [165.123.132.61]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h2DKoJX25201 for ; Thu, 13 Mar 2003 21:50:19 +0100 (MET) Received: from force.stwing.upenn.edu (daemon@force.stwing.upenn.edu [165.123.132.65]) by nexus.stwing.upenn.edu (8.12.8/8.12.8) with ESMTP id h2DKoCBD024644 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 13 Mar 2003 15:50:12 -0500 (EST) Received: (from wlovas@localhost) by force.stwing.upenn.edu (8.12.8/8.12.8) id h2DKoB71010998; Thu, 13 Mar 2003 15:50:11 -0500 (EST) Date: Thu, 13 Mar 2003 15:50:11 -0500 From: William Lovas To: Oliver Bandel Cc: caml-list@inria.fr Subject: Re: [Caml-list] OCaml popularity Message-ID: <20030313205010.GA7956@force.stwing.upenn.edu> Mail-Followup-To: Oliver Bandel , caml-list@inria.fr References: <200303111023.LAA09578@pauillac.inria.fr> <20030311190230.13615.qmail@web10304.mail.yahoo.com> <20030312171242.GA11435@redhat.com> <20030313021517.GA29102@force.stwing.upenn.edu> <20030313095232.GC347@first.in-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030313095232.GC347@first.in-berlin.de> User-Agent: Mutt/1.4i X-Spam: no; 0.00; lovas:01 wlovas:01 stwing:01 caml-list:01 oliver:01 bandel:01 lacks:01 'til:01 catered:99 ocaml:01 o'caml:02 wrote:03 suppose:03 types:03 imperative:04 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Thu, Mar 13, 2003 at 10:52:32AM +0100, Oliver Bandel wrote: > I/O is on page 76, where imperative programming > is explained. > > When looking into K&R's C book, it's in the first chapter > on the first page to create a feedback from the machine > with the well-known "hello world"-example... Well, since C lacks a top-level read-eval-print loop, being able to do I/O is crucially important early on. Less so with O'Caml -- one can get right into the interesting bits of the programming language without having to know a wink of I/O. The necessary evils like I/O can wait 'til a little bit later... like Chapter 3 :) Plus, the top-level loop approach introduces a number of important concepts early on, like expressions, values, and types. > When you have a functional language and say: Yes, functional > programming is so genious, but get the I/O not before > the chapter about imperative programming, then it looks > not very honestly... > > But adding the FP-features as a "what other languages have not" > (or not so clear) later, this might (not proven it;-)) be > a beter approach in making the language interesting. You're basic objection here is that O'Caml is not being taught in the same way that other programming languages have been taught in the past. Should it be? Maybe O'Caml is different enough from other programming languages that it should be *taught* differently. I suppose it's arguable, though, that O'Caml might be more popular if its teaching style catered more to peoples' expectations. William ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners