Temps de lecture 1 min
Je ne suis pas développeur mais mes études de profs de maths m’ont suffisamment sensibilisé à l’algorithmique pour être capable déchiffrer ce pastiche de script qui traine sur internet.
Mais, de peur de dire des bêtises, j’en appelle à une bonne âme dans les commentaires pour faire preuve de pédagogie et expliquer en détail et dans un langage compréhensible au béotien le programme ci-dessous riches en clins d’œil ;-)
deadalnix
En fait, ce programme n’en est pas vraiment un. C’est un faux programme dans un langage imitant le C (langage informatique, notement utilisé pour programmer les systemes d’exploitation).
int main() designe les instruction qui serotn executées au lancement du programme. ces instruction sont entre acolade a la suite du int main.
Quand on va lancer ce programme, il va commencer par faire un boucle : while(!CRASHED) ce qui signifie faire les instruction qui suivent tant qu’on est pas crashé.
le programme va faire differentes choses dans cette boucle, qu’il est aisé de comprendre si on connait l’anglais.
Le programme va ensuite, via printf afficher du texte a l’ecran. On pourra noter que //suivit de quelques chose d"signe un commentaire. l’auteur de ce "script" insinue donc que windows 2000, xp et vista on en fait le meme code de base et qu’on aurait juste changé le nom pour faire vendre le nouveau.
Enfin, si on a toujours pas planté : if(still_not_cashed) , On checke 3 fois la licence et on envoie des info personelles sur l’utilisateur a microsoft. on afiche de joli graphismes a l’ecran, on fait clignoter la loupiotte du disque dur et on lance XP.
L’instruction return d"signe ce que renvoie une fonction. main est par exemple ici une fonction, elle doit renvoyeer un nombre entier, comme l’indique le int devant main.
ce nombre entié est apellé par l’auteur LotsOfMoney, ce qui veux dire que ca fonction renvoie beaucoups d’argent.
il va sans dire que ce script n’est pas correct infomatiquement parlant, mais qu’il immite les langages utilisés dans le dommaine pour faire un trait d’humour 😉
dede
BSOD = Blue Screen of Death (= fameux écran bleu de Windows, quand rien ne va plus …)
fero14041
Excellent, merci beaucoup!
Je n’arrive pas à compter toutes les références… 1 par ligne?
Slow Thunder
Bien l’explication mais l’ennui c’est que la fonction est de type void donc elle n’a rien à retourner :s
L'Ultime Coiffeur
Bien vu Slow Thunder 😉
J’ajouterai de plus que ce n’est pas très drôle…
mais on s’en fout, c’est de l’humour de geek…
ericb
Ha ha 🙂 Excellent !
Bon, un peu geek moi même, j’avais bien un patch, mais je viens de me rendre compte qu’un return dans un if, je ne crois pas que ce soit très propre.
<mauvaise foi on>
M’enfin, on est sous Windows ^^
</mauvaise foi off>
Sébastien
« un return dans un if, je ne crois pas que ce soit très propre »
C’est absolument exact, d’autant que :
(!CRASCHED) || (first_time_install) || (still_not_crashed))
renvoie TOUJOURS
LotsMoreMoney !!!
babe
Hahaha. Pas mal…
J’ai bien aimé la commande "FancyGraphics" ;
un must.
nosferaltu
A noter que "class WindowsVista extends WindowsXP implements Nothing{}" fait plutôt référence au Java ça signifie que Vista récupère toutes les fonctionnalités de XP et n’en ajoute aucune.
Je trouve cette ligne un peu en trop puisqu’elle répète un truc dit plus bas et qu’elle n’est pas dans le même langage.
Mais étant donné qu’elle est là je rajouterais bien un petit private devant la définition de la classe.
Comme dit précédemment // sert à écrire un commentaire et si vous faites attention au code couleur vous verrez que /* … */ sont aussi des balises de commentaire. A l’intérieur on peut lire GNOT qui signifie je pense Not GNU (GNU est un système d’exploitation composé exclusivement de logiciels libres.).
Les include permettent d’ajouter des librairies. On remarque que dans ce cas on ajoute toutes les fonctionnalités de dos, windows 95 et 98 et sco_unix (qui signifie certainement que le programme intègre les fonctionnalités d’unix mais là je suis moins sûr).
Google
Excellent j’aime beaucoup le coup des CheckUserLicense en cascade 🙂
scaf
Je m’épluchais les archives du framablog, ça occupe bien 🙂
J’aime bien les variables globales (en général, c’est un concept à éviter dans un programme):
totalNewFeatures : 3 nouveautés
totalWorkingNewFeatures : 0 nouveautés qui fonctionnent
NumberOfBugs : non seulement c’est un nombre exceptionnellement grand, mais en plus, la variable est déclarée comme étant un nombre réel et non pas un entier naturel; on peut donc avoir des fractions de bug.