8 ms·
Scala is an organizational red flag for me, especially if their recruiters are looking for "scala engineers."
by coffeecloud 5y ago
Scala is an organizational red flag for me, especially if their recruiters are looking for "scala engineers."
- m01 5y agoWhat did you think of the organisation described in this HN post?
- phgn 5y agoBTW, the described organisation does not hire "Scala Engineers", but Software Engineers. Scala is just a useful tool.
- snidane 5y agoSame. It's a fairly accurate predictor of a company downturn after getting sunk in total complexity and ensuing certain employee churn. The only reason for Scala adoption was Spark 10 years ago. Scala/Spark engineers were pulling the top buck. With pyspark and other cloud big data options on the scene, no one sane is using scala for this anymore.
- AzzieElbab 5y agoSpark wasnt even released 10 years ago :) I think Twitter, Linkedin, and some others gave Scala adaptation big push. Twitter in particular, when they killed their fail whale by moving to Scala/JVM
- mohanmcgeek 5y ago> after getting sunk in total complexity Plus, the cost of teaching Scala to your new hires means they won't be productive for literally _months_ I agree that other big data tooling providers are eating into spark but I'm surprised people are choosing python over Scala for Spark.
- mohanmcgeek 5y agoIt really should be. When you're trying to solve a business problem, Scala gets on the way. And when I say Scala, I mean libraries like akka http, spray-json and slick. I like FP parts of Scala overall. You would think that Scala 3 released in 2021 would have first class net/http and json that we can get rid of spray json. But no.
- lmm 5y agoThe standard library is where modules go to die, just like in Python. And unlike Python, there's a good build/dependency manager available for Scala (Maven). Keep that stuff out of the core language, let it be libraries released on their own schedules.
- mohanmcgeek 5y agoJSON has a standardized spec and the API you design has to do a few things: Marshal and unmarshal. How frequently do these need to change? The problem with the library landscape is that one library will be promoted by the purists and another by the company with the money. Suddenly you have to learn both to understand Scala codebases.
- lmm 5y agoWell literally today I got a notification from GitHub that I need to upgrade the version of jackson-databind that one of my project depends on because of a security vulnerability. And apparently that's the 8th such fix to this patch version of jackson-databind.
- EdwardDiego 5y agoWhy not just use Jackson? Sure, it doesn't have a clever DSL. But then, that's a feature.
- lmm 5y agoJackson has its own parallel "type registry" to make up for not being able to use something like Shapeless, because the problem still has to be solved. Getting a failure at compile time if there are any cases that wouldn't serialize properly is a huge advantage; a nontrivial proportion of production outages I've seen were Jackson.
- StreamBright 5y agoSame. Scala is the worst of the category of "functional looking languages built on the top of an imperative ecosystem". I think F# is doing much better in this category. Scala can surprise you many unexpected ways. https://www.youtube.com/watch?v=v1wrWQcqLpo https://www.youtube.com/watch?v=v1wrWQcqLpo
- valenterry 5y agoF# has some nice features that scala is lacking, such as a more terse syntax for ADTs or type providers. But other than that, Scala is miles ahead. And if you want to do pure FP, then Scala is the only option. Also about that video, almost all of the points mentioned are either not available in other languages like F# anyways, or they already fixed in the latest Scala version.
- StreamBright 5y ago> And if you want to do pure FP, then Scala is the only option. I don't think that Scala is especially good for "pure FP". I also do not want to do "pure FP".
- valenterry 5y ago> I don't think that Scala is especially good for "pure FP". I meant when compared to F#. Of course there are other languages for FP as well. > I also do not want to do "pure FP". That's your choice!
- esarbe 5y ago> Scala is the worst of the category of "functional looking languages built on the top of an imperative ecosystem". Could you elaborate? Because that's not been my experience at all. I have found Scala to provide many tools to wrap around the idiosyncrasies of the underlying imperative that they are barely noticeable anymore.
- StreamBright 5y ago