Developpez.com

Le Club des Développeurs et IT Pro

Trolldi : sauver la princesse avec différents langages de programmation

Là où Pascal, PHP, Java, JavaScript, C et C# ont échoué

Le 2016-10-06 18:32:55, par Michael Guilloux, Chroniqueur Actualités
Humour informatique : Le royaume des langages de programmation a récemment été victime d’une invasion militaire de la part d’un redoutable ennemi. Après avoir tout saccagé, l’ennemi emporte avec lui la très chère princesse qui fait la joie du roi. Le grand roi décide donc d’aller délivrer sa princesse, mais pas de lui-même, il décide de confier cette lourde mission à des soldats (des programmeurs), tous armés d’un langage particulier, leur langage de prédilection. Il faut avant tout noter que la princesse est tenue prisonnière dans une forteresse qui ne peut être débloquée qu’avec un programme efficace. La mission consiste donc à mettre en place un tel programme qui va permettre de sauver la princesse.

L’armée du royaume des langages de programmation est constituée de plusieurs centaines de soldats, chacun avec une arme (un langage) qui lui est propre, et de nouveaux soldats sont enregistrés presque chaque année. Certains sont très populaires et d’autres non. Certains soldats se distinguent par leur spécialisation dans un domaine précis, alors que d’autres se vantent de pouvoir combattre sur tous les fronts possibles. Pour délivrer la princesse et la ramener auprès du roi, six soldats ont été choisis, chacun de son côté devant mettre en place le programme qui lui permettra de délivrer la princesse.

Le premier soldat possède le JavaScript comme arme fatale pour délivrer la princesse. Il passe des heures à ramasser les bibliothèques, installer Node et construire un nouveau framework, spécialement pour la forteresse, estimant que les frameworks existants ne sont pas performants. Lorsqu’il finit de construire le framework, il s’aperçoit que la forteresse a été abandonnée et la princesse déplacée dans une autre forteresse.


C’est en étant armé du langage C que le deuxième soldat a mis en place son programme. Il a une bibliothèque pour la forteresse et une bibliothèque pour la princesse. Il mène l'assaut et réussit à sauver la princesse, son chien, toute sa garde-robe et tout ce qu’il trouve avec elle. Mais il n’arrive pas à la ramener chez le roi, car son char s’effondre. Il se demande alors s'il n'aurait pas oublié un caractère Null quelque part.


Avec C#, un autre soldat tente également de sauver la princesse. Il passe des heures à essayer d'exprimer l'ensemble du plan de sauvetage dans une seule requête LINQ. Ensuite, il abandonne et va sur les forums developpez.net pour demander de l’aide, dans l'espoir qu'un membre du club sauve la princesse pour lui.


Un autre soldat armé du langage Java prépare également son assaut. Vite ! Pas de temps à perdre. Il déploie rapidement le sauvetage en production. Mais plus loin, il découvre qu’il a chargé deux versions de la forteresse, mais pas la princesse.


Armé du langage Pascal, devinez déjà qui vient : un vieux soldat avec un équipement apparemment caduc, sans armure et sur un âne plutôt qu'un cheval de guerre. Il déclare la princesse, il déclare la forteresse et il déclare le plan de sauvetage. Ensuite, il va prendre un verre et oublie l’implémentation du plan de sauvetage.


Et avec PHP ? : « Dois-je sauver la princesse… en PHP… ? », s’interroge le soldat muni de ce langage, convaincu que c’est une mission impossible. Sans cheval et sans armure, avant même d’atteindre la forteresse, il estime préférable de se donner la mort par pendaison.


Source : Inspiré de Toogl

Et vous ?

Qu’en pensez-vous ?
Si c’était vous, comment décririez-vous ces différents langages ainsi que ceux qui ne sont pas cités ici ?
  Discussion forum
29 commentaires
  • psykokarl
    Membre confirmé
    Envoyé par el_slapper
    J'essaye de trouver un truc rigolo en COBOL...... Mais je n'ai pas trouvé pour le moment.
    Bah il y a qu'a en faire un ! J'ai même le scénar

    C'est une princesse robuste devant un fort. Son quotidien se résume à assommer les geôliers qui essaient de l'enfermer et à éconduire les chevaliers C++, Java et C# qui se proposent pour la ramener. Elle attend le chevalier COBOL qui ne vient pas ... il n'y a plus de chevalier COBOL.
  • Voyvode
    Membre émérite
    Envoyé par Hyome
    "StackOverflow" traduit en "les forums developpez.net" j'ai vu mieux
    C’est trolldi, tout est permis !

    Envoyé par sazearte
    Si la princesse est dans une grotte, nul doute que la grotte soit compatible avec python.
    J’aime bien l’image du python et de la grotte.

    Allez, je vais essayer d’en remettre une couche :
    You have Lisp, you have expressive functions, but they are too lazy to save the princess…
    EDIT : Grillé par le post original.
  • Voyvode
    Membre émérite
    Envoyé par el_slapper
    J'essaye de trouver un truc rigolo en COBOL...... Mais je n'ai pas trouvé pour le moment.
    Tu as COBOL, tu détiens un savoir oublié… et la princesse que tu dois sauver a l’âge de Grace Hopper.
  • Jbx 2.0b
    Membre chevronné
    Avec Qt t'attends tranquillement que Digia sorte la prochaine version, qui comprendra la classe QKnight, livrée sa belle documentation:

    QKnight knight;
    knight.destroyCastleDoor();
    knight.savePrincess();

    Et puis si tu trouves la princesse moche, tu la refait en QML

    trolldi power !
  • na2axl
    Membre à l'essai
    Moi je suis CSS !
    Mais je serais bien trop occupé à repeindre les murs du chateau...
  • Nebulix
    Membre expérimenté
    Sauver la princesse est une formulation typique de la programmation impérative. Dans la vision objet, c'est à la princesse de se sauver elle même.
  • Hyome
    Membre du Club
    "StackOverflow" traduit en "les forums developpez.net" j'ai vu mieux
  • nchal
    Membre expérimenté
    Envoyé par Voïvode
    C’est trolldi, tout est permis !

    C’était voulu. Forcément.

    Allez, je vais essayer d’en remettre une couche :
    Il y a Lisp dans le post original
    https://imgur.com/HKge28R
  • akecoocoo
    Membre habitué
    dans la dernière image, le cheval est remplacé par un homme qui cogne deux noix de cocos (probablement importés par deux hirondelles d'Afrique, qui sont bien plus résistantes que les Européennes) ... la voilà la référence à (monty) python
  • Glutinus
    Inactif
    Pour SQL (et Oracle encore plus particulièrement) :

    Le Chevalier prépare un conseil de guerre à l'état-major, fabrique une maquette avec l'ensemble du château mais également le mobilier, les gardes, leur équipement, les magiciens, leurs sorts, jusqu'à la couleur des braies des serfs, puis planifie avec des éclaireurs le chemin parfait pour arriver jusqu'à la princesse. Finalement, il traverse pendant presque deux semaines l'ensemble du château, jusqu'à tomber dans le cellule de la princesse, évidemment vide.

    (pour explication, l'optimiseur d'Oracle qui après avoir passé les stats pensent trouver le meilleur chemin... et finalement finit par prendre trois plombes pour une requête ramenant deux lignes)