Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] Why People Aren't Using OCAML? (was Haskell)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: wester@i...
Subject: Re: [Caml-list] Why People Aren't Using OCAML? (was Haskell)
> 
> I just gave a talk at the Game Developers Conference (www.gdconf.com) on "modern" language features, most of which are associated with functional programming (although the misnomer "modern" is a little odd, since they're almost all in Lisp, and ML's 20 ye
> ars old :).  I don't have the feedback forms on the talk yet, so I don't know how useful people found it, but it filled up completely and they were turning people away, which for a 9am talk at a game conference strongly implies people are interested in al
> ternative languages!
> 
> I'll put the slides up on my website soon, although I doubt anybody on this list will learn anything from them.  OCaml has all the features I talked about except 1) introspection/reflection and 2) template-style generics (as opposed to polymorphism-style 
> generics).
> 

Don't you hope that at least occasionally there will be an OCaml/funtional language 
beginner on this list, somebody like me? 

The original question was: 
                          
                            Why People Aren't Using OCaml?

I think one reason is that almost all programmers have to deal with C in one way
or the other. That means that C is one of the first languages everybody has to
learn. There has been a campain promoting object oriented programming over 
the last decade. The message was: If you want to write good, maintainable 
software use an object oriented language. The "natural" choice for C programmers
is then C++ and Java. I guess most programmers don't even have an idea 
what functional programming is. And for a programmer who has experience
with C++, Java and say Python there must be some really good reasons to
use any other language than these main stream languages (consider libraries, 
IDE's, colleagues etc.). 

What I missed when I started to look for alternatives to C++ 
(I still make silly mistakes that take a lot of time to eliminate),
Java (which I find cumbersome to use, all these cast's) and Python (to slow 
for some applications) was a sound comparison of languages that not only
claimed that one can implement programs 10 times faster when using for 
example OCaml (or Lisp or Haskell) compared to Java but that also gave 
simple examples which a C++, Java programmer is able to comprehend without
having the need to learn OCaml and become experienced in using it. 

One reason for me to learn Java and Python have been their huge libraries.
OCaml also has a good library (and a good documentation of it)  but there
are quite a lot of things missing compared to Java and Python (please 
don't understand this as critique).   

Onother problem that I as a OCaml beginner had (and still have) is where
to use ";" and where not and some other problems with the syntax 
(why not "if then else endif" instead of having to use "begin end"?). I think
that the hints in the OCaml documentation concerning this problems 
could be more extensive to help beginners.

I just began to use OCaml for some small programs. I especially like the
toplevel which together with Emacs and Tuareg makes rapid prototyping
quite easy. But probably I still didn't grasp what the real advantages of 
OCaml compared to C++, Java etc. are. So give me and other OCaml 
beginners some more help to better understand what makes OCaml
superior compared to these main stream languages.

Rolf 

 
 

-------------------------------------
Rolf Wester
wester@ilt.fhg.de
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr