IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Trolldi : sauver la princesse avec différents langages de programmation
Là où Pascal, PHP, Java, JavaScript, C et C# ont échoué

Le , par Michael Guilloux

201PARTAGES

27  0 
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 ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de psykokarl
Membre confirmé https://www.developpez.com
Le 07/10/2016 à 16:14
Citation Envoyé par el_slapper Voir le message
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.
12  0 
Avatar de Voyvode
Membre émérite https://www.developpez.com
Le 07/10/2016 à 10:22
Citation Envoyé par Hyome
"StackOverflow" traduit en "les forums developpez.net" j'ai vu mieux
C’est trolldi, tout est permis !

Citation 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.
8  0 
Avatar de Voyvode
Membre émérite https://www.developpez.com
Le 07/10/2016 à 16:49
Citation Envoyé par el_slapper Voir le message
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.
8  0 
Avatar de Jbx 2.0b
Membre chevronné https://www.developpez.com
Le 07/10/2016 à 15:01
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 !
7  0 
Avatar de na2axl
Membre à l'essai https://www.developpez.com
Le 12/10/2016 à 8:16
Moi je suis CSS !
Mais je serais bien trop occupé à repeindre les murs du chateau...
7  0 
Avatar de Nebulix
Membre expérimenté https://www.developpez.com
Le 12/10/2016 à 17:00
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.
7  0 
Avatar de Hyome
Membre du Club https://www.developpez.com
Le 07/10/2016 à 10:14
"StackOverflow" traduit en "les forums developpez.net" j'ai vu mieux
9  3 
Avatar de nchal
Membre expérimenté https://www.developpez.com
Le 07/10/2016 à 10:28
Citation Envoyé par Voïvode Voir le message
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
6  0 
Avatar de akecoocoo
Membre habitué https://www.developpez.com
Le 12/10/2016 à 10:27
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
6  0 
Avatar de Glutinus
Inactif https://www.developpez.com
Le 07/10/2016 à 17:23
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)
5  0