3 ms·
> So, if that isn't the competitive advantage, why go for it in the first place? At least blue collar languages have much, much larger pools of competent progra
by Test0129 4y ago
> So, if that isn't the competitive advantage, why go for it in the first place? At least blue collar languages have much, much larger pools of competent programmers to select from, which is an objective, convenient upside any manager can understand.
I think its like Haskell, Rust, Go, Erlang, etc. These languages are extremely useful in the microcosm of places where they excel. Rust when you absolutely need to insure memory safety, Go when you need near-C speeds but a simple to use concurrency system, Haskell for rigid typing, Erlang for high availability, etc. The problem is the dead average developer looks at these, and sees these high flying companies doing cool things in it, and then decides "wow I should write everything in this - it's the future!"
Scala is the same way. It's not objectively better than a modern java in any way which might be taken as fighting words. But foregoing a lot of developer history you gain the power to reason about a very, very small subset of programming easier at the cost of speed, time, etc. For a company like a twitter with a very specific use case for this it made sense. Especially since at the time twitter switch from RoR to Scala, Python and it's concurrency platform didn't exist. However, I would speculate if they switched today they would've almost certainly gone to Python which would have been a much less "cool" switch and probably not even made the news cycle.
- whimsicalism 4y ago> Python which would have been a much less "cool" switch and probably not even made the news cycle. Very much doubt it re: Python. Performance, difficult to reason about, and lack of static typing all come to mind. I agree that modern Java is competitive now, but it probably wasn't when they picked Scala.
- rich_sasha 4y agoI think one issue is use cases that fall in-between. For example I use a lot of Python, but also need statically compiled, safe and solid language, with large ecosystem, with great Python interop. What do I choose? In practice the answer seems to be C++, maybe Rust. I'd happily use a "simpler" language like Go, Java or Nim, but something doesn't quite match the spec. I think, unsurprisingly, languages are designed around common use cases, but the uncommon ones are there too.
- xani_ 4y agoI dunno, Haskell, sure, but Rust is just all around better C++... memory safety is just plainly less bugs and that's always desirable