4 ms·
The software development experience is the real world problem. Programming languages are force multipliers. My argument is that statically typed programming lan
by nbouscal 11y ago
The software development experience is the real world problem. Programming languages are force multipliers. My argument is that statically typed programming languages are force multipliers with bigger coefficients.
I doubt that Haskell would be more beneficial for Ericsson, because Erlang was literally designed for their exact use case. I would be more inclined to pitch Haskell to the >99.9% of companies who don't have battle-tested custom programming languages.
- jonnybgood 11y agoReplace Ericcson with WhatsApp. What benefits would WhatsApps product see if they had used Haskell? The software development experience is exactly that, an experience. You see problems in it, but others do not in regards to static and dynamic typing.
- coolsunglasses 11y agoHaskell has more options WRT concurrency and parallelism than Erlang does at a single-machine level and the options for clusters are widening quickly. Examples: https://github.com/bitemyapp/blacktip https://github.com/bitemyapp/blacktip (simple MVar based synchronization producing a much faster program than the Erlang version with zero optimization effort) http://haskell-distributed.github.io/ http://haskell-distributed.github.io/ http://hackage.haskell.org/package/courier http://hackage.haskell.org/package/courier But don't take my word for it. I'd rather train coworkers eager to learn and retain an institutional competitive advantage than convince HN users :)
- the_af 11y agoThe software development experience is not only about subjective opinions ("I like static typing better!") but also about reliability and bug-catching. Forget Haskell. I'm sure you know this is flamewar material, but the purported advantages of statically typed languages over dynamically typed languages are that it's easier (less bug prone) to refactor code written in statically typed languages, and also that there are fewer tests you have to manually write, since the compiler "writes" those tests for you, so to speak, helping write correct software with less effort. In general, the argument goes "all else being equal [1], it's easier to write correct software using a statically typed language". As an end-user, the software development experience affects you even if you are not a programmer! I'm sure you won't agree with this. You could as well ask Paul Graham "what benefits would WhatsApp see if they had used Lisp?", and his answer would likely be as unconvincing to you as mine in this post. ---- [1] availability of libs, performance, and not competing with a custom language designed specifically for the problem at hand.
- sanderjd 11y agoYour question was already answered: "regularly catching bugs that would have taken hours to deal with". That is the benefit nbouscal believes WhatsApp or pretty much anybody else would see. You can argue whether sophisticated static type systems accomplish such a thing, but it seems inarguable that it would be widely beneficial if they do. I'll add my own (related) real-world benefit that I feel when I'm using a good static type system: I find it easier to write good unit tests when the types of data being passed across units has been statically limited.