5 ms·
I've been using OCaml for system's programming for 6+ years, and it's better than most other things we've tried. I guess any (mostly) functional language with
by toolslive 11y ago
I've been using OCaml for system's programming for 6+ years,
and it's better than most other things we've tried. I guess any (mostly) functional language with a static type system based on Hindley-Milner would give the same advantage. This advantage is basically: the compiler acts like a neo nazi and slaps you mercilessly on the head whenever you do something stupid. So in the end, you can often get to the "if it compiles, it works" promised land.
The situation improved drastically over the last years with opam which allows easy installation of most packages.
What's still missing, however is
- decent multi core
- resource management for things other than memory. For example, bigarrays don't cause enough gc pressure, and can therefore leak space. Thus people tend to manage that manually (acquire, release) which is even worse than what a C++ dev can use (unique_ptr)
- decent profiling (yes I can leverage strace and callgrind, but they don't understand lwt)
- decent runtime inspection. (what are all theses values in my heap?)
- paxcoder 11y agoThat comparison makes no sense.
- deleted 11y ago[deleted]
- dang 11y agoMaybe not, but a comment like this helps no one. If you know enough to make such a claim then you know enough to show what the problems are, and that would make a much better comment. We'd all learn something.
- paxcoder 11y agoIt might be considered poor form not to spell the problem out, however I honestly think it is crystal clear But what's interesting is that I was being upvoted until I've rephrased the comment. It used to be "That's an unfortunate comparison you've made". In the same time it sounded more moderate and more personal. I've edited it because moderation came at the cost of authenticity/honesty, and I thought addressing the comment risked automatic rejection of the underlying message on the OC's part. I did think that the actual sentiment could sound worse to others, but it would be hypocritical of me not to have gone with it. The underlying message is precisely "don't conform on account of genuineness". Hope this cleared something up after all
- kristianp 11y agoOut of interest, what type of programs do you write with OCaml?
- toolslive 11y agoHere's some of the open source work we've done: https://github.com/openvstorage/alba https://github.com/openvstorage/alba https://github.com/openvstorage/arakoon/ https://github.com/openvstorage/arakoon/
- amirmc 11y agoYou should checkout the work that KC has done over in OCaml Labs. Start with his blog [1] — there are things around Multicore, Effects and Profiling in there. [1] http://kcsrk.info/blog/ http://kcsrk.info/blog/