caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alwyn Goodloe <agoodloe@gradient.cis.upenn.edu>
To: Markus Mottl <markus@oefai.at>
Cc: Dave Berry <daveb@tardis.ed.ac.uk>,
	Oleg <oleg_inconnu@myrealbox.com>, OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Re: productivity improvement
Date: Mon, 15 Jul 2002 12:43:45 -0400 (EDT)	[thread overview]
Message-ID: <Pine.GSO.4.44.0207142149220.13242-100000@gradient.cis.upenn.edu> (raw)
In-Reply-To: <20020714221328.GB18194@fichte.ai.univie.ac.at>


  I'm not so sure it's that easy to compare productivity for most apps, no
theorem proving isn't a common app. For most apps written in Java, the
extensive class library accounts for much of the productivity gains over
C/C++.  Think of the difference in writing a simple web server in Java
over C/C++.  All you need to do is pick up the O'Riley Books on network
programming and you are off in a day or two. For most common network
programming you can get away without the details required for Unix
socket/thread programming. This is where O'Caml's library falls short of
Java's. While O'Caml has a good library it's nowhere near as extensive as
Java's.  Let's face it there are alot more people contributing to it and
from my experience the quality is very good.  In O'Caml, the productivity
gains come from the programming style.  If you have to build everything
from scratch or when the libraries are comprable I would bet that O'Caml
usually beats Java.


Alwyn Goodloe
agoodloe@gradient.cis.upenn.edu

On Mon, 15 Jul 2002, Markus Mottl wrote:

> On Sun, 14 Jul 2002, Dave Berry wrote:
> > 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.
>
> Erlang is very niche-specific (though, fault-tolerant distributed
> computation is surely a worthy niche). I think that Erlang would find
> it tough to compete against OCaml in most other niches, be it symbolic
> or numeric computation, be it in terms of safety or performance-wise.
>
> I am pretty convinced that a ratio of 1:10 in comparison to mainstream
> imperative languages for tricky symbolic computation as found in theorem
> provers, compilers or also in my field (symbolic machine learning
> systems) is not absurd. Note that 1:10 was the upper bound for estimated
> productivity gains on my projects over C, 1:3 the lower bound. Other
> projects may have other bounds.
>
> > 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).
>
> I really don't think that OCaml has much to fear here. It's support for
> threads is excellent.
>
> > 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.
>
> Visual Basic lives from a wealth of tailor-made libraries and development
> tools for such applications. This is "application development" rather
> than "programming". It's difficult to estimate productivity gains by
> language features as long as libraries/tools do most of the job. You'd
> have to be specific about what you actually want to measure.
>
> Anyway, I'd be really surprised if my average productivity gain using
> OCaml over Java on arbitrary projects were only 2:1. I am pretty sure
> it would be higher than this. Doubling the factor seems quite realistic
> to me.
>
> Regards,
> Markus Mottl
>
> --
> Markus Mottl                                             markus@oefai.at
> Austrian Research Institute
> for Artificial Intelligence                  http://www.oefai.at/~markus
> -------------------
> 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


  reply	other threads:[~2002-07-15 16:43 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-08 19:53 [Caml-list] " Oleg
2002-07-08 20:14 ` Michael Vanier
2002-07-10 15:50   ` John Max Skaller
2002-07-10 18:56     ` Alessandro Baretta
2002-07-10 19:09       ` Jun P.FURUSE
2002-07-11 23:43         ` Pierre Weis
     [not found] ` <15657.61603.221054.289184@spike.artisan.com>
2002-07-09  4:43   ` [Caml-list] Universal Serializer (was: productivity improvement) Oleg
2002-07-09  7:56     ` Nicolas Cannasse
2002-07-09  7:59     ` Nicolas Cannasse
2002-07-10 16:06       ` John Max Skaller
2002-07-10 22:29         ` Michael Vanier
2002-07-11  8:13           ` Nicolas Cannasse
2002-07-12 12:41           ` John Max Skaller
2002-07-14 12:25             ` [Caml-list] Statically detecting arrays bound exceptions ?? (was: Universal Serializer) Berke Durak
2002-07-14 13:24               ` Alessandro Baretta
2002-07-15  8:23                 ` Xavier Leroy
2002-07-15  8:39                 ` Noel Welsh
2002-07-15 21:22                   ` Oleg
2002-07-15 22:44                     ` Michael Vanier
2002-07-16  6:43                     ` Florian Hars
2002-07-16 20:22               ` [Caml-list] " John Max Skaller
2002-07-16 20:36                 ` Johan Baltié
2002-07-16 20:55                   ` Hao-yang Wang
2002-07-17  8:25                   ` Noel Welsh
2002-07-12  1:41         ` [Caml-list] Universal Serializer (was: productivity improvement) Eray Ozkural
2002-07-12  8:10           ` [Caml-list] OCaml QT bindings Stefano Zacchiroli
2002-07-12 17:30             ` Eray Ozkural
2002-07-12 10:37         ` [Caml-list] Re: productivity improvement Oleg
2002-07-12 11:23           ` Markus Mottl
2002-07-12 11:34             ` Oleg
2002-07-12 11:43               ` Markus Mottl
2002-07-12 12:59                 ` Pierre Weis
2002-07-12 16:42                   ` Markus Mottl
2002-07-14 20:44                 ` Dave Berry
2002-07-14 22:13                   ` Markus Mottl
2002-07-15 16:43                     ` Alwyn Goodloe [this message]
2002-07-16 20:14                     ` Dave Berry
2002-07-17  3:21                       ` Eric Merritt
2002-07-15  9:39                   ` Alessandro Baretta
2002-10-15  8:38                   ` Eray Ozkural
2002-10-17 21:27                     ` Dave Berry
2002-10-18  2:48                       ` Eray Ozkural
2002-10-20 12:46                         ` Dave Berry
2002-10-21  6:11                           ` Michael Vanier
2003-05-10 20:41                           ` Eray Ozkural
2002-07-12 11:43             ` Noel Welsh
2002-07-12 12:10               ` Markus Mottl
2002-07-12 13:44           ` John Max Skaller
2002-07-12 16:19             ` Alan Schmitt
2002-07-12 20:41             ` John Carr
2002-07-13 21:19               ` [Caml-list] Re: productivity improvementu Pierre Weis
2002-07-12 21:24             ` [Caml-list] Re: productivity improvement Brian Smith
2002-10-15  8:57             ` Eray Ozkural
2002-10-15 11:50               ` [Caml-list] eproductivity improvement Alessandro Baretta
2002-07-09 12:45 ` [Caml-list] productivity improvement Basile STARYNKEVITCH
2002-07-09 18:20   ` Shannon --jj Behrens
2002-07-09 19:16     ` Oleg
2002-07-09 20:31       ` Shannon --jj Behrens
2002-07-10 10:02     ` sebastien FURIC
2002-07-10 11:58       ` Dave Mason
2002-07-10 13:11         ` sebastien FURIC
2002-07-10 19:22           ` nadji
2002-07-10 20:15       ` Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) Oleg
2002-07-10 20:34         ` [Caml-list] " William D. Neumann
2002-07-10 20:47           ` [Caml-list] Re: Sieve of Eratosthenes Performance: various languages Alexander V.Voinov
2002-07-10 21:16             ` William D. Neumann
2002-07-10 20:49           ` [Caml-list] Re: Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) William D. Neumann
2002-07-11 22:30           ` [Caml-list] Array.resize ? Oleg
2002-07-11 23:06             ` Alessandro Baretta
2002-07-12 13:01               ` John Max Skaller
2002-07-12 18:24                 ` Shawn Wagner
2002-07-11 23:31             ` Markus Mottl
2002-07-12 12:54             ` John Max Skaller
2002-07-12 13:23               ` Olivier Andrieu
2002-07-12 14:05                 ` John Max Skaller
2002-07-12 16:09               ` Brian Rogoff
2002-10-19  9:16                 ` Eray Ozkural
2002-10-19 22:15                   ` [Caml-list] debugger losing contact with debuggee process Lex Stein
2002-10-20 10:06                     ` Pierre Weis
2002-10-21  9:11                     ` Xavier Leroy
2002-10-18  3:05             ` [Caml-list] Array.resize ? Eray Ozkural
2002-10-19  1:51               ` Oleg
2003-05-10 20:24                 ` Eray Ozkural
2002-07-10 20:48         ` Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) Markus Mottl
2002-07-11  5:53           ` Anton E. Moscal
2002-10-18  3:07           ` Eray Ozkural
2002-07-10 15:39 ` [Caml-list] productivity improvement John Max Skaller
2002-07-11  8:57   ` Nicolas barnier
2002-07-12 12:16   ` [Caml-list] Is this a bug? John Max Skaller
2002-07-12 14:05     ` Xavier Leroy
2002-07-16  3:34   ` [Caml-list] productivity improvement Oleg
2002-10-18  3:13     ` Eray Ozkural
2002-07-15  6:00 [Caml-list] " Ohad Rodeh
2002-07-16 20:18 ` Dave Berry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.GSO.4.44.0207142149220.13242-100000@gradient.cis.upenn.edu \
    --to=agoodloe@gradient.cis.upenn.edu \
    --cc=caml-list@inria.fr \
    --cc=daveb@tardis.ed.ac.uk \
    --cc=markus@oefai.at \
    --cc=oleg_inconnu@myrealbox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).