GNU/Linux Magazine 175

CRÉEZ VOTRE PROPRE LANGAGE DE PROGRAMMATION !

Plus de détails

7,90 € TTC

 
Sommaire :

Actualités

p. 06  PostgreSQL 9.4, quelques-unes des nombreuses nouveautés

Humeur

p. 16  Foutaises politico-techniques #2 : quand les politiques causent d’Internet

Repères

p. 20  Une histoire de l'informatique - L'ère mécanique

Algo/IA

p. 24  Créez votre langage de programmation !

Sysadmin / netadmin

p. 38  Introduction au Network Security Monitoring (NSM)

Python

p. 54  Le grand serpent résout les Sudokus

Android

p. 62  Premières applications natives en C++ sous Tizen

Code

p. 72  Approche détaillée des futex (partie 2/4)

édito :

Et si, ce mois-ci, vous vous lanciez dans la création d'un nouveau langage, VOTRE langage. Nous en avons tous rêvé un jour ou l'autre et, en utilisant les bons outils, ce n'est finalement pas très compliqué. Mais pourquoi créer un nouveau langage me demanderez-vous ? On peut créer des bibliothèques de fonctions pour nos langages favoris et cela fonctionne déjà plutôt bien, et ce, sans avoir à apprendre de nouveaux concepts. Certes. Mais en dehors de la satisfaction « artistique » d'une création personnelle, votre propre langage aura d'autres atouts :

  • il pourra simplifier un langage existant et accélérer ainsi les développements utilisant celui-ci. CoffeeScript est un bon exemple de ce cas d'utilisation, avec un pseudo-JavaScript qui compile du code JavaScript.
  • il sera plus agréable à lire et à maintenir que des fonctions... À condition de l'avoir correctement pensé...
  • enfin, il vous permettra en plus de comprendre le fonctionnement d'un compilateur, ce qu'il se passe avant que votre code puisse être exécuté par la machine et, du coup, vous serez plus à même d'optimiser votre code.


Avoir la liberté de créer un langage c'est rafraîchissant et on peut également le prendre comme un jeu, simplement pour avoir le plaisir de voir compiler une syntaxe créée de toutes pièces. Vous souhaitez que l'écriture a§2 <= 10 signifie « insérer la valeur 10 en position 2 dans le tableau a » ?

C'est possible !

Vous préférez que la signification de cette instruction soit plutôt « découper la chaîne de caractères a en deux parties et insérer la valeur 10 au milieu » ?

C'est également possible !

Vous êtes entièrement libre de créer une syntaxe utile et intuitive, ou quelque chose de complètement incompréhensible... Et c'est ça qui est beau ! Dans ce numéro, nous analyserons ensemble la création d'un pseudo-Logo, qui compile du code JavaScript de manière à faire déplacer un sprite dans un navigateur web en lieu et place de la sempiternelle tortue.

Si après ces différents tests vous avez besoin de décompresser un peu, prenez donc un petit Sudoku, un crayon et c'est parti ! Certes, la solution n'est pas toujours évidente à trouver. Serait-ce une erreur dans la grille ? Êtes-vous à ce point exténué que vous vous perdez dans vos calculs ? Cette petite séance qui devait vous relaxer n'a réussi qu'à vous crisper un peu plus... Qu'à cela ne tienne, développez un solveur de Sudoku en Python et vous pourrez compléter automatiquement votre grille ! Bien sûr, le jeu perdra beaucoup de son intérêt, mais rien ne vous empêche d'adapter le code de manière à « seulement » vous aider en ne vous indiquant la solution que de certaines cases...

Je vous laisse découvrir les autres articles de ce numéro et je vous retrouverai le mois prochain...

Tristan Colombo

 

A propos du magazine
Logo

Le magazine de référence technique pour les développeurs et les administrateurs sur systèmes UNIX, open source & embarqué !

Pionnier dans son domaine, GNU/Linux Magazine est depuis 1998 une véritable référence technique pour pour tous les développeurs et administrateurs sur systèmes Unix, open source et embarqués. Le premier magazine français 100 % Linux se démarque grâce à une ligne rédactionnelle résolument technique et pédagogique. Chaque mois de nombreux thèmes sont abordés permettant de toucher à différents domaines de l’informatique, que ce soit de l’intelligence artificielle, de la sécurité, de l’embarqué, du système/réseau ou du hack.

Nouveaux produits