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 KAA08535; Tue, 27 Mar 2001 10:57:37 +0200 (MET DST) 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 KAA08530 for ; Tue, 27 Mar 2001 10:57:36 +0200 (MET DST) Received: from mailgw1.fhg.de (mailgw1.fhg.de [153.96.1.2]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f2R8vVT26433 for ; Tue, 27 Mar 2001 10:57:31 +0200 (MET DST) Received: from ilt.fhg.de (ilt.ilt.fhg.de [153.96.180.2]) by mailgw1.fhg.de (8.11.1/8.11.1) with ESMTP id f2R8vSh13058 for ; Tue, 27 Mar 2001 10:57:28 +0200 (MET DST) Received: from eent230 (iltpc099.ilt.fhg.de [192.102.148.99]) by ilt.fhg.de (8.9.3/8.9.3) with SMTP id KAA24323 for ; Tue, 27 Mar 2001 10:57:29 +0200 (MET DST) Message-Id: <200103270857.KAA24323@ilt.fhg.de> From: wester@ilt.fhg.de To: caml-list@inria.fr Date: Tue, 27 Mar 2001 10:57:26 +0200 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: [Caml-list] Why People Aren't Using OCAML? (was Haskell) In-reply-to: <4.3.2.7.2.20010326172152.02986a60@shell16.ba.best.com> References: <000f01c0b438$e4276850$53c0b3d1@SFOWVCHAK1L7> X-mailer: Pegasus Mail for Win32 (v3.01d) Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > > I just gave a talk at the Game Developers Conference (www.gdconf.com) on "modern" language features, most of which are associated with functional programming (although the misnomer "modern" is a little odd, since they're almost all in Lisp, and ML's 20 ye > ars old :). I don't have the feedback forms on the talk yet, so I don't know how useful people found it, but it filled up completely and they were turning people away, which for a 9am talk at a game conference strongly implies people are interested in al > ternative languages! > > I'll put the slides up on my website soon, although I doubt anybody on this list will learn anything from them. OCaml has all the features I talked about except 1) introspection/reflection and 2) template-style generics (as opposed to polymorphism-style > generics). > Don't you hope that at least occasionally there will be an OCaml/funtional language beginner on this list, somebody like me? The original question was: Why People Aren't Using OCaml? I think one reason is that almost all programmers have to deal with C in one way or the other. That means that C is one of the first languages everybody has to learn. There has been a campain promoting object oriented programming over the last decade. The message was: If you want to write good, maintainable software use an object oriented language. The "natural" choice for C programmers is then C++ and Java. I guess most programmers don't even have an idea what functional programming is. And for a programmer who has experience with C++, Java and say Python there must be some really good reasons to use any other language than these main stream languages (consider libraries, IDE's, colleagues etc.). What I missed when I started to look for alternatives to C++ (I still make silly mistakes that take a lot of time to eliminate), Java (which I find cumbersome to use, all these cast's) and Python (to slow for some applications) was a sound comparison of languages that not only claimed that one can implement programs 10 times faster when using for example OCaml (or Lisp or Haskell) compared to Java but that also gave simple examples which a C++, Java programmer is able to comprehend without having the need to learn OCaml and become experienced in using it. One reason for me to learn Java and Python have been their huge libraries. OCaml also has a good library (and a good documentation of it) but there are quite a lot of things missing compared to Java and Python (please don't understand this as critique). Onother problem that I as a OCaml beginner had (and still have) is where to use ";" and where not and some other problems with the syntax (why not "if then else endif" instead of having to use "begin end"?). I think that the hints in the OCaml documentation concerning this problems could be more extensive to help beginners. I just began to use OCaml for some small programs. I especially like the toplevel which together with Emacs and Tuareg makes rapid prototyping quite easy. But probably I still didn't grasp what the real advantages of OCaml compared to C++, Java etc. are. So give me and other OCaml beginners some more help to better understand what makes OCaml superior compared to these main stream languages. Rolf ------------------------------------- Rolf Wester wester@ilt.fhg.de ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr