If, on an enterprise scale, you can avoid the majority of bugs, would that not be a clear win?
If, on an enterprise scale, you can avoid the majority of bugs, would that not be a clear win?
"We use Java here. We have always used Java here and we will always use Java here. We're a Java shop. No other languages exist." My personal experience with companies.
> If, on an enterprise scale, you can avoid the majority of bugs, would that not be a clear win?
Yes, but then you wouldn't be using Java.
In the case of Python: it's imperative and somewhat object oriented and mostly without advanced features which makes it attractive for university courses, for example. Also sometimes languages just become popular, perhaps due to a certain library or sheer luck. That doesn't make it false for languages like Haskell.
It sure is. Dart, also a Google language, did not fare quite as well.
Yes, you can write some advanced type-fu to provide interesting guarantees on the type level. But by the time you've learned how to do that, your colleagues will have delivered multiple projects in most other languages with test suites that provide similar guarantees.
This vicious cycle exists for a lot of very good languages.
I was fortunate enough to be hired in this manner, and I'm always more than happy to help train up new members in a similar fashion. It pays off in the long run—and the short run too, since it doesn't take that long to get somebody playing with Maybes and Eithers in some internal module.
"simply".
So, you have to hire senior Haskell devs and then switch them to teaching new hires. See how this isn't feasible for most companies?
Not saying your approach isn't reasonable, but c suite execs are not always reasonable, and it may be hard to justify this whole setup just to use language X.
If our department has 60 devs across 5-10 teams, the cost of "simply" bringing in people who don't know the language and expecting to both onboard them to business and teach them a new language becomes astronomical
What about "a big company with multiple dev teams that are expected to actually deliver things on time"?