C, C, C... pourquoi toujours le C (et autres choses en rapport) ? GNU/Linux Magazine n°55
Les langages de programmation ne manquent pas. L'utilisateur souhaitant se former ou être formé n'a que l'embarra du choix. PHP, Perl, Java, Python, Ruby... tous sont très à la mode et largement utilisés. Pourquoi toujours en revenir au C et pour quelle raison a-t-il cette aura qui en fait le langue par excellence lorsqu'il s'agit de développement système ? Le C plaît, il fait rêver et pourtant, il reste un langage difficile à maîtriser et laissant reposer beaucoup de responsabilités sur le programmeur. Petit tour d'horizon du C ainsi que des outils et principes de compilation.
Écrire des extensions pour Python GNU/Linux Magazine n°55
Tout comme PHP, Python est un langage de haut niveau dynamiquement typé construit au dessus de C, un langage de bas niveau statiquement typé.Il possède par contre une philosophie totalement différente et par voie de conséquence, une implémentation radicalement différente.Si le nombre de modules Python est impressionnant, il peut être utile de vouloir créer les siens directement en C de manière à utiliser une librairie C nouvelle, ou à améliorer les performance, ce qui est utile dans de nombreux domaines niches où la rapidité d'exécution est importante ou la quantité de ressources est limitée.Inversement, des routines C peuvent appeler du code Python, en utilisant directement le code C implémentant Python.Au final, on sait que 80% du temps est passé dans 20% du code. C'est cette partie là qu'il est nécessaire de réécrire en C ou en C++. Pour l'autre partie, la rapidité de développement en Python, la pléthore de librairies disponibles en font un atout indispensable. Du coup, la combinaison des deux technologies devient idéale.
Écrire des extensions pour PHP GNU/Linux Magazine n°55
PHP est un langage de scripting de haut niveau, dynamiquement typé qui propose une sémantique objet. Il est construit au dessus de C (langage de bas niveau, statiquement typé), reposant sur des structures et des types définis dans l'API Zend Engine 2.0.PHP Possède une collection de fonctions très impressionnante qui servent à répondre à des besoins algorithmiques classique et couvrent un très large spectre fonctionnel. Cependant, il peut arriver que dans certains cas, les script exécutés soient particulièrement long car le nombre d'instructions demandées est excessivement important et qu'aucune optimisation de code, en restant dans le cadre de PHP, ne puisse améliorer les performances.Dans ce cas, écrire cet algorithme en C en gérant soi-même les ressources peut permettre de ne pas faire exploser la consommation mémoire ou de rendre le traitement plus rapide. Une autre bonne raison d'écrire des extensions C est le fait de vouloir utiliser une librairie externe.Pour cela, il faut disposer d'un bon niveau en C, et en optimisation de code, puis connaître les bases de l'interaction entre C et PHP.
Ce magazine est intégralement disponible sur Linux Magazine Connect