Pike

Un langage presque pas comme les autres

Marin Thom
2 min readMay 12, 2017

Pike, quésako ?

Pike est un langage de programmation multi-plateforme né en 1994 dans un club informatique de l’université suédoise de Linköping. Conçu à l’origine pour développer des Multi-user dungeon (jeux vidéos en ligne), Pike a changé trois fois de nom pour devenir un langage commercial jouant un rôle central dans la partie serveur /passerelle d’applications-logiciel comme par exemple “Opera Mini2”.

Son créateur Fredrik Hübinette a souhaité un langage de programmation multi-paradigme: orienté objet et fonctionnel, interprété, doté d’une syntaxe proche du C et du Java. Langage de haut niveau très puissant, Pike a su s’imposer aussi bien dans le monde multimédia que pour des applications serveurs et réseaux grâce à une excellente gestion des Entrées / Sorties , avec une API facile à utiliser.

”Bonjour Pike”

*** hello.pike ***int main() 
{
write("Hello world!\n");
return 0;
}

Le typage, l’essence même de Pike !

À la différence d’autres langages dynamiques, Pike est typé à la fois statiquement et dynamiquement, et requiert des définitions de type explicite pour avertir sur d’éventuelles erreurs de type au moment de l’interprétation du code. Ce comportement est habituellement considéré comme restrictif et limitant par les tenants des langages dynamiquement typés. Toutefois, à la différence du C, du C++ ou de Java, pour ne citer qu’eux Pike a recours à un système de typage spécifique qui permet au programmeur de déclarer des variables comme pouvant contenir une valeur de différents types au cours de l’exécution.

Types de données basique: int / float / string
Types d'ensembles: array / mapping / multiset
Autres Types: program ( <=> classe) / object / function
int|float number; // variable de type entier OU flottant
number = 5; // ceci est valable
number = 5.5; // ... et ceci également.

Ainsi, Pike est un langage très performant lorsqu’on fait bon usage de ses types de données de haut niveau. Il l’est moins pour de la programmation de bas niveau dû au traitement octet par octet. On ne verra pas beaucoup de lecteurs de périphériques écrit en Pike !

Un langage prolongeable

Il est possible de créer des modules, écrits en C ou C ++ et de les intégrer au reste du code Pike. Cette compatibilité permet une gestion des exceptions lancées dans une fonction annexe et traitées comme dans la plupart des langages de programmation.

Finalement, Pike est un langage multiplateforme optimisé pour le traitement des chaînes comme Perl, portable comme Java, adapté à la programmation fonctionnelle comme Haskell et Orienté objet comme Python. Avec d’excellentes performances, Pike est un des langage interprété les plus efficaces sur la plupart des tâches. Cependant, malgré ses nombreux avantages Pike reste un langage marginalisé, utilisé par une petite communauté de programmeurs. Jugé trop peu innovant depuis ses débuts Pike n’a pas su convaincre face à ses concurrents.

Ressources :

--

--