This website contains age-restricted materials including nudity and explicit depictions of sexual activity.
By entering, you affirm that you are at least 18 years of age or the age of majority in the jurisdiction you are accessing the website from and you consent to viewing sexually explicit content.
Scala. Expressive, concise, can scale from simple to sophisticated. Sufficiently powerful - has metaprogramming, advanced types. Runs on a world-class runtime and takes advantage of a huge, mature package ecosystem that isn’t going anywhere.
Seconded. The metaprogramming aspect of Scala is getting better and better.
“Sufficiently powerful” is a bit of an understatement when it comes to Scala. Honestly may have a bit too many features for my taste, it’s not a small language
Actually the language is quite small. The features, it has, are just quite powerful and have huge synergies so that it seems that you have a lot of complex features. It has a lot of weird corner case stuff, but most of that is because of the jvm and other languages have that too unfortunately.
That’s a good point about the synergies, something like eg. a type system that’s expressive enough to be Turing-complete is going to have some effects. You’re right that it might just feel like a “kitchen sink language” due to complexity of the features it has, but then again I suppose it’s sort of one and the same where a language’s complexity comes from.
But it’s no Swift, at least; now that language really does have everything and the kitchen sink.