7 ms·
No dynamically typed language is going to be "The Dominant Language Of The Enterprise" anytime soon. When you have hundreds of mediocre developers in cubicles p
by chadrs 13y ago
No dynamically typed language is going to be "The Dominant Language Of The Enterprise" anytime soon. When you have hundreds of mediocre developers in cubicles pounding away at a single, huge, codebase, you're going to want as much compile time checking as you can get. You're going to want the ability to refactor and immediately see everything that needs to change, etc.
For a new language to have a shot at it, it should be statically typed and probably run on the JVM or CLR.
- Helianthus 13y agoI'm a big javascript proponent and think it's someday going to achieve write-once, run-anywhere... but this is a really good point.
- azakai 13y agoThat is what TypeScript is for.
- Eiwatah4 13y agoIf the enterprise wanted as much compile time checking as possible, why haven't they adopted something like Haskell years ago? The checks done by the type systems of the JVM and CLR are laughable in comparison. There must be some different reasons at play here, too.
- hvs 13y agoOf course there are reasons beyond compile-time checking, that is just one of the many requirements of an "enterprise" language. Haskell has strong type checking but fails in many other areas. Namely, being easy to understand by mediocre to average developers (and even some good developers).
- lmm 13y agoThey're getting there. The leading edge of enterprise is already using scala or F#, which have a lot of the power of Haskell (in fact I'd argue scala's is more powerful in some ways, e.g. typeclasses cease to be a special case). In terms of using Haskell in the enterprise, it isn't standardized enough (most libraries rely on GHC extensions), the library ecosystem isn't mature enough, cabal is still a mess (it's too easy to get your dependency tree into a broken state), there's not enough commercial support, there's not enough deployment/monitoring infrastructure around. Fundamentally, it was produced by academics who didn't care about selling it to the enterprise, and the effort to address these concerns hasn't entirely happened yet. It's getting there, and I think we'll see more of it as time goes on.
- SwellJoe 13y agoI believe the evidence indicates you're wrong. The incredible growth of JavaScript usage makes it virtually inevitable...it is, simply, the fastest growing language in the history of programming languages. There are more machines with JavaScript available and more programmers with JavaScript experience, than any other single language. That will result in more rapid library and tool support development in the near future (right now, there are languages with better tool support and bigger libraries of existing functionality...but, in a couple years that lead will evaporate). Other dynamic languages have had a large impact on enterprise systems: Perl, Python, Ruby. JavaScript just happens to have the killer feature of being everywhere...including on the most important platform (the web). Your premise about the incompetence of programmers is a false dichotomy. You've provided no evidence that statically typed languages make inexperienced programmers more productive. There's some evidence in favor of some esoteric languages, like Haskell and Erlang, being more productive for some classes of problem. But, dynamic languages tend to do well in the studies I've seen. You're also assuming that even if statically typed languages were more effective for inexperienced programmers that that would be the only factor in enterprises selecting a language. There are many factors, and popularity is a huge one. The trend in languages has been toward less boilerplate code. Even Haskell (arguably among the most strongly and insistently typed and "safe" languages) is vastly more concise than, for example, Java. One could possibly argue that Haskell (or similar functional languages, like Scala) would be "better" for the enterprise...I think it would be hard to argue that it's realistic to expect any of them to become as prevalent in the enterprise as JavaScript already is. I think it's pretty obvious that Java (and C++) will continue to lose enterprise market share, and, to me, it's obvious that the language that will pick up most of that share will be JavaScript. Other languages will also be in the picture; Scala, for example. But, it won't put a dent in JavaScript's massive growth.