8 ms·
When I gave up on Scala in 2016, I did so because its future looked fragmented and uncertain. Fast forward more than three years, and the first release of Scala
by maxaf 7y ago
When I gave up on Scala in 2016, I did so because its future looked fragmented and uncertain. Fast forward more than three years, and the first release of Scala 3 won’t be out until another year from now. Compare this with the pace of development of Go or Rust: those languages are driven by a vision, and have a dedicated team behind them. Scala is declining because no one could figure out for the longest time what was next and how to work on it.
It’s too bad, as Scala did the most of any language to bring me into the fold of statically typed programming. I miss it sometimes, but then I remember all the times Scala wasted my time, and get back to writing Go like a happy little camper.
- haggy 7y ago> Scala is declining And the proof of this is... Where?
- maxaf 7y agoI won’t even mention the anecdata from my own workplace. I’ll only say that within my extended network people are frantically rewriting Scala bits in other languages. Those who are stuck with it (because of, say, extensive prior investment into Spark) are scrambling to come up with alternate solutions. Put your ear to the ground, and you too will hear it.
- dominotw 7y ago> rewriting Scala bits in other languages. My employer is doing the same.
- xvilka 7y agoThere is an ongoing work on creating Spark alternative in Rust[1][2]. Hopefully, that could help. [1] https://github.com/rajasekarv/native_spark https://github.com/rajasekarv/native_spark [2] https://medium.com/@rajasekar3eg/fastspark-a-new-fast-native-implementation-of-spark-from-scratch-368373a29a5c https://medium.com/@rajasekar3eg/fastspark-a-new-fast-native...
- pkolaczk 7y agoWill take years to get there, if they even get there at all. This is a single-man side project now. Also benchmarking something that has 1/100 of the original functionality and is not production ready is very unfair. It is much easier to get a specialized use case faster than a general purpose system.
- playing_colours 7y agoHe is not the first, Andy Grove worked on a similar thing last years, but he worked mostly alone, and without community you cannot take off such ambitious project: https://andygrove.io/2018/11/datafusion-2019/ https://andygrove.io/2018/11/datafusion-2019/
- yahyaheee 7y agoUsed to write scala, what a mess looking back on it now. Everyone I know that was writing it is now writing Go/Kotlin/Elixer
- continuational 7y agoSounds a bit like they just like to try out new languages.
- yahyaheee 7y agoExcept they have all stuck with those languages, Scala was a disaster to maintain which is why you see companies fleeing from it.
- giggles_giggles 7y agoI'll speak for myself. I just jumped ship from a Scala team and took a pay hit to get out because it was so horrible. No one on the team had a strong command of the language, which made it worse. The application was a ball of mud. The week I left, proposals to rewrite everything in Java were heard. I took a position on a Go team and am much happier.
- wirrbel 7y agoI wouldn't jump ship to a Go project, but I am currently in the situation you fled from. Even the core team who started the project doesn't have command of the language. I have some experience with rust and Haskell (hobby) and JVM experience with Java and clojure so I can get by but it is not pleasant. I think the situation is similar to c++ where too many features have been added over time. While with c++ there is a body of compiled recommendations on what not to use and how to write c++, for scala that doesn't really exist.
- pkolaczk 7y agoThis has nothing to do with languages. I saw the same happening in a company writing pure Java, JS or Python. Doing a project with people who don't have command of whatever stack they are using is asking for trouble. On the flip side, Scala can be a very pleasant stack to work with if you have right people on the team. > While with c++ there is a body of compiled recommendations on what not to use and how to write c++, for scala that doesn't really exist. Principle of least power is what you need.
- sideeffffect 7y ago> for scala that doesn't really exist https://nrinaudo.github.io/scala-best-practices/ https://nrinaudo.github.io/scala-best-practices/
- coldtea 7y agoSometimes you need no proof, just to look around well enough. Not everything is a science paper.
- hocuspocus 7y agoWhen I look around, I see more jobs, conferences, talks, meetups, libraries, open source communities ... Sure, some companies are moving to other languages, that might be growing quicker than Scala ever was. But this isn't zero-sum.
- The_rationalist 7y agoWhat about kotlin?
- worldsayshi 7y agoYes, Kotlin seems to me like the future of Java.
- dmit 7y agoKotlin is not the future of anything. They got the Android boost and still, two years later, all they have to offer is a molasses-slow improvement pace and a shitty dev experience in their signature IDE (which also happens to be made by the same company). Last time I tried to create a Kotlin project in IDEA, it couldn't provide type information on hover. The Kotlin dialect of Gradle was barely supported enough to be called a "third-class citizen". It's super embarrassing.
- deleted 7y ago[deleted]
- EdwardDiego 7y agoWe're writing new apps in Kotlin instead of Java, works fine for us. shrug Vert.x , Ktor apps, Kafka streaming apps. IDEA handles it absolutely fine these days, I suspect you last tried it sometime ago. Can't comment on the Gradle stuff though, I vastly prefer Maven.
- The_rationalist 7y agoIs vertx better than ktor for production?
- EdwardDiego 7y agoVert.x is doing us well for high volume apps, Ktor is early stages but looks alright also. That said, haven't benchmarked identically feature compete implementations of the same app in both, so don't really have the metrics to properly compare, but so far at least, it seems comparable.
- continuational 7y agoGo is just barely statically typed though, with its lack of generics. Some day soon, it will tacked onto the language; a language that wasn't designed with that in mind. I don't know about pace, but in absolute terms, Go is far behind even the oldest versions of Scala.
- yahyaheee 7y agoThat would be missing the point of Go. It’s not as though the Go team is incapable of introducing genetics they just took a hard line on not putting anything into the language that wasn’t absolutely needed. This built a simpler language and because of that a stronger community, which is why Go has all but entirely eaten scalas lunch
- continuational 7y agoThe marketing is very impressive indeed, I won't argue against that. I can only think of Angular 1.0 as an equally impressive feat of advertising (I totally bought into that - for a while). But logically, what you suggest implies that either generics aren't absolutely needed, and shouldn't be in Go, or it's absolutely needed, and Go has been lacking them for a long time.
- yahyaheee 7y agono it just implies the don't willy nilly throw in any feature into the language like Scala, and I am incredibly grateful for it after writing Scala for a couple years, what a mess
- playing_colours 7y agoScala tends to be more of a kitchen sink, kind of an academic experiment brought to industry, whereas Go is way too far down the path of having only “absolutely needed” features - they promoted it as a “pragmatic, boring” language to focus on your business and write consistent code. As a result, this approach makes the language less expressive, really boring for many engineers, and also, unfortunately, it brought some bad practices - repetitions, error handling from last century, etc. Languages are in a big part matter of tastes, and it does not make sense to criticize their chosen approaches beyond objective technical merits for your tasks.
- esarbe 7y agoIs it declining? Citation needed? I agree that Scala is not the new kid on the block anymore but I don't see it decline. When you look at the language rankings of the last few years, Scala seems to have settled at about ~12th place currently.
- Thaxll 7y agoScala is nowhere near the first 20.
- pkolaczk 7y agoDepends on the criteria and the group of companies you survey. In our customer survey done mostly among top 100 enterprises it comes at #3 very close to Python (which is #2), and it is much stronger in absolute numbers than C# or JS. And the trend is growing. Of course, this is not representative to the whole market and heavily biased towards big companies with big backends that need to scale, but neither are Tiobe, GitHub or SO rankings.
- yahyaheee 7y agoLove all the Scala fanboys on here downvoting anything to do with Go being better. Run Scala in prod for a couple years then run Go in prod for a couple years and tell me with a straight face what makes more sense. Scala was such a massive waste of time :)