Remix.run Logo
flossly 3 hours ago

Nice to see Ruby vs Java. Must say that in this context Kotlin deserves a mention: my Kotlin code basically looks+feels like Ruby-with-types. Both Ruby and Kotlin are essentially OO, but with "lots of FP features where it makes sense".

On the side of the jpackage: I'm currently using GraalVM compile to native for a Kotlin CLI tool. I do the build in a build container so I use an older glib to ensure compatibility on a wide variety of Linuxes, AND because this way no-one needs to install all the GraalVM requirements by hand. The result is a 57MB binary, that start in a blink of the eye. The downside is long compile times (2 minutes for a simple CLI tool that uses AWS SDK). I think I prefer this of jpackage; but I'm not building a GUI tool.

pjmlp an hour ago | parent [-]

Many of those "lots of FP features where it makes sense". were already present in Smalltalk.

Especially anything related to lambdas, map, filter and co.

Something that was lost in most OOP languages that followed suit, until like a decade later.

flossly an hour ago | parent [-]

> Many of those "lots of FP features where it makes sense". were already present in Smalltalk.

Good point. And both Java and Ruby borrowed from Smalltalk (according to Wikipedia Kotlin does not, but that is: not directly.

Sadly Java did not take Smalltalk's FP inspiration (I guess they were strayed by C++'s lead in that regard), and we needed streams and now Kotlin to fix that :)

Smalltalk's syntax never go really popular though. One could say that was its biggest drawback.