If you're interested in this, then you should check out https://github.com/golemcloud/golem Golem is a durable workflow platform and can run any wasm.
Or maybe you can solve it like I did -- by using a font that does the (IMHO) right thing with regards to ligatures https://github.com/0xType/0xProto#4-ligatures-that-dont-defo... I can't recommend 0xProto enough, the…
React Native Skia seems abandoned. But maybe this will make React Native on Linux viable https://github.com/gtkx-org/gtkx
https://reactnative.dev/docs/out-of-tree-platforms says otherwise React Native Skia allegedly runs on Linux too
If you'd like to see Bob Harper's take on programming languages, have a look at the short video series Practical Foundations for Programming Languages https://www.youtube.com/playlist?list=PL0DsGHMPLUWVy9PjI9jOS...
How does programming with Clojure targeting multiple platforms (JVM, JS, CLR, LLVM, ...) work? Are there Clojure libraries that don't use JVM(/JS/...)-specific stuff that works on any Clojure platform/dialect? Can such…
https://dotty-bench.epfl.ch/
I doubt it. For Capture Catching of Capabilities to work, you need some of the unique sauce practically only Scala has. E.g. Contextual functions or path-dependent types. Java almost certainly won't adopt these.
The first five points are fixed by using Mill https://mill-build.org/mill/comparisons/why-mill.html#_perfo...
Go has proven that people want cheap threads. If it didn't have it, it wouldn't get anywhere. Now even Java has cheap threads (Loom). And Go even has generics. Just 20-ish years later than Java. And it's likely that…
All these languages may work very well for many people for the described use cases. But one of Scala's strength is versatility. You could use it quite well for all the listed use cases too. With just one language.…
> But something happened Oracle started heavily investing into Java. And Google picked Kotlin as the language for Android. But Scala hasn't stagnated since. And as the blog post suggest, plans on moving further still.…
> Compile times are crazy This is also heavily influenced by the build too you use. Don't use sbt or Maven or Gradle. Use the good stuff. Use Mill. https://mill-build.org/mill/comparisons/why-mill.html#_perfo... Or…
I think the proprietary variant of GraalVM comes with more optimizations in the compiler. But the AOT compilation (native-image) is available in the GPL community variant.
> Kotlin is also much more popular than Scala. That's not what (at least some) numbers say. Both Scala and Kotlin are 14th. https://redmonk.com/sogrady/2024/09/12/language-rankings-6-2... Kotlin may be more popular, but…
Probably never. It's very slow to move. Yes, Java has been getting a lot of features Scala has had since (more or less) always. But it's a continuing process, and not all such features are yet fully fleshed out and…
> > Another common request is to “stop implementing features”. > Yes, it's a very common one shared by virtually all Scala 3 developers. Stop. At least for a couple of years. I, for one, think Capture Catching can't…
> 1) The language is too unstable Thankfully not anymore. They got their act together and have been maintaining compatibility since Scala 3.0.0 has been released in May 2021, which is almost 4 years and counting.…
* Immutable-first * Immutable/persistent collections in standard library * Machinery to "modify" immutable deeply nested case classes/sealed traits. You have the copy method, you have lens libraries. Very easy and…
I think it's actually used more to develop more or less ordinary backends. Or some tools/frameworks like Spark or Akka/Pekko. But you can (and people mostly do) use Spark from Python. And Akka/Pekko from Java (but I'm…
> Clojurescript for frontend, Rust for portability If Clojure and Rust work well for you, more power to you. But at least in theory, you could very well use just Scala for these purposes Scala can compile to JS…
> Shapeless breaks everything so casually. Thank goodness that Shapeless is not needed in Scala 3. The good parts have been integrated into the language itself and so it's reliable and faster. > Jetbrains had completely…
Java has certainly improved. Kudos to its stewards. But I think it still has many rough edges -- things that are awkward (or outright impossible) to do in Java and Scala is great. It doesn't have to be advanced…
Very interesting. Have you already investigated where is Mill's overhead spent? What can be optimized in Mill to get its time closer to just invoking the javac? Do you already have a plan?
Why is it ./mill common.compile and ./mill clean common but not ./mill common.clean ?
If you're interested in this, then you should check out https://github.com/golemcloud/golem Golem is a durable workflow platform and can run any wasm.
Or maybe you can solve it like I did -- by using a font that does the (IMHO) right thing with regards to ligatures https://github.com/0xType/0xProto#4-ligatures-that-dont-defo... I can't recommend 0xProto enough, the…
React Native Skia seems abandoned. But maybe this will make React Native on Linux viable https://github.com/gtkx-org/gtkx
https://reactnative.dev/docs/out-of-tree-platforms says otherwise React Native Skia allegedly runs on Linux too
If you'd like to see Bob Harper's take on programming languages, have a look at the short video series Practical Foundations for Programming Languages https://www.youtube.com/playlist?list=PL0DsGHMPLUWVy9PjI9jOS...
How does programming with Clojure targeting multiple platforms (JVM, JS, CLR, LLVM, ...) work? Are there Clojure libraries that don't use JVM(/JS/...)-specific stuff that works on any Clojure platform/dialect? Can such…
https://dotty-bench.epfl.ch/
I doubt it. For Capture Catching of Capabilities to work, you need some of the unique sauce practically only Scala has. E.g. Contextual functions or path-dependent types. Java almost certainly won't adopt these.
The first five points are fixed by using Mill https://mill-build.org/mill/comparisons/why-mill.html#_perfo...
Go has proven that people want cheap threads. If it didn't have it, it wouldn't get anywhere. Now even Java has cheap threads (Loom). And Go even has generics. Just 20-ish years later than Java. And it's likely that…
All these languages may work very well for many people for the described use cases. But one of Scala's strength is versatility. You could use it quite well for all the listed use cases too. With just one language.…
> But something happened Oracle started heavily investing into Java. And Google picked Kotlin as the language for Android. But Scala hasn't stagnated since. And as the blog post suggest, plans on moving further still.…
> Compile times are crazy This is also heavily influenced by the build too you use. Don't use sbt or Maven or Gradle. Use the good stuff. Use Mill. https://mill-build.org/mill/comparisons/why-mill.html#_perfo... Or…
I think the proprietary variant of GraalVM comes with more optimizations in the compiler. But the AOT compilation (native-image) is available in the GPL community variant.
> Kotlin is also much more popular than Scala. That's not what (at least some) numbers say. Both Scala and Kotlin are 14th. https://redmonk.com/sogrady/2024/09/12/language-rankings-6-2... Kotlin may be more popular, but…
Probably never. It's very slow to move. Yes, Java has been getting a lot of features Scala has had since (more or less) always. But it's a continuing process, and not all such features are yet fully fleshed out and…
> > Another common request is to “stop implementing features”. > Yes, it's a very common one shared by virtually all Scala 3 developers. Stop. At least for a couple of years. I, for one, think Capture Catching can't…
> 1) The language is too unstable Thankfully not anymore. They got their act together and have been maintaining compatibility since Scala 3.0.0 has been released in May 2021, which is almost 4 years and counting.…
* Immutable-first * Immutable/persistent collections in standard library * Machinery to "modify" immutable deeply nested case classes/sealed traits. You have the copy method, you have lens libraries. Very easy and…
I think it's actually used more to develop more or less ordinary backends. Or some tools/frameworks like Spark or Akka/Pekko. But you can (and people mostly do) use Spark from Python. And Akka/Pekko from Java (but I'm…
> Clojurescript for frontend, Rust for portability If Clojure and Rust work well for you, more power to you. But at least in theory, you could very well use just Scala for these purposes Scala can compile to JS…
> Shapeless breaks everything so casually. Thank goodness that Shapeless is not needed in Scala 3. The good parts have been integrated into the language itself and so it's reliable and faster. > Jetbrains had completely…
Java has certainly improved. Kudos to its stewards. But I think it still has many rough edges -- things that are awkward (or outright impossible) to do in Java and Scala is great. It doesn't have to be advanced…
Very interesting. Have you already investigated where is Mill's overhead spent? What can be optimized in Mill to get its time closer to just invoking the javac? Do you already have a plan?
Why is it ./mill common.compile and ./mill clean common but not ./mill common.clean ?