I've been shopping. The most usable ML package, in my opinion, is ocaml. I'm suprised I haven't seen it mentioned. Its compiler produces native code which runs at worst half the speed of similar C programs. I try to code as much as possible in ML because I enjoy it. C++ is at least ugly and can, at times, be painful.
I think people don't use Scheme and Haskell because it is hellish to develop large scale programs with them. The programs run slowly and become complex.
ML (ocaml) deals with this nicely - it doesnt force functional programming down your throat, it has a great type system, it doesnt force object oriented programming down your throat, the compilation system isnt an afterthought and it looks nice.
Two things I've noticed - if I can get something through the type checker then often it works on the first shot and if it doesnt - its because I made a real mistake - not a grammatical mistake.
And, simple ideas translate into simple code. I have spent countless hours coding C++ wrapper so other people (or me three days later) can read my code and use it - I'm getting sick of it.
Nobody uses it because, although some efforts have been made, there are no good, complete ML libraries. Writing libraries is hard. Look at STL - its an atrocity. The good fascists running the internet censorware should filter it so that the children of tomorrow wont be scarred by its bizarre and unnatural semantics. ML offers the possibility for beatiful libraries.
Also, nobody knows it. A relatively tiny fraction of the community has even heard of it. As far as I know, it is not taught in very many universities. In an industry suprisingly frightened by change, it doesnt come as a shock that nobody uses it. Too bad - (warning: religious claim follows) its better...
I've been shopping. The most usable ML package, in my opinion, is ocaml. I'm suprised I haven't seen it mentioned. Its compiler produces native code which runs at worst half the speed of similar C programs. I try to code as much as possible in ML because I enjoy it. C++ is at least ugly and can, at times, be painful.
I think people don't use Scheme and Haskell because it is hellish to develop large scale programs with them. The programs run slowly and become complex.
ML (ocaml) deals with this nicely - it doesnt force functional programming down your throat, it has a great type system, it doesnt force object oriented programming down your throat, the compilation system isnt an afterthought and it looks nice.
Two things I've noticed - if I can get something through the type checker then often it works on the first shot and if it doesnt - its because I made a real mistake - not a grammatical mistake.
And, simple ideas translate into simple code. I have spent countless hours coding C++ wrapper so other people (or me three days later) can read my code and use it - I'm getting sick of it.
Nobody uses it because, although some efforts have been made, there are no good, complete ML libraries. Writing libraries is hard. Look at STL - its an atrocity. The good fascists running the internet censorware should filter it so that the children of tomorrow wont be scarred by its bizarre and unnatural semantics. ML offers the possibility for beatiful libraries.
Also, nobody knows it. A relatively tiny fraction of the community has even heard of it. As far as I know, it is not taught in very many universities. In an industry suprisingly frightened by change, it doesnt come as a shock that nobody uses it. Too bad - (warning: religious claim follows) its better...
-----
andrew