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 LAA09557; Tue, 11 Mar 2003 11:23:56 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA06676 for ; Tue, 11 Mar 2003 11:23:55 +0100 (MET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h2BANnf15782; Tue, 11 Mar 2003 11:23:49 +0100 (MET) Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id LAA09578; Tue, 11 Mar 2003 11:23:48 +0100 (MET) From: Pierre Weis Message-Id: <200303111023.LAA09578@pauillac.inria.fr> Subject: Re: [Caml-list] OCaml popularity In-Reply-To: <005d01c2e76f$92d0f8b0$2713f9ca@WARP> from Nicolas Cannasse at "Mar 11, 103 10:43:10 am" To: warplayer@free.fr (Nicolas Cannasse) Date: Tue, 11 Mar 2003 11:23:48 +0100 (MET) Cc: graham_guttocks@yahoo.co.nz, caml-list@inria.fr X-Mailer: ELM [version 2.4ME+ PL28 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Spam: no; 0.00; pierre:01 weis:01 caml-list:01 recognized:99 camlp:01 ocamlc:01 -pp:01 introductory:99 cristal:01 ocaml:01 caml:01 underlying:01 syntax:02 ast:02 unix:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk [...] To briefly answer your question: I think Caml is not so popular because there were no big company or extremely important and successful tool to advertize it all over the place (like Sun did for Java or Unix for C). In short, Caml is more and more recognized as a powerful and well-crafted language among expert programmers, but it is almost unknown to the general audience. > There is few beginnings of answers two your question : > - some people are telling that you need a PhD to fully understand (and > appreciate) OCaml . That's somehow exagerate, but not so much, since you > need to know at least several programming languages to really understand how > Ocaml is great compared to them :) You're right: it seems that people need to suffer a lot by programming (bugs) in C or Java before they really appreciate Objective Caml. > - about the syntax, I had some experience of teaching Ocaml to some people, > plus my own Ocaml-learning experience. The current syntax take some time to > get, but is quite good and brief once you got it. But you have to really > understand the underlying typing algorithm when you got a type error. I > think this is perhaps the biggest problem with OCaml syntax right now : > while C/Java will tell you " missing ';' " , Ocaml will simply said " Syntax > Error ". In this case, you should try camlp4 (ocamlc -pp camlp4o): it very often gives a fairly good hint about the syntax error (although you have to know something about the Caml AST to fully benefit from the error report). > The same goes for typing. Just make write few lines to a beginner, > he will hit into something like " this expression has type unit -> string > but is here used with 'a -> unit" ( quite an obvious error message for > people here, but perhaps a little bit difficult to get when you don't know > the language ) You are also right: this language has to be taught before being profitably used. The darker side of this fact is that conversely, you have to learn it. This may be the main drawback of Objective Caml: there is no ``Objective Caml for dummies''. That may be the price to pay to use a powerful and theoretically well-founded language. As a long time Caml teacher, I used to start the course with a small introductory speech that roughly goes like that: «you're smart guys, all of you; today you are smart {\em and} lucky, since you get the opportunity to learn the smartest programming language I know, so smart that it could change your way of thinking about programs and computers. Indeed, it will not be easy, but you will gain a lot of new ideas from Caml and this is worth the effort!» After such an introduction, some students are afraid and some are enthousiastic; after a while, they all discover that this is plain true: learning Caml is indeed profitable to the way you deal with programming problems, but on the other hand, yes, it is not so easy ! Pierre Weis INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis/ ------------------- 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