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 IAA04377; Mon, 15 Jul 2002 08:09:55 +0200 (MET DST) 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 IAA04393 for ; Mon, 15 Jul 2002 08:09:55 +0200 (MET DST) Received: from d12lmsgate.de.ibm.com (d12lmsgate.de.ibm.com [195.212.91.199]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g6F60xf13372 for ; Mon, 15 Jul 2002 08:01:03 +0200 (MET DST) Received: from d12relay01.de.ibm.com (d12relay01.de.ibm.com [9.165.215.22]) by d12lmsgate.de.ibm.com (8.12.3/8.12.3) with ESMTP id g6F60mLt015162 for ; Mon, 15 Jul 2002 08:00:48 +0200 Received: from d10hubm1.telaviv.ibm.com (d10ml001.telaviv.ibm.com [9.148.216.55]) by d12relay01.de.ibm.com (8.11.1m3/NCO/VER6.2) with ESMTP id g6F60jN15068 for ; Mon, 15 Jul 2002 08:00:47 +0200 Subject: Re: [Caml-list] Re: productivity improvement To: OCaml X-Mailer: Lotus Notes Release 5.0.7 March 21, 2001 Message-ID: From: "Ohad Rodeh" Date: Mon, 15 Jul 2002 09:00:43 +0300 X-MIMETrack: Serialize by Router on D10ML001/10/M/IBM(Release 5.0.9a |January 7, 2002) at 15/07/2002 09:00:47 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk The numbers for the Ensemble group communication (www.cs.cornell.edu/Info/Projects/Ensemble), where more like 7:1, instead of 2:1. The previous incarnations of the system were written in C. Comparing line-counts for similar modules we got a 7:1 reduction when using OCaml. The resulting system was also a lot more stable and easier to maintain. This would counteract the notion of Caml being good only for producing compilers. Ohad. ----------------------------------------------------------------------------------- Ohad Rodeh tel: +972-3-6401641 IBM Haifa, storage research Dave Berry , Oleg > cc: Sent by: Subject: Re: [Caml-list] Re: productivity improvement owner-caml-list@pauill ac.inria.fr 14/07/2002 23:44 Please respond to Dave Berry At 13:43 12/07/2002, Markus Mottl wrote: >I'd say that depending on the kind of the problem 1:3 >to 1:10 is reasonable and fits well to the experience of others. E.g., >the Erlang developers also report productivity gains in this range on >large-scale commercial projects. OCaml will most likely have similar >ratios. I find it unlikely that OCaml would increase productivity as much as Erlang. Erlang is designed primarily for concurrent programming (I believe). When people attempt concurrent programming in C, C++ or Java, they typically use primitive notions such as threads and locks. This is noticeably harder and more error-prone than sequential programming. Therefore any language that concentrates on this problem has more to gain than a primarily sequential language. AFAIK, OCaml uses threads and locks for concurrent programming, and so is no better in this respect than conventional languages (it could even be worse, depending on how its GC interacts with threads and distributed code). As a commercial manager, I've seen a productivity improvement of about 50% using Java over C++ -- mainly arising from automatic memory management, and a slightly cleaner language. I would expect OCaml to have that 50%, and perhaps another for a more expressive type system, making 2:1. For some problems, e.g. compilers, the increase might be more, say 3:1 or 4:1. For comparison, this is also the productivity improvement I'd expect to see using Visual Basic over C/C++ for small GUI/Database problems. Dave. ------------------- 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 ------------------- 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