Langage de prog à découvrir !

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

12 févr. 2006, 15:27

Hommage à Douglas Adams

Le langage de programmation Ook
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 19672 Messages

12 févr. 2006, 15:51

Mdrrrrrrrr, tu élargis tes compétences multi-langage mere-teresa ?
Être allé jusqu'à créer une classe en Java dans cette perspective montre toutefois tout le sérieux du créateur de ce langage :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 383 Messages

15 févr. 2006, 12:42

si ce genrede choses vous amuse ( moi ca m'amuse :P :P ) faites un tour sur la page de wikipedia consacrée aux langages "exotiques" : http://fr.wikipedia.org/wiki/Cat%C3%A9g ... n_exotique

vous y trouverez notamment une page sur le brainfuck ( l'ancetre du ook ), le goto++ ( tres bon aussi ), et le terrifiant SNUSP, un langage de prog en 2 dimensions : en gros, l'execution du code se fait en suivant des chemins sur la page, avec des especes de relais, de portes, etc... et les iif..then correspondent a des changements de direction..
pour le plaisir : un hello world en brainfuck :

Code : Tout sélectionner

++++++++++[>+++++++>++++++++++>+++>+<<<<-] >++.>+.+++++++..+++.>++.<<+++++++++++++++. >.+++.------.--------.>+.>.
et un prog en SNUSP qui calcule quotient et somme de 2 entiers :

Code : Tout sélectionner

/==!/============atoi=@@@@=@@=--# | | /==!/====itoa=@@@@=@@=++# | | | | $,@/>,@/@\@/.<@/.# | /-\ \===div=?\<!\?/#!===+<<<\ /-\ \<==@\>@\>>!/?!/=<?\>!\?/<<# | | #\->->+</ \=!\=?!/->>+<<?\# #\?<<+>>-/

ViPHP
fab
ViPHP | 2657 Messages

15 févr. 2006, 13:47

dans les deux cas je préfère la version php lol
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

15 févr. 2006, 15:00

Après avoir tant souffert avec des langages indigestes
tels que PROLOG, LISP, LEXX et YACK, je ne m'étonne plus de rien !

Mais y en a quand même qui n'ont rien à faire de leurs journées... :roll:

ViPHP
ViPHP | 2144 Messages

15 févr. 2006, 15:18

Heureusement, que tout les langages dérivés ne sont pas aussi farfelus. :D :D :D

PS: hors sujet: Quand on voit ce que des langages dérivés de Java, tel que Jack et Jadex peuvent faire, ça ouvre pas mal de perspectives pour l'avenir.

Mammouth du PHP | 19672 Messages

15 févr. 2006, 15:18

Ben remarque, en suivant les liens, on découvre que le goto++ est un langage orienté Abject
Tout à fait excellent :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 1024 Messages

15 févr. 2006, 15:52

le white space est pas mal non plus:
http://en.wikipedia.org/wiki/Whitespace ... g_language

A+

Pascal

Eléphant du PHP | 383 Messages

15 févr. 2006, 16:41

le detail qui tue : du white space avec une syntax highlighting !!
http://en.wikipedia.org/wiki/Image:Whit ... n_vim2.png

dans un genre un peu different, le fameux manuel "comment ecrire du code illisible" :
http://mindprod.com/jgloss/unmain.html

quelques morceau choisis :
Reverse the Usual True False Convention
: Reverse the usual definitions of true and false. Sounds very obvious but it works great. You can hide:
#define TRUE 0
#define FALSE 1
somewhere deep in the code so that it is dredged up from the bowels of the program from some file that no one ever looks at anymore. Then force the program to do comparisons like:
if ( var == TRUE )
if ( var != FALSE )
someone is bound to "correct" the apparent redundancy, and use var elsewhere in the usual way:
if ( var )
Another technique is to make TRUE and FALSE have the same value, though most would consider that out and out cheating. Using values 1 and 2 or -1 and 0 is a more subtle way to trip people up and still look respectable. You can use this same technique in Java by defining a static constant called TRUE. Programmers might be more suspicious you are up to no good since there is a built-in literal true in Java.
1.
A Real Life Example
: Here's a real life example written by a master. Let's look at all the different techniques he packed into this single C function.
void* Realocate(void*buf, int os, int ns)
{
void*temp;
temp = malloc(os);
memcpy((void*)temp, (void*)buf, os);
free(buf);
buf = malloc(ns);
memset(buf, 0, ns);
memcpy((void*)buf, (void*)temp, ns);
return buf;
}
* Reinvent simple functions which are part of the standard libraries.
* The word Realocate is not spelled correctly. Never underestimate the power of creative spelling.
* Presume malloc will always return successfully.
* Make a temporary copy of input buffer for no real reason.
* Cast things for no reason. memcpy() takes (void*), so cast our pointers even though they're already (void*). Bonus for the fact that you could pass anything anyway.
* Never bothered to free temp. This will cause a slow memory leak, that may not show up until the program has been running for days.
* Copy more than necessary from the buffer just in case. This will only cause a core dump on Unix, not Windows.
* It should be obvious that os and ns stand for "old size" and "new size".
* After allocating buf, memset it to 0. Don't use calloc() because somebody might rewrite the ANSI spec so that calloc() fills the buffer with something other than 0. (Never mind the fact that we're about to copy exactly the same amount of data into buf.)