I was reading this post by Martin Odersky (Make the Scala runtime independent of the standard library) and came across this comment by Li Haoyi: “This would also make it more feasible to use Scala for tiny bootstrap scripts; current Mill’s launcher is written in Java because the added classloading needed to use scala.Predef (even just
println) easily adds a 200-400ms of initialization overhead.” I haven’t written anything where the startup time of a Scala application was a huge problem, but that was interesting to read.
(Though I should say that I wish all Scala/Java command-line apps started faster. It’s one reason I occasionally think about using Haskell for small scripts, so I can compile them to an executable.)
Yesterday I just churned the numbers from the surveys, but last night I started thinking how cool it is that there are one million Scala developers in the world.
I remember when I was wandering around Alaska in 2011 and first stumbled upon Programming in Scala, I found that very few people knew about Scala, maybe numbering in the thousands or tens of thousands at most. I hope Martin Odersky & Company are having a little celebration this year for their success. (And on to two million!)
If you’re interested in the future of Scala, i.e., Scala 3, also known as Dotty, Martin Odersky recently shared a working draft document titled, Functional Typelevel Programming in Scala. See the “Files Changed” link on that page for the complete working document.
Per this tweet, back on May 15 Martin Odersky shared a slide with these contents:
The essence of Scala: Fusion of functional and object-oriented programming in a typed settings.
- Functions for the logic
- Objects for the modularity
- become more opinionated
- eliminate inconsistencies and puzzlers
- build on strong foundations
- consolidate language constructs to improve: consistency, safety, ergonomics, performance
As Ms. Robinson writes, “Scala was a language toolbox, and that leads to fragmentation. Scala 3 wants to become more opinionated.”
I haven’t had time to watch it yet, but here’s Martin Odersky’s Devoxx talk that’s titled, Plain Functional Programming.
This 2014 underscore.io post states, “Those interested in FP purity in a Scala world, you’ll want WartRemover.” (Of course that recommendation may have changed by now.) The current ScalaStyle website states, “Scalastyle is used as part of the grading framework for the course Functional Programming Principles in Scala by Martin Odersky on Coursera.”