| 1. | | Io (iolanguage.com) |
| 45 points by philcrissman on Feb 9, 2008 | 13 comments |
|
| 2. | | "Among this year’s worst news, for me, was the death of Bobby Fischer." - Dick Cavett (nytimes.com) |
| 38 points by robg on Feb 9, 2008 | 7 comments |
|
| 3. | | Homework for the startup founders (google.com) |
| 21 points by nreece on Feb 9, 2008 | 5 comments |
|
| 4. | | How not to write Python code (eikke.com) |
| 21 points by iamelgringo on Feb 9, 2008 |
|
| |
|
|
| 6. | | Ask PG: Link to comments in RSS |
| 18 points by hugov on Feb 9, 2008 | 22 comments |
|
| 7. | | Zvents releases open-source cluster database - Hypertable - based on Google's design (linuxworld.com) |
| 17 points by nickb on Feb 9, 2008 |
|
| |
|
|
| |
|
|
| 10. | | How to lose fans and (falsely) influence people (firstround.com) |
| 14 points by terpua on Feb 9, 2008 | 1 comment |
|
| 11. | | Arc Internals, Part 1 (arcfn.com) |
| 13 points by mqt on Feb 9, 2008 |
|
| 12. | | Terry Tao: The blue-eyed islanders puzzle (terrytao.wordpress.com) |
| 13 points by kkim on Feb 9, 2008 | 19 comments |
|
| 13. | | We launched: massify.com (massify.com) |
| 14 points by jawngee on Feb 9, 2008 | 20 comments |
|
| 14. | | Nuclear fusion is coming, says noted VC (news.com) |
| 11 points by ingenium on Feb 9, 2008 | 4 comments |
|
| |
|
|
| |
|
|
| |
|
|
| 18. | | Heroku | the Ruby on Rails Podcast (rubyonrails.org) |
| 11 points by luccastera on Feb 9, 2008 | 4 comments |
|
| |
|
|
| |
|
|
| 21. | | Ask PG: hidden mod commenting? |
| 10 points by yters on Feb 9, 2008 | 21 comments |
|
| 22. | | DIY Short Range Personal Radar: $30 (pyroelectro.com) |
| 9 points by chaostheory on Feb 9, 2008 | 6 comments |
|
| |
|
|
| 24. | | Sniff browser history for improved user experience (niallkennedy.com) |
| 9 points by toffer on Feb 9, 2008 | 2 comments |
|
| |
|
|
| 26. | | How Vista launches programs - or, a detailed analysis of how precisely not to launch programs (slashdot.org) |
| 8 points by nickb on Feb 9, 2008 |
|
| 27. | | Innovative Lisp (groups.google.com) |
| 8 points by muriithi on Feb 9, 2008 | 4 comments |
|
| 28. | | Nokia turns people into traffic sensors (news.com) |
| 7 points by terpua on Feb 9, 2008 |
|
| |
|
|
| |
|
|
|
| More |
It's a loyal language because it doesn't bite you in the ass when you don't expect it. It's practical because there's a decent number of (high-quality, in general) libraries available, there are several concessions to serviceability in the language (mainly the ability to combine imperative and functional styles) and the implementation is solid and stable.
I haven't experienced the problems with the type system I've seen some people complain about. On the contrary, I've found it to be immensely helpful both when exploring new ground and when refactoring code. Deliberately breaking the code by changing a type or a function and letting the compiler guide you is a joy. In addition to other well-known benefits (Caml riders often feel that "it works as soon as it types" for a reason...) I won't repeat here, the type system (in particular the module system) sometimes makes me realize that I'm following the wrong track (I've learned to love functors after the early troubles).
Another thing I appreciate very much is the excellent performance and its predictability (other people might not care about this). The compiler doesn't (nor needs to) do deep magic the way GHC does to yield good results, so you can easily predict the performance (speed & memory usage) of your code --- and improve it when needed. Joel Raymond tells how this feels perfectly: "I would describe working with OCaml to guiding a scalpel: you move it and things happen. Right now, right here, in real-time. Compilation time is almost unnoticeable, the tool is powerful but reasonably simple. I have no problem expressing the most complex things and moving the project forward at a fast clip. I'm enjoying myself tremendously at the same time!" (Joel has switched to Erlang^H ^H^Hfactor^H^H^H K since he wrote that, though).
Expanding a bit on the Objective Caml toolset, I haven't really used ocamldebug (even though it knows some fine tricks like allowing you to go back in time...), but I often use the profiler and I've come to love camlp4, a tool that allows you to extend OCaml's grammar (I'll just say that it's very powerful, this post is already getting too long). I use the REPL mainly to explore libraries (just do "include Themodule" to see all its types & functions) or to check the type of a function (the type almost always tells you all you need to know without reading the documentation). I don't find it worse than irb --- but I rarely code inside the REPL anyway.
Now for the cons... as much as I like the language, some things could be improved:
* the standard library is a bit meager. Several third-party libs to complement/extend it exist, but there's still work left (there's some activity in the works to create a Community Distribution with richer libs).
* sometimes you feel some kind of ad-hoc polymorphism would be nice
* I've also wished a few times that the compiler were a bit smarter (inlining in higher-order functions, other classical optimizations)
* the community is very quiet: the code-to-blogging/discussion ratio is much higher than in other communities. INRIA isn't very talkative regarding its future plans for the language, and the ML has seen moderate activity historically (it's been revitalized as of late after the first OCaml Meeting)