5 ms·
What happened to Scala? Wasn't that the #1 language for JVM?
by amaks 10y ago
What happened to Scala? Wasn't that the #1 language for JVM?
- lmm 10y agoScala is still there, still growing, and a much better language. Kotlin is founded on this anti-intellectual rejection of Scala's advanced features... only to then add them back in piecemeal. So rather than a single powerful general feature like implicits or higher-kinded types you have language-level special cases like extension methods and specific nullness operators. (Don't get me wrong, there are plenty of things Scala would do differently if it were made today - there's space for a language like Ceylon that makes a genuine effort to simplify on what's in Scala)
- seanmcdirmid 10y agoAnti-intellectual? More like complexity, let's be honest about motives here: it isn't "we hate types" it is "I have no idea what is going on here anymore." The "start over again and try do it right this time" is quite pervasive in PL, and even if it keeps on leading to the same problem, the motivation is always well meaning.
- lmm 10y agoThe line about "Kotlin comes from industry, not academia. It solves problems faced by working programmers today." is pretty naked anti-intellectualism IMO.
- seanmcdirmid 10y agoYou have a lower standard for anti-intellectualism than I do, I guess. From wiki: > Anti-intellectualism is hostility towards and mistrust of intellect, intellectuals, and intellectual pursuits, usually expressed as the derision of education, philosophy, literature, art, and science, as impractical and contemptible. ... In public discourse, anti-intellectuals are usually perceived and publicly present themselves as champions of the common folk—populists against political elitism and academic elitism—proposing that the educated are a social class detached from the everyday concerns of the majority, and that they dominate political discourse and higher education. The above sentence fails that test, it merely states its roots and goals can be different from academic pursuits. And it is mostly correct: at best academic work is focused on tomorrow, not today..and at worst it is focused on today but should be focused on tomorrow.
- lmm 10y agoThe implication is that languages with academic involvement do not solve problems faced by working programmers today (otherwise it would make no sense to list this as a reason to use Kotlin) - very much derision of [academia] as impractical. I would say that the majority of academic work on programming is and should be focused on problems faced by working programmers today - simply because we have an ample supply of such problems. I guess theoretically I can imagine there being valuable academic work done on problems that working programmers weren't yet facing but were expected to face in the future, but I can't actually think of any examples of such work - certainly not examples that have made it into any language that could reasonably be thought of as a competitor to Kotlin.
- sgift 10y ago> Scala is still there, still growing, and a much better language. Kotlin is founded on this anti-intellectual rejection of Scala's advanced features... Each time someone brings up Scala there comes this weird "people who don't like it are anti-intellectual" - well no, people don't like it because it looks weird, had for the longest time abyssimal IDE support, tries to do things which have been solved in production by itself (see SBT vs Maven) and is a mishmash of more or less every idea that was floating around mixed into one language. Kotlin has a very specific focus: Being usable for a working Java programmer, who doesn't have three years to learn every weird idea Scala tries to shove down your throat. It uses existing tools, existing Java collections and enhances them instead of saying "well, we do everything new, because we know how to do it 'better' and we don't care for your existing code."
- Nullabillity 10y agoUltimately, you don't need to learn every single Scala feature to get started using it. As a Java developer you only need to learn a few differences before you can start using it as a "Java with better syntax" (var/val/def, static/object, Object/AnyRef, void/Unit, interface/trait, <>/[], []/()), learning the Scalaisms later on as you go. You don't need Scalaz to write Scala code. You can even ignore most of the standard library while you're starting out, and use the Java equivalents. SBT might seem pointless at first, but the same thing applies there. You don't need to use it, plugins for Maven and Gradle are available. But once you do switch, you'll see how much nicer it is.
- lmm 10y ago> Each time someone brings up Scala there comes this weird "people who don't like it are anti-intellectual" The whole "Kotlin comes from industry, not academia. It solves problems faced by working programmers today." is pretty clearly anti-intellectual. I come from industry, not academia, and the Scala type system solves problems I face as a working programmer every day that I couldn't solve in Kotlin (or any other language without higher-kinded types), thank you very much. > people don't like it because it looks weird Weird how? I find it looks very much like Python or Ruby. > had for the longest time abyssimal IDE support Shrug. Not my experience. > tries to do things which have been solved in production by itself (see SBT vs Maven) Just ignore that nonsense and use maven. > and is a mishmash of more or less every idea that was floating around mixed into one language. Hardly. It's got a small number of powerful features that get out of your way and let libraries get on with it. Kotlin is far more of a mishmash because it has a whole bunch of special-case functions in the language (e.g. special operators for dealing with nulls, rather than just being a language that people can write an optional type in). > Kotlin has a very specific focus: Being usable for a working Java programmer, who doesn't have three years to learn every weird idea Scala tries to shove down your throat. It uses existing tools, existing Java collections and enhances them instead of saying "well, we do everything new, because we know how to do it 'better' and we don't care for your existing code." Scala doesn't shove anything down your throat. You can use the Java collections in Scala if you want - I did when getting started - it's just that it's really valuable to have immutable collection types (actually even in pure Java this is true - one of the reasons Guava is used in almost every project is to be able to have ImmutableList etc. types - but it's better if you can do it without having half the class be "throw new MethodNotSupported()").
- premium-concern 10y agoIt still is. Kotlin advocates are just very loud, while Scala devs are busy shipping real-world software projects.
- billyjobob 10y agoIf Brainfuck had the marketing dollars that Typesafe spent then you would see real-world shipping Brainfuck projects. It wouldn't make Brainfuck a good language.
- premium-concern 10y agoConsidering how bad Typesafe is at promoting Scala, Scala's overwhelming success is _despite_ Typesafe's involvement, not because of it.
- lmm 10y agoI don't think marketing comes into it? Companies that I've worked at that have adopted Scala have done so because a) the developers wanted to and/or b) they wanted to use Spark. Kotlin seems to be much more a matter of marketing - I've only spoken to one person who'd heard of Ceylon and preferred Kotlin, and it turned out they worked for Quasar.