This article <https://www.infoworld.com/article/4069133/the-top-4-jvm-languages-and-why-developers-love-them.html>
gives an intro to 4 languages all implemented on top of the Java
byte-code interpreter (called a rCLVMrCY for some reason): Kotlin, Scala, Groovy and Clojure.
Kotlin, of course, has won support from Google as the preferred
development language for Android, as a raised middle finger to Oracle
over its absolutely stupid and vindictive lawsuit over Java.
According to the article, Scala rCLdifferentiates itself from other JVM languages by making functional programming foundational and
implementing it rigorouslyrCY. But I see the example Scala code has rCLprintlnrCY in it, which is a procedural, not functional, construct. It
is simply not possible to create a language that implements the pure-functional concept rCLrigorouslyrCY, as otherwise I/O becomes impossible.
Groovy I find interesting, because I discovered that it combines
custom operator overloads with making parentheses optional around
arguments to method calls in many situations, to allow you to create a rCLDSLrCY -- a language customized for a particular application domain,
with its own custom-looking syntactic constructs.
Metaprogramming in Groovy ... I followed the link to the intro
article, but didnrCOt see anything in there to match the power of
PythonrCOs metaclasses. Prove me wrong, I guess ...
Clojure -- yeah, itrCOs another Lisp dialect. What special features
could it possibly offer that could not be retrofitted in the form of
library function/macro calls to an existing Lisp or Scheme dialect?
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 54 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 19:03:53 |
| Calls: | 742 |
| Files: | 1,218 |
| D/L today: |
5 files (8,203K bytes) |
| Messages: | 184,913 |
| Posted today: | 1 |