En espérant que ca a pas été posté 50 fois ici, un pote m’a envoyé une news de linuxfr :
[quote]Ça fait un mois que vous apprenez le C et vous comprenez toujours pas les pointeurs ?
Vous n’arrivez pas à relire votre programme Perl ?
Votre tortue Logo se déplace toute seul ?
Sachez que vous n’êtes PAS à plaindre !
Bon, si quand même, parce que ce qui va suivre ne va pas vous aider à résoudre votre problème. En tout cas il existe des langages pires. Des programmes pires. Et il y a même des gens qui font ces programmes pires dans ces langages pires!
Parmi les langages on trouve (avec leur « hello world »):
Befunge qui est un langage bi-dimensionnel.
55+« .dlrow ,olleH »>:#,_@
BrainFuck : Il y a un tableau d’entiers de 1 octet et un pointeur sur ce tableau. Tous les entiers sont initialisés à zéro, et le pointeur pointe vers le premier élément. Il ne reste plus qu’à déplacer le pointeur, et à incrémenter/decrémenter la valeur vers laquelle il pointe.
Rudimentaire non?
+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++…+++.[-]
++++++++[<++++>-]<.#>+++++++++++[<+++++>-]<.>++++++++[<+++
-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.
(il n’y a pas de retour à la ligne en vrai. Ca fait une seule ligne.)
Unlambda est un autre langage de programmation obscure créé dans le seul but de rendre la programmation douloureuse et ardue (ou amusante et pleine de défis si vous préférez).
Tout comme le Scheme, ce langage ne manipule que des fonctions. Et dire que ça suffit!
```ssii`ki
ss`ks
ss`ks
s`k`s`kr
s`k`si
s`k`s`k
`d````````````.H.e.l.l.o.,. .w.o.r.l.d.!
k
k
`ks
s`ksk`k.*
(atroce non?)
Orthonormal est un autre langage bi-directionnel sympathique
0 ‹ d › ‹ l › ‹ r › ‹ o › ‹ w › ’ ’ ‹ , › ‹ o › ‹ l › ‹ l › ‹ e › ‹ h › s 0 c 0 ret
Il y en a plein d autres. tous plus immondes (attrayants) les uns que les autres.
Maintenant que vous avez trouvé votre langage de prédilection, essayez de programmer un (une?) quine.
C’est un programme qui affiche son propre code. Mais attention! Pas un qui lit sa source! Et c’est la que ça devient difficile…
Je n’ai pas réussi de mon coté… je vous en poste quelques uns ici… il y en a d’autres avec les liens… essayez si vous avez du temps!!
Scheme ou Lisp:
((lambda (x)
(list x (list (quote quote) x)))
(quote
(lambda (x)
(list x (list (quote quote) x)))))
C:
charf="charf=%c%s%c;main()
{printf(f,34,f,34,10);}%c";
main(){printf(f,34,f,34,10);}
Perl:
$=q{$=q{Q};s/Q/$/;print};s/Q/$/;print
Y’a des tarés je vous jure
Bon, je vous aurait prévenu, n’essayez pas ces langages ni de faire de quines avant d’avoir résolu vos problèmes avec vos langages favoris![/quote]