Récemment, j’ai découvert un nouveau langage, digne du brainfuck dans sa syntaxe, mais digne des plus puissant langage dans l’utilisation.

Après quelques moments à admirer des codes tous aussi incompréhensibles les uns que les autres, formés quelques caractères (entre 10 et 30 en moyenne) qui donnait les résultats de problèmes plutôt complexe, comme ceux que l’on peut trouver sur le site du Projet Euler (un site en anglais qui rassemble à ce jour quelques 257 problèmes d’algorithmique), je me suis décidé à découvrir ce langage. J’écris donc cette article pour vous faire partager une partie de mes faibles connaissances dans ce langage.

Je vais commencer sec et vous montrer à quoi on a affaire (attention aux âmes sensibles!) : +/I.((-:|.)@#:*.(-:|.)@”:)”0 i.1e6
Voici un code qui vous donne la somme de tous les nombre palindromes (que l’on peut lire de droite à gauche ou de gauche à droite sans distinction, par exemple : ) en base 2 et en base 10 inférieurs à 1 million! Rien que ça…
Mais ne vous faites pas d’illusion, ce code n’est ni de mon niveau ni du votre (du moins, je le suppose).

Tout d’abord, avant de coder, il faut se procurer l’interpréteur (le logiciel qui traduit le code à l’ordinateur). Pour ça, rien de plus simple, il suffit de télécharger l’installateur sur le site officiel : http://www.jsoftware.com/stable.htm. Il y en a pour tout le monde : Windows, Linux, Mac et même Pocket PC.
Un fois installé, le programme qui nous intéresse est dans le dossier j602/bin/jconsole.exe (ou avec l’extension spécifique à votre système d’exploitation). Lancez-le. Vous voici enfin dans la console qui vous permettra d’exécuter et d’avoir les résultats des codes directement.

On va commencer par les calculs simple : 5+5 Appuyez sur la touche entré pour exécuter le code et sous vos yeux ébahis, le résultat s’affiche : 10. Je pense qu’il n’y a pas besoin d’explication ^^. Pareil pour la soustraction 5-2 et pour la multiplication 3*7.
Par contre, on commence à voir les différences du J par rapport aux autres langages, il faut utilise % Pourquoi? tout simplement parce qu’en penchant la tête, ça ressemble à un ÷ ça nous donne donc 3 pour 6%2 . Et le petit dernier, le modulo qui est représenté par | et qui n’est pas dans le bon sens : 2|5 veut dire 5 modulo 2 autrement dit, le résultat est 1.

Je rajoute aussi l’opérateur puissance : 5^3 qui signifie 53. Et un cas particulier, le carré : *:5 qui signifie 52.

Voilà pour calculs simples. Un dernier truc pour terminer de présenter une infime partie de ce langage, les “variables”. On peut les appeler ainsi, mais ces éléments font aussi office de fonction, et en réalité, c’est juste un “mot” qui sera remplacé dans les prochaines instructions. Pour définir une variable, c’est assez simple : a=:5 Là, j’ai déclaré une variable a qui aura pour valeur 5. Donc si vous faîtes a vous obtiendrez 5. Mais comme je l’ai dit, c’est juste un mot qui est remplacé. On peut donc faire : plus=:+ et faire ensuite 5 plus 2. Je montre encore une possibilité qui est l’assemblement des deux précédentes : auCube=:^3 et qui s’utilise comme ceci : 5 auCube. Déjà, avec ça, vous devriez commencer à apercevoir un peu la puissance du langage J.

Sur ce, je vous laisse cogiter ça, et je vous donne rendez-vous pour un autre article sur le J.

Un commentaire

  • simon (4 comments), le 24 avril 2013

    je ne comprends pas
    ce qu’on demande c’est un site pour aider a inventer un langage rigolo entre cousins!!!
    refaites un truc s’il vous plait et comprhénsible :-)

Poster un commentaire

Subscribe without commenting