GNU/Linux Magazine Hors-série N°
Numéro
55

Spécial C et C++

Temporalité
Juillet/Août 2011
Image v3
Spécial C et C++
Article mis en avant

Résumé
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.

Dans ce numéro...


C++0x, la nouvelle version de la norme C++, arrive dans votre compilateur préféré. À vrai dire, elle y est déjà un peu depuis un certain temps. Nous allons regarder comment cela peut améliorer votre quotidien de développeur C++, surtout si vous utilisez la STL ou des bibliothèques ressemblantes.
Qui dit “Android” dit généralement “code en Java”. C'est d'ailleurs là, sans doute, l'une des raisons du succès de la plateforme et de l'affluence massive de développeurs dès les premières heures de la mise en ligne des SDK. Mais depuis quelques versions, il est également possible d'embarquer du code C/C++ et de le compiler pour la plateforme de Google sur architecture ARM. Il est même possible de créer, le plus naturellement du monde, un binaire ARM. Là, cela devient vraiment intéressant.
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.
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.
Dans cet article, nous allons voir comment intégrer un moteur de script Lua à un programme C ou C++. Le but de cet article est de fournir le matériel nécessaire pour démarrer rapidement une application avec un moteur Lua intégré.
Dans toute application un tant soit peu complexe, la lecture et l'enregistrement d'un fichier de configuration finissent par devenir une difficulté récurrente, que ce soit sous la forme de fichiers INI, XML, blobs binaires, ou bases de données. Les EFL (Enlightenment Foundation Libraries) fournissent justement une bibliothèque pour gérer ce problème de manière simple et efficace : Eet
Ecrire des programmes en C ou modifier ceux d'autres développeurs n'est pas quelque chose de naturel. Du moins pas dans un premier temps et avec la plupart des personnes. Les sources d'erreurs sont ainsi nombreuses. La fatigue, le manque d'expérience ou tout simplement la densité du code, sont parmi les plus courantes. Le fait est, que, quand on programme, on fait des erreurs. Parfois, ces erreurs ne sont pas les nôtres mais le fait de les corriger peut aider à faire évoluer un projet. Le problème est si courant que pour résoudre ces erreurs, des outils spécifiques ont été créés : les debuggers. Le plus utilisé sous GNU/Linux et d'autres systèmes en logiciel libre est celui proposé par le projet GNU : le GNU Debugger, GDB pour les intimes.
Avec Frama-c, vérifiez et validez vos programmes C de manière sûre par la preuve de programme.

Magazines précédents

Spécial PHP
GNU/Linux-Magazine Hors-série N°54
Spécial PHP
Initiation à Python
GNU/Linux-Magazine Hors-série N°53
Initiation à Python
Développement Android
GNU/Linux-Magazine Hors-série N°52
Développement Android
Hacks, électronique & embarqué
GNU/Linux-Magazine Hors-série N°51
Hacks, électronique & embarqué
Incontournable Python
GNU/Linux-Magazine Hors-série N°49
Incontournable Python

Les derniers articles Premiums

Les derniers articles Premium

Bénéficiez de statistiques de fréquentations web légères et respectueuses avec Plausible Analytics

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Pour être visible sur le Web, un site est indispensable, cela va de soi. Mais il est impossible d’en évaluer le succès, ni celui de ses améliorations, sans établir de statistiques de fréquentation : combien de visiteurs ? Combien de pages consultées ? Quel temps passé ? Comment savoir si le nouveau design plaît réellement ? Autant de questions auxquelles Plausible se propose de répondre.

Quarkus : applications Java pour conteneurs

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

De la scytale au bit quantique : l’avenir de la cryptographie

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Imaginez un monde où nos données seraient aussi insaisissables que le célèbre chat de Schrödinger : à la fois sécurisées et non sécurisées jusqu'à ce qu'un cryptographe quantique décide d’y jeter un œil. Cet article nous emmène dans les méandres de la cryptographie quantique, où la physique quantique n'est pas seulement une affaire de laboratoires, mais la clé d'un futur numérique très sécurisé. Entre principes quantiques mystérieux, défis techniques, et applications pratiques, nous allons découvrir comment cette technologie s'apprête à encoder nos données dans une dimension où même les meilleurs cryptographes n’y pourraient rien faire.

Body