Version française
Home     About     Download     Resources     Contact us    
Browse thread
Is OCaml fast?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Vincent Aravantinos <vincent.aravantinos@g...>
Subject: Re: [Caml-list] Is OCaml fast?

Le 24 nov. 10 à 16:30, Thanassis Tsiodras a écrit :

> On Wed, Nov 24, 2010 at 4:34 PM, Vincent Aravantinos
> <vincent.aravantinos@gmail.com> 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  
have a Windows machine :( We all know here that Jon is very fond of F#  
after having been fond of Ocaml for a while.

The socalled "Ocaml mass exodus" mentionned in Jon's article seems to  
me as as objective as the language shootout benchmarks ;) In  
particular the plot I made myself of the posts to the mailing list is  
definitely not as clear as the one presented in the article (you can  
do it yourself from the figures at <http://caml.inria.fr/pub/ml-archives/caml-list/index.fr.html 
 >). Jon also mentions (in the comments) the figures from Google  
Trends about Ocaml vs F# (<http://www.google.co.uk/trends?q=f 
%23%2Cocaml>). But funnily enough, you can see from the excerpts  
selected by Google that F# deals as much with the language than  
with... ahem, other stuff. Furthermore the plot was already increasing  
before the release of F#, so is this increase really significative? My  
whole point here is not that Jon is wrong or right: maybe he is right,  
I just say that the supposed exodus does not seem significative to me.  
Anyhow I do not "feel" it. I would even say that I feel the contrary  
(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  
"inability of Ocaml's GC to [deal with parallelism]". Again, all of us  
here know that Jon has been quite frustratred with this for a while  
(and not only him, cf some very recent thread <http://caml.inria.fr/pub/ml-archives/caml-list/2010/11/642bb03b01227d825e71b0a46ae7e73f.fr.html 
 >). However there are also plenty of guys who are not bothered by  
this (see the very same thread). Choose your camp. On one hand, if you  
go to F# you won't have to choose. On the other hand, this does not  
make F# necessarily faster than Ocaml (as Jon himself proved it: <http://flyingfrogblog.blogspot.com/2010/08/pure-f-now-only-2-slower-than-ocaml.html 
 >).

Of course if you listen to Jon you will be convincend that you should  
choose F#. Many people here will probably react by saying that you  
should choose Ocaml. I am personnally neutral here: in the end, I  
would say that both languages are great (about F# I should say "look  
great" since I never tried it). So whatever is your final choice I  
guess you won't be disappointed.

Cheers,
Vincent

PS: BTW about the complain in Jon's article about the lack of a native  
REPL in ocaml, I think this recent post also answers it very partly: <http://caml.inria.fr/pub/ml-archives/caml-list/2010/11/aef35ed6ad039ce80c5c66175e80fcc5.fr.html 
 >. Probably nothing compared, though, to the F# REPL (trusting Jon on  
that).