3 ms·
I wrote the core of our system in Clojure a couple of years ago, which is pretty high in productivity and actually quite pleasant to work with. Unfortunately as
by akurilin 12y ago
I wrote the core of our system in Clojure a couple of years ago, which is pretty high in productivity and actually quite pleasant to work with. Unfortunately as the scale goes up (hundreds of web application routes, sharing code among multiple projects etc) it doesn't feel nearly as nice anymore, and having static typing turns out to be pretty handy.
Haskell to me felt exactly like what you described: I could get stuff done fast because of how few head-scratchers I'd experience. This is mostly due to type mismatches, and how much more well thought our my design needed to be upfront. I also really enjoyed the language because I could express fairly complex thoughts in a very succinct, and yet very readable fashion, mostly thanks to types being explicit and enforced at compile time. Code reuse and sharing across multiple applications is also a breeze, which is absolutely key once you get past the "single Rails app" stage and you start getting into two digits worth of tools, services and applications.
- RivieraKid 12y agoOh ok, I can be wrong about Haskell. BTW, I really like Ceylon, it's very statically safe (more than Haskell I'd say) and very pragmatic (unlike Haskell IMHO, it doesn't seem to focus on maximizing productivity).
- jimmyhmiller 12y agoCeylon looks interesting. Mind pointing me to some features you think make it more statically safe than haskell?
- RivieraKid 12y agoI don't know if these are considered static safety features but: * Statically safe metaprogramming. * Well designed access rights (private, public). I also really like the type system, very well designed.
- Ixiaus 12y agoI think the only languages that are "statically safer" than Haskell are the theorem provers... (agda and coq come to mind) Disclaimer: I do not have enough PL type theory under my belt to confidently make this argument.
- FredN 12y agoHaskell is the least statically safe language I've used. Sorry, that Bool was actually an expensive computation that eats up all your memory, but there's no way to figure that out without running it. At least in C, you know unsigned char and the uintN_t integers won't blow up in your face. In Haskell, you can't be sure about anything, not even unit.