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 KAA26256; Thu, 11 Jul 2002 10:14:31 +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 KAA26252 for ; Thu, 11 Jul 2002 10:14:30 +0200 (MET DST) Received: from mel-rto4.wanadoo.fr (smtp-out-4.wanadoo.fr [193.252.19.23]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g6B8EU525904 for ; Thu, 11 Jul 2002 10:14:30 +0200 (MET DST) Received: from mel-rta9.wanadoo.fr (193.252.19.69) by mel-rto4.wanadoo.fr (6.5.007) id 3D18589F008EFC20 for caml-list@inria.fr; Thu, 11 Jul 2002 10:14:29 +0200 Received: from warp (217.128.142.232) by mel-rta9.wanadoo.fr (6.5.007) id 3D2A791A0013E220 for caml-list@inria.fr; Thu, 11 Jul 2002 10:14:29 +0200 Message-ID: <005901c228b2$dfa57ed0$9100a8c0@warp> From: "Nicolas Cannasse" To: "OCaml" References: <200207081952.PAA28813@hickory.cc.columbia.edu> <15657.61603.221054.289184@spike.artisan.com> <200207090442.AAA05638@hickory.cc.columbia.edu> <001f01c2271e$8037adf0$d100a8c0@warp> <3D2C5B77.6060303@ozemail.com.au> <200207102229.g6AMTKB22278@orchestra.cs.caltech.edu> Subject: Re: [Caml-list] Universal Serializer (was: productivity improvement) Date: Thu, 11 Jul 2002 10:13:43 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > > >BTW OCaml functional programming and memory management are two ways of > > >increasing productivity. Pattern matching on structures is also wonderful. > > >For most of the programs, I will say that the productivity rate against C is > > >around 1:3. > > > > > >Nicolas Cannasse > > > > > You must be an academic.:-) Try between 10:1 and 100:1, > > *assuming* that any libraries you need are available, > > and a reasonably complex piece of software. > > > > I agree, but the productivity increase is going to depend a lot on the > experience and skill of the ocaml programmer. As a newbie, I find myself > using a lot of lame imperative idioms before discovering more elegant (and > concise) functional ones. Yes perhaps I've been written too much C++ in my childhood so I'm no more able to introduce memory bugs in C++ code :)) It's easier when you're using good data structures, and a good debugger MSVC++ one is wonderfull , sorry of *nix guys. ) > > The biggest problem in Ocaml is type inference, > > and the resulting loss of localisation of error diagnostics, but > > such compile time errors can be resolved *definitely*; > > that is, you know for sure when you've fixed them > > (because the compiler stops hassling you). > > What do you mean by "loss of localisation of error diagnostics"? Do you > mean that a type error in one location giving an expression which can still > compile (but to the wrong type) results in an obscure error message > elsewhere? I agree that that's occasionally a minor pain, but it's hardly > in the same league with memory leaks etc. If that's ocaml's biggest > problem, then ocaml is the best computer language I've ever seen. It is :) Actually I really think that the reading of errors messages and the "type debugging" that sometimes you have to do is really a part of the knowledge of the language. I mean, instead of learning only syntax ( as in C ) you also have to learn to handle such errors. Quite difficult in the beggining, it becomes easier later.... ( BTW, that could be the definition of "what is a good tool" ) Nicolas Cannasse ------------------- 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