I'm surprised there were no mentions to Spark in the early days of Scala.
@thegeniusfool9 ай бұрын
It feels like Martin is detached from the greater flow FROM the JVM…. Would be great to hear a more official and stronger focus on cross platform goals. Scala could have been what Rust is becoming.
@Andreas-gh6is4 ай бұрын
It really can't. Rust is cross-platform, but it's quite low-level on all platforms. JVM has memory management, Rust doesn't. In Rust you have to manage the memory yourself and have the compiler try and check your manual memory management for errors. Also, while on the JVM you still have to care about particular datastructures like lists, trees etc (less so in Python and Javascript) you don't have to care as much about details like how many bits in what integer datatype and so on. For a large part of software development, these details just don't matter that much. But Rust requires you to know these things, and keep them in mind, to at least a minimal degree more than in Java or Scala. Rust is basically C with some modern language features on top. Sort of C++ in an alternate universe.
@AreHusby5 ай бұрын
He says something about modules, that they are important but that people don't understand them. I'm one of those people. Where can I learn what he means by that?
@Andreas-gh6is4 ай бұрын
I think he means traits and objects extending that trait. If you import a package, "nothing" happens, as opposed to Javascript and Python, where importing always means some code is run to create all the symbols you need, and often some initialization (though you shouldn't do that). In C# and Java/Scala etc importing just means linking and importing the compiled code, and maybe importing symbols to namespaces. No initialization. I'm too new to know exactly when it happens, either when importing the package or when using the object, code in the object is run and the object is actually instantiated. An object could actually connect to the database or have other sideeffects.
@JustLilGecko9 ай бұрын
Hm - it's kind of interesting and a missing piece that Scala was THE language to write custom DSLs in, and now it's effectively discouraged to do so. I don't think that's a bad move, we evolve and learn. But interesting!
@MrDejvidkit9 ай бұрын
Was that in the video?
@Alex-xf8pl9 ай бұрын
@@MrDejvidkit i guess removing the possibility of writing object method calls using space (hence without dot) makes it a bit less able to look like a domain (specific) language
@jimofl9 ай бұрын
I think you are missing the nuance. The DEFAULT will be to strongly opinionated about discouraging specific redundantly expressive pathways. However, library authors will be able to override the default and bypass the expressive pathway limits. This will force library authors into ensuring what they are producing is an appropriate trade-off of concerns between a highly expressive custom DSL and what the mainstream default idiomatic simplified Scala is to the bulk of the non-library writing developers; i.e. the mid-level Enterprise IT backend server Software Engineers.
@rajmalhotra6264Ай бұрын
I think overuse of functional has impacted readability, clean code which scala started. Looks like these days scala has two side old school oops scala and FP evolution which is a barrier for new devs. For trivial code we dont need scientific code like FP/zio/cats etc are going in. I m nt a scala expert! but a old school scala dev who is nt with advance FP idea anymore
@Nick-yd3rc10 күн бұрын
I wonder what’s more telling about the present state of Scala, the number of comments and views here, or how detached from reality this talk appears. Next 20 years? Seriously? If not for Kafka, Spark, and Flink, and a couple other projects supported by the Apache Foundation, there’s little real demand for Scala left. They only recently bumped it up to 2.13, finally. I recall Scala core developers arguing with me it wouldn’t be like Python 2 and 3. Turns out they were right, as it’s even worse than that. I’m writing this only because it’s so painful to see such an amazing ecosystem go under. But please don’t get us started on AI-generated Scala code, it’s way too complex a language for that. Just another unrealistic promise. There is no single selling point in that relevance pitch. Only extra complexity and pipe dreaming. I don’t know who that caters to, there surely will be someone, but nowhere I know of. Sorry for the negative sentiment, despite my decades long academic respect for Martin, I’m just very disappointed about this Scala leadership 😢
@jordanzimmerman75908 ай бұрын
I’ve never understood Martin’s use of “simple” when describing Scala. There is nothing simple about Scala.
@joan385 ай бұрын
What part is complex to you?
@jordanzimmerman75905 ай бұрын
@@joan38 To ask that question is to admit that I won't ever convince you. The complexity is baked in from the beginning. I remember trying to work through the very first examples from Odersky's original Scala course. Odersky chose college level math concepts and glossed over them as if everyone would understand. I never went to college. This one anecdote reveals why Scala is perceived as complex by so many of us. It's like a professional musician not understanding why most people think playing their instrument is hard. I spent 2 years writing Scala professionally. Every day with it was a grind of waiting for the slow, buggy complier; dealing with the odious incomprehensible sbt, debugging implicits, trying to fathom the impenetrable standard library (which, itself, is hopelessly complex). Most dev's impression of Scala is that it's complex. It's not a rare belief.