DEV Community

Discussion on: Could you explain #likeimfive the meaning of these programming languages as humans?

Collapse
 
idanarye profile image
Idan Arye

About the Java one - I interpret it differently. Below "garbage collector" there is an arrow pointing at the zombie - the zombie represents the garbage collector itself!

I have seen Java developers and projects that fear the garbage collector. They claim that the GC may run at any moment, even when it's critical that the program runs smoothly, and screw things up. So they take special measurements to avoid the GC as much as they can.

The same reasoning hold for other languages with GC, but in dynamically typed interpreted languages you are not expecting much performance anyways, and in other statically typed compiled languages you often have struct types that allow relatively easy GC avoidance. In Java, however, there is no struct types, so you have to either reuse objects or depend on primitives. Both solutions are ugly and error-prune.

So, Java has a GC that is like a zombie - a slow monster that's out to get you and you need to use all sort of weird tricks in order to avoid it.

Collapse
 
itr13 profile image
Mikael Klages

Or it could be implying that Java developers are zombies that just blindly use java for its garbage collector.

IIRC, when Java originally got popular, it was partially due to the garbage collector, and how it was harder to write code that might have really bad crashes.

The comic might be implying a lot of java developers keep using java for out-of-date reasons like that (possibly also that the language is dead? or that they're "dumb zombies"), despite there being other alternatives.

That said, people sticking too much to one language for bad reasons can be applied to pretty much any non-esoteric language.

Collapse
 
rossdrew profile image
Ross • Edited

Like OP said, the arrow is pointing at the zombie indicating that it IS the garbage collector.

It's because the garbage collector is (historically) unpredictable, slow and picks off objects that have fallen behind your object tree. Like a zombie.

Anyone claiming java or its user are zombies are always people who've jumped on some new language that hasn't died on its arse yet :P