4 ms·
They can't afford a few thousand for training, so spend more thousands rewriting? The original Haskell devs had to learn, too.
by baot 7y ago
They can't afford a few thousand for training, so spend more thousands rewriting? The original Haskell devs had to learn, too.
- dcl 7y agoThe new ownership probably had no idea what they actually bought. I think to be fair, whilst it may have been cheaper to hire new devs than rewrite everything, it would have taken a while to learn and become proficient enough to use and properly maintain the existing codebase properly.
- empath75 7y agoYou can’t just train any software developer to code in Haskell. It’s not an easy language to learn and a lot of programmers don’t want to learn it. And even if they managed to train up the current staff, they will either have to continuously hire Haskell programmers or continuously hire people who don’t know Haskell and hope they’re able to learn it.
- seddona 7y agoI think this is an important point actually. Programming languages (at least in the context being discussed) are just a means to model a problem domain. Some people find it easier to model domains in strongly typed functional languages but at a much larger percentage do not. Let's for argument's sake say it's 1% of all programmers. That is still a huge number of people though.
- galaxyLogic 7y agoIt could be argued that coming up with the original model was easier done in Haskell by the expert Haskell developers. Translating it to another language is more or less mechanical task. Then the maintenance and further development can happen in a more commonly known language. In other words languages like Haskell, Lisp etc. are precisely good for modeling the problem and its solution, so it can make sense to use them for that even if later development is best done translated into a simpler-to-use language.
- the_af 7y ago> [Haskell is] not an easy language to learn To be fair, purportedly "easy" languages such as Java aren't actually easy. True, a lot of people can write (or copy paste from online articles) crappy Java code full of bugs and performance issues and nobody will notice since this low quality seems to be some kind of industry standard. But there aren't that many good Java developers either. A similar argument used to be made about PHP: anyone can use it. To write poor software, that is. As for Haskell: it's different enough to Java-like and C-like languages that it's difficult to wrap your mind about it if you come from those languages. But if you start fresh, it's not that hard. Some years ago someone here on HN posted pretty good results when teaching Haskell to kids. Young kids pick it up surprisingly fast. It's not inherently difficult, and in fact some of its concepts may be easier to grasp than traditional imperative languages. (And no, you don't need to understand category theory at all in order to program with Haskell).
- Silhouette 7y agoAs for Haskell ... if you start fresh, it's not that hard. I'm going to respectfully disagree with that. I do understand the point you're making. In fact, my own experience of having taught beginners without preconceptions to program is consistent with that point. However, the "scale" of a language (including all the strange edge cases) is very relevant for production use and particularly maintenance. Even if you stick to a core of widely understood language features and libraries yourself, you might still have to maintain code written by someone else that uses more obscure features or complicated interactions between features. For Haskell, that "scale" is usually determined in practice by GHC plus whatever language extensions anyone has turned on plus whatever libraries they've found from Hackage or elsewhere. Those language extensions are numerous, and they can not only add new language features but also change existing code to behave in different and potentially unexpected ways. As a platform for research and development of programming language concepts, that is a benefit. As a practical programming language for production use, it is a huge liability.
- UserIsUnused 7y agoThe complexity lies in the ecosystem (GHC, extensions) rather than the language itself. But yeah, I agree, comparing the haskell you learn at your first programming course, and the production haskell, it's like 2 different worlds
- lostcolony 7y ago"It’s not an easy language to learn" - pure opinion. "and a lot of programmers don’t want to learn it" - also opinion, but I'd be very curious to also know how the quality of those who do want to learn it compare to those who don't.
- BeetleB 7y agoNo - they don't want to keep paying thousands for training every time someone leaves. And it's a lot of thousands - don't merely count the cost of training. Count the salary they are being paid while they learn.
- nilkn 7y agoThere's always a ramp-up period for new employees. While it's hard to learn Haskell completely on your own, it's not that hard to learn Haskell if you join a team of experienced Haskell developers. Once they build up a competent team, absorbing new team members really wouldn't be that hard. The only problem here is really that the entire team left -- that would've been a pretty big problem for any complex software system regardless of the language it was written in.
- gregorygoc 7y agoAgreed 100%. There’s so much domain knowledge in a lot of systems that run in production for a couple of years that the disappearance of the entire team means basically a full rewrite.