Caleb,

> On 24. 3. 2024, at 16:57, Caleb Brandt <calebbrand...@gmail.com> wrote:
>> I know you made Groovy, but if you're anything like me, you love Java.

just for one, although I haven't co-operated on the Groovy creation (am just a 
very satisfied user), I hate Java very bitterly.

The language design is simply terrible, all the worse since the people who made 
that abomination, i.e., Sun, knew Objective C well (they used to cooperate with 
NeXT on OpenStep) and thus knew how to do an object-oriented language right.

Instead they botched it terribly. No real polymorphism. Very limited 
encapsulation. Type-system which effectively prevents (or at the very least 
makes highly complicated and expensive) all the best and most important 
object-oriented patterns like e.g., proxying and message forwarding. Classes 
are not objects and their „methods“ do not support inheritance properly. It is 
quite normal to access instance variables directly, instead of consistent usage 
of accessors. Heaps and heaps of boilerplate. Often, the darned thing 
limitations just force the IDEs to generate code — compare e.g., WOLips. Could 
rant on for months like this :(

Whilst languages like e.g., Kotlin or Scala fix some of the problems all right, 
they, alas, do not allow to switch a big project from the Java disaster without 
re-writing it at once and completely, which is a big show-stopper.

The vast advantage of Groovy is that you can take a big project, just rename 
all *.java to *.groovy, and it will essentially work (well, as someone already 
wrote, 99 % — my experience is rather 99.99 %, but indeed there are things 
which need fixing and there are a couple of gotchas, but there's really a very 
very small number of them). Then you can work on with the project and gradually 
change the stupid Java patterns to the pretty decent Groovy ones, part by part, 
method by method and if need be, practically line by line, without losing any 
functionality during the process. No other language I know of allows anything 
like this.

All the best,
OC

Reply via email to