If Programming Languages Were Superheroes
Introduction:
Programming languages all have their own distinctive style and odd character. Not surprisingly these unique set of traits tend to attract deviants that sometimes form a community who then hold conferences to talk about their deviant ways :)
If programming languages were superheroes, who would they be?
Assembly (Hulk)
Assembly fights "close to the metal", moving and shifting data around like no ones business. Like the Hulk its powers really has no limits. But it comes at a heavy cost, you have to do everything yourself. Power it seems is tied directly to its emotional state. There are no safety nets, the world is not made of rainbows and kittens. Assembly is a lone gun and will carry that heavy burden all day long. But be very careful and dont make assembly angry, because when assembly gets angry it will scream "ASSEMBLY CRAAASH" and destroy your computer.
Python (Batman)
Saving a City from criminals is not easy, solving crimes created by evil geniuses requires a touch of elegance and sophistication. With a vast library just an import away, its not so much programming as merely expressing your will. Let python worry about the details for you. But Python has a dark past too, its real power can never be know, its character can never be made public. It hides itself as "just another scripting language, running on an VM interpreter hybrid wasting expensive CPU cycles.."
PHP (Joker)
Some minds are so twisted, so mangled they were never meant to be understood. Peering into PHP code, is looking directly into the abyss. But once you stare into the darkness that is PHP, the darkness stares back at you. Some say mixing all concerns (view, logic, mode) all in one place is madness, but maybe PHP is just ahead of the curve?
C++ (Robocop)
C in its original form, was a normal hardworking decent language. But a fateful accident with OOP and desire to make it faster, stronger, and harder resulted in C++. Yes C++ is super shiny but it also created things like protected abstract virtual base. If you can master this shiny machine then amazing power is yours to be commanded. However most just use the hardworking C side of C++.
Ruby (Ironman)
Ruby is advanced, its neurokinetic nanoparticle morphological language is were its power lies. Some say the original Ruby had humble beginnings, made in a cave by single man called Matz with nothing but simple tools. While it combines the best ideas from other languages it ends up just monkey patching it all together. Lately people say Ruby has become shallow and just a big "front", this is sad because the new generation of kids conflate Ruby with the framework "Ruby On Rails". The real question on everyones mind is can Ruby stand on its own without its web framework?
Java (Magneto)
An old language, Java was born out from an age of suffering during the jurassic era of C and C++. Its a very verbose and heavy language, but the over engineering is by design (a design that only a committee of bowel movement architects could appreciate). If you want to lift heavy metal, steel or a suspension bridge Java will not let you down. Of course the downside is if you want to lift small light plastic things, Java will be of no use. Java believes that native languages like C and C++ are a disease and that managed languages are the next evolution. Java believes in a final war between native and managed languages as an inevitable clash.
Lisp (Professor Xavier)
Is code data or is data code? some say "its all in your RAM". And as for language, do you really need syntax? When you look deep enough you will find that all languages are connected and can be expressed by an AST. Lisps simplicity and metacircular evaluator is nothing short of pure genius that is perhaps only comprehensible on another metaphysical plane of existence. Lisp wishes to promote the peaceful message that all data and code can co-exist, it stands in a neutral place where it believes it can create harmony by virtue of homoiconicity. Sadly not everyone understands or appreciates Lisps high virtues and instead run away in fear.
C# (Super-Man)
Its really powerful. It has great support and lots of libraries. It is cross-platform using MONO. You can develop games using Unity3D or XNA. Although it does sound alien to most programmers.
Javascript (Mystique)
JavaScript is everywhere because it can have multiple appearances as jQuery, AngularJS etc. It can also be used on server side (nodejs). One can develop cross platform mobile apps in JavaScript using frameworks like PhoneGap, Appcelerator. It is often misunderstood as being related to Java due to its name. But underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart.
HTML (Kickass)
He is a hero if you ask him, but at the end he is nothing but a view. But like kickass, he did encouraged newbies to be a heroes. This quality is a must for all superheros, just like HTML is mandatory for every website.
COBOL (Captain America)
An old hero. Yes it is an old hero. COBOL stands for Common Business Oriented Language. Since it was developed keeping common(non-technical) people in mind, just like Captain America.
Both COBOL & Captain Amercia first appeared in mid-90s.
Haskell (Albus Dumbledore)
Haskell would probably be Dumbledore... it teaches magic to every other programming language, but no one dares to tap its real powers!
So what do you think? if your programming language was a superhero which character would it be?