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 WAA09564; Fri, 26 Oct 2001 22:13:43 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA09556 for caml-list@pauillac.inria.fr; Fri, 26 Oct 2001 22:13:43 +0200 (MET DST) 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 KAA28845 for ; Fri, 26 Oct 2001 10:45:47 +0200 (MET DST) Received: from saul.cis.upenn.edu (SAUL.CIS.UPENN.EDU [158.130.12.4]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f9Q8jkr07175 for ; Fri, 26 Oct 2001 10:45:46 +0200 (MET DST) Received: from localhost (localhost [127.0.0.1]) by saul.cis.upenn.edu (8.10.1/8.10.1) with SMTP id f9Q8jdx20021; Fri, 26 Oct 2001 04:45:40 -0400 (EDT) To: "Mattias Waldau" cc: "Rolf Wester" , caml-list@pauillac.inria.fr Subject: Re: [Caml-list] Whither the Caml Consortium? In-Reply-To: Message from "Mattias Waldau" of "Wed, 24 Oct 2001 15:52:46 +0200." Date: Fri, 26 Oct 2001 04:45:39 EDT Message-ID: <19987.1004085939@saul.cis.upenn.edu> From: "Benjamin C. Pierce" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > However, not so many people need syncronization. It's a little difficult to tell precisely, but we estimate the current size of the Unison user community at between 1000 and 3000. My sense is that the latent demand is much larger -- we have grown to this size with very little advertising of any kind. I don't know if this qualifies as a killer app for you, but it's clearly moved beyond the ivory tower at this point. (One thing that has surprised me is how many windows-only users we seem to have. Since there are several pretty good commercial synchronizers for Windows, I'd have expected a smaller demand from this community.) > > But even if you have a killer-app written in OCaml you will still have to explain > > to your manager (and even more your colleagues) why you would not have > > been able to write this app in C++ or Java (or why it would have been much > > more effort to do it in another language). I think that because competing > > languages are advertised with buzzwords and their list of "advantages" > > OCaml should be advertised too. An early version of Unison was written in Java. In many ways, this was fine (Java is a pretty nice language, if you don't mind the fact that your code gets about 10x longer than an equivalent ML version), but there were several serious problems with Java: [Disclaimer -- we switched to OCaml three years ago, and some of these points have undoubtedly gotten somewhat better in the interim.] - poor run-time performance (huge memory footprints, poor GC, etc., etc.) - poor portability (despite all the "write-once-run-anywhere" hype, we had neverending hassles with this -- different Swing bugs on different platforms, Linux implementation always a year behind Windows and Solaris, etc., etc.) - poor system-level APIs (in particular, no support for critical filesytem operations like fstat) - poor distribution support (RMI is a nice design, but the implementation was unbelievably heavy and expensive) When we switched to OCaml, all these hassles vanished. The one technical downside was that going to OCaml involved doing a certain amount of work ourselves that was done for us in Java. In particular, we had to roll our own RPC package. However, once this was done, we had something that was right for the job, and that we could understand and control. Moreover, it was fun. :-) There is also, of course, a social downside of using OCaml rather than Java: the developer pool is *much* smaller. However, I don't think this has really made much of a difference for the success of the project -- although the code is GPLed, most of it is pretty intense, and I suspect that there are not that many people even in the bigger Java community that would be capable of picking it up and contributing to the effort without significant help from us (e.g., spending a summer at Penn, or whatever). Conversely, switching to OCaml has made a huge difference for the core development team, and this has contributed significantly to the overall success of the project. All things considered, switching to OCaml was a huge win for Unison. -- B P.S... > Unison could be a killer application, but it lacks all user friendliness. I'd be interested to hear more about what you meant by this (perhaps off-list). ----------------------------------------------------------------------------- BENJAMIN C. PIERCE Associate Prof., Computer & Information Science bcpierce@cis.upenn.edu University of Pennsylvania +1 215 898-2012 200 South 33rd St. Fax: +1 215 898-0587 Philadelphia, PA 19104, USA http://www.cis.upenn.edu/~bcpierce ----------------------------------------------------------------------------- ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr