Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: Why OCaml sucks
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jeff Polakow <jeff.polakow@d...>
Subject: Re: [Caml-list] Re: Why OCaml rocks
Hello,

> We investigated alternative languages to diversify into last year and 
Haskell 
> was one of them. The single biggest problem with Haskell is that it is 
wildly 
> unpredictable in terms of performance and memory consumption. 
> 
This is only the case if you don't understand lazy evaluation. This is no 
different from OCaml, or any language. One must understand the operational 
semantics to write efficient code. Imagine how a C programmer feels when 
writing OCaml without knowing to make functions tail-recursive.

> The Haskell mailing lists are full of people asking why their programs 
run so 
> slowly. The response is generally to litter the code with strictness 
> annotations and then resort to unsafe operations. There is virtually no 
> usable information explaining how to optimize Haskell code.
> 
Many people using Haskell don't fully appreciate the enormous difference 
between eager and lazy evaluation; furthermore, most languages, functional 
or otherwise, use some sort of eager evaluation. Strictness annotations 
and unsafe operations are rarely necessary to write efficient code (but 
they are necessary to make code written for an eager language run fast in 
a lazy language). 

In any case, I'm not trying to push Haskell or OCaml; they are both useful 
in the real-world.

I wonder if similar complaints (unpredicatable performance, memory use, 
dearth of practical information) will arise about F# as it starts to be 
widely adopted in the real world.

-Jeff



---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.