Version française
Home     About     Download     Resources     Contact us    
Browse thread
Teaching bottomline, part 3: what should improve.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: David Teller <David.Teller@e...>
Subject: Re: [Caml-list] Teaching bottomline, part 3: what should improve.
On Wed, 2007-05-23 at 00:39 +0100, Jon Harrop wrote:
> Fascinating. Thanks for reporting the information. If I might be so brash as 
> to comment on the problems you had that have already been fixed by F#:

I mentioned F# to them, by the way. Somewhere along the lines of "It looks
good, it might be the future, unfortunately, at the moment, you need Windows and 400€
worth of Visual Studio to try it".


> There are two possibilities here:
> 
> You want to use Windows => Use F#, Visual Studio and F# for Visualization and 
> not OCaml.
> 
> You want good free software => Use Linux and not Windows.

Not my call, unfortunately. So far, I have no budget, and Windows.

> > * Error messages of the type system are somewhat obscure. [...]
> F# currently has better graphical throwback of inferred type information but 
> slightly worse messages, IMHO.

Good to know. Can I get this graphical throwback without VS ?

> OCaml is 
> largely undocumented (the compiler, several code libraries, the top-level, 
> camlp4). There is some additional documentation (e.g. my book) but you must 
> pay for it.

There's no way I'm going to demand additional purchases from my
students.

> > * Arrays of arrays (of arrays...) are a bit obscure for students,
> > although they're getting better at it.
> 
> F# provides multidimensional arrays, arbitrary-size arrays, immutable arrays, 
> resizeable arrays, allows array subscript syntax to be overloaded and is 
> faster than OCaml on array code. Arrays are a real weak point of OCaml ATM, 
> along with div and mod, functors, concurrency and some other things.

Div and mod ? How so ?


> If you want your students to be future proof then you would do well to prepare 
> them for massively parallel computing on CPUs with hundreds or even thousands 
> of cores. OCaml it completely ill-equipped for this. In contrast, F# provides 
> native threads/locks/semaphores/threads/threadpools inherited from .NET as 
> well as async programming via extra syntax. Concurrency is beautiful in F# 
> and it works today.

Well, I didn't have enough time to tell them much about threads et al. I
just had time to mention their existence.

Plus I tend to believe that the OCaml-style future looks more like
JoCaml (or Acute, or Oz, or Erlang) than like semaphores.

Cheers,
 David