DEV Community

Julia Torrejón
Julia Torrejón

Posted on

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

Programming languages as humans
Author: Monkey User

Top comments (13)

tux0r profile image
  • Java: A language which is moving zombie variables/objects to an automatic trashing process ("Garbage Collector").
  • C#: A very Microsoft-centric language, running on the .net framework.
  • Python: Divided into the very different versions Python 2 and 3 which are incompatible in many ways.
  • JavaScript: Known for having many developers add dozens of third-party libraries instead of writing actual code with moving standards (ES7 being the newest one) and the Microsoft browser(s) being the bottleneck.
  • Swift: Made from various other languages which don't fit together that well.
  • PHP: ?
  • C++: Known for null pointers (which will inevitably crash your application).
  • C: Haha, only old weirdos use C, hahaha. (And I do, obviously.)
  • Assembly: You'll have to put together your own "human" ("application") from the very basics, here pictured as the DNA.
  • Brainfuck (censored for unknown, probably ridiculous reasons): Just look at a code example to understand the picture.
ld00d profile image
Brian Lampe

Mostly agree, but like to add...

  • Java: they're claiming that Java's a zombie -- i.e. it's a dead language that won't die (wholeheartedly disagree).
  • C#: this guy is living on an MS island where everything is some MS product and why would you use anything that's not MS's?
  • JavaScript: IE/Edge is holding us back from progress.
andrewdtanner profile image
Andrew Tanner 🇪🇺

TO be fair to IE11, it's alright. It obviously doesn't support bleeding edge but at least you can reliably test and polyfill for it.

Edge should be much better and it pains me to still find bugs in Edge that I also find in IE11. So much for a complete new browser...

Safari is the real heap of crap these days - both mobile and desktop.

piotrpalek profile image

I'd agree with IE but Edge is pretty cool with regards to new language features.

Thread Thread
maxart2501 profile image
Massimo Artizzu

Eh, somewhat.
I still don't understand what's holding them to implement Web components like the other browsers (note: this is not directly related to JavaScript, but rather to the web platform).

nebojsac profile image
Nick Cinger

All great! Just wanted to add to PHP since I do PHP :o)

PHP - balancing upside-down near a ledge - doing crazy risky rhings for no apparent reason. Alluding to the meme of PHP being inherently more insecure than the rest.

cjbrooks12 profile image
Casey Brooks

A little more light on PHP: The guy is standing on the symbol for a database while wearing an Apache feather, a nod towards the LAMP stack (Linux OS, Apache web server, MySQL database, PHP code).

juliatorrejon profile image
Julia Torrejón • Edited

Thanks, that is really useful!

david_j_eddy profile image
David J Eddy

PHP - balancing upside-down near a ledge - doing crazy risky things for no apparent reason. Alluding to the meme of PHP being inherently more insecure than the rest.

  • Feather: Apache web server, PHP is used with Apache... A LOT.
  • Database slices: PHP mysqli has been insecure, and in production, for over 15 years.
  • Balancing on a cliff: 'cause YOLO
danielescoz profile image
Daniel Escoz

ES7 is two years old now...

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.

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.

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