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)

Collapse
 
tux0r profile image
tux0r
  • 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.
Collapse
 
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.
Collapse
 
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.

Collapse
 
piotrpalek profile image
Peter

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).

Collapse
 
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.

Collapse
 
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).

Collapse
 
juliatorrejon profile image
Julia Torrejón • Edited

Thanks, that is really useful!

Collapse
 
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
Collapse
 
danielescoz profile image
Daniel Escoz

ES7 is two years old now...

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