From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 6A27FBBAF for ; Wed, 24 Nov 2010 17:34:03 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AncBAL/N7EzRVdY0k2dsb2JhbACieQgVAQECCQkKCREDH6RniWSCGIUpLohWAQEDBYVCBIpgg3WCCg X-IronPort-AV: E=Sophos;i="4.59,249,1288566000"; d="scan'208";a="89283694" Received: from mail-bw0-f52.google.com ([209.85.214.52]) by mail1-smtp-roc.national.inria.fr with ESMTP; 24 Nov 2010 17:34:03 +0100 Received: by bwz4 with SMTP id 4so8059bwz.39 for ; Wed, 24 Nov 2010 08:34:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:cc:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer; bh=9wF7ZHmnB86rCF2St+v6oZVWVt037k/ssM9SMyQxeho=; b=Oy2PpNFbXqPkx++5omPyd9mprfuj4Qvg8F2VRyVW5/ryyijkwxFucVU7EJp3VrA+Ej UccAZ+vrEkfIB+PSXkyPtRjAP3ZgEC3WHgJY38MyoKNnfxQL97drzvewEgnqktkHMGr5 50OrShdvPyquVBHya2HnVt3QxldxHqUDWwXb8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=cc:message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer; b=xH/X0j60EgwXYbO5mhQEQ9e/PGpbTzvHpLjlfctFX602zMpVudclx71Uvrzi0Bu4Bz ADqMWVPx/j0YarKGISD9HG4tImVldeRoyJDV6v+k8IXi1vk44zhAib6X1CVRKtixRbcL Hcxm1BvYmO1R5nbVJ1BUcfBD6iROsZ0TK2ZwY= Received: by 10.204.65.207 with SMTP id k15mr5595632bki.61.1290616033887; Wed, 24 Nov 2010 08:27:13 -0800 (PST) Received: from tmp9.logic.tuwien.ac.at (tmp9.logic.tuwien.ac.at [128.130.175.59]) by mx.google.com with ESMTPS id 11sm1025762bkj.0.2010.11.24.08.27.11 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 24 Nov 2010 08:27:11 -0800 (PST) Cc: caml-list@yquem.inria.fr Message-Id: <05D2660C-0402-46A5-AA90-86A2F3E51DD7@gmail.com> From: Vincent Aravantinos To: Thanassis Tsiodras In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v936) Subject: Re: [Caml-list] Is OCaml fast? Date: Wed, 24 Nov 2010 17:27:09 +0100 References: <86AD9C8D-EB50-40E9-83D2-E5B5B4D3382F@gmail.com> X-Mailer: Apple Mail (2.936) X-Spam: no; 0.01; ocaml:01 ocaml:01 ocamlopt:01 python's:01 ocaml's:01 parallelism:01 cheers:01 helmet:98 ecosystem:98 exodus:98 exodus:98 039:98 fcc:98 trusting:98 wrote:01 Le 24 nov. 10 =E0 16:30, Thanassis Tsiodras a =E9crit : > On Wed, Nov 24, 2010 at 4:34 PM, Vincent Aravantinos > wrote: >> may we know, after all this intense discussion, what is your feeling? > > Well... (ducks, wears helmet). > > Dr Jon Harrop communicated with me directly (two days ago)... and when > I expressed my lack of faith after reading his "Rise and fall of > OCaml" article at > http://flyingfrogblog.blogspot.com/2010/08/rise-and-fall-of-ocaml.html > , he in fact counter-suggested that F# is now the horse to bet on - > so... what do you guys think? > > Over the last couple of days, I've played a lot with ocaml (to be > exact, Linux/ocamlopt, since my interest in the speed of what I make > remains dominant) as well as F# (with Visual Studio 2008). To my > limited understanding, the differences between OCaml and F# are small > - and the benefits of direct access to the .NET ecosystem of libraries > seems to counter the ... uncertain status of OCaml libraries. I just > begun looking into all this, so I could be very wrong, of course - but > I am spoiled rotten with Python's libraries, so not having "batteries > included" in OCaml seemed like quite a problem... until I realized F# > completely covers this. > > So, to conclude - what do you guys think about F# ? I personally do not know much of F#. Particularly because I do not =20 have a Windows machine :( We all know here that Jon is very fond of F# =20= after having been fond of Ocaml for a while. The socalled "Ocaml mass exodus" mentionned in Jon's article seems to =20= me as as objective as the language shootout benchmarks ;) In =20 particular the plot I made myself of the posts to the mailing list is =20= definitely not as clear as the one presented in the article (you can =20 do it yourself from the figures at = ). Jon also mentions (in the comments) the figures from Google =20 Trends about Ocaml vs F# (). But funnily enough, you can see from the excerpts =20 selected by Google that F# deals as much with the language than =20 with... ahem, other stuff. Furthermore the plot was already increasing =20= before the release of F#, so is this increase really significative? My =20= whole point here is not that Jon is wrong or right: maybe he is right, =20= I just say that the supposed exodus does not seem significative to me. =20= Anyhow I do not "feel" it. I would even say that I feel the contrary =20 (and I am not the only one: see Paolo's comment in Jon's article). Then Jon suggests in his article that that this is due to the =20 "inability of Ocaml's GC to [deal with parallelism]". Again, all of us =20= here know that Jon has been quite frustratred with this for a while =20 (and not only him, cf some very recent thread = ). However there are also plenty of guys who are not bothered by =20 this (see the very same thread). Choose your camp. On one hand, if you =20= go to F# you won't have to choose. On the other hand, this does not =20 make F# necessarily faster than Ocaml (as Jon himself proved it: = ). Of course if you listen to Jon you will be convincend that you should =20= choose F#. Many people here will probably react by saying that you =20 should choose Ocaml. I am personnally neutral here: in the end, I =20 would say that both languages are great (about F# I should say "look =20 great" since I never tried it). So whatever is your final choice I =20 guess you won't be disappointed. Cheers, Vincent PS: BTW about the complain in Jon's article about the lack of a native =20= REPL in ocaml, I think this recent post also answers it very partly: = . Probably nothing compared, though, to the F# REPL (trusting Jon on =20= that).=