PACK : Programmation objet


  • Magazine Papier
  • Flipbook (liseuse HTML5)


  • Magazine Papier
  • Flipbook (liseuse HTML5)


  • Magazine Papier
  • Flipbook (liseuse HTML5)

Langage C

Le guide pour apprendre à programmer en C en 5 jours !


SOMMAIRE :

Introduction

p. 06 Présentation du langage

Jour 1

p. 18 On se retrousse les manches

Jour 2

p. 34 Algorithmique

Jour 3

p. 48 Concepts avancés

Jour 4

p. 68 L'environnement

Jour 5

p. 84 Fonctionnalités

Bonus

p. 100 Améliorer son IHM

Préface :

Il est de la plupart des langages de programmation comme des modes. Ils surgissent, séduisent, puis s’estompent. Certains apportent cependant des avancées concrètes, que ce soit en terme d’originalité, de syntaxe, de lisibilité, de performances ou même d’approche.

En effet, la diversité des langages de programmation est phénoménale, à tel point que leur classification est toujours ardue et que distinguer au premier abord le langage de programmation le plus adapté à une problématique précise est une chimère. Et cela tombe bien, car comme nous le dirait Jean-Pierre Troll, les bons développeurs ne sont pas élevés en batterie, pensent par eux-mêmes et finissent toujours par trouver le langage qui leur correspond. L’esprit curieux s’enrichira en allant découvrir les nouveautés qui s’offrent à lui. Parce que la culture libre, c’est aussi cela.

Parmi ces langages de programmation, certains sortent du lot. On distingue en effet quelques perles rares qui sont devenues incontournables ; intemporels, ils traversent toutes les modes, et ont su devenir irremplaçables. Chacun d’entre eux a sa propre histoire et a su à un moment donné s’imposer : ils ont apporté quelque chose de plus, quelque chose qui manquait et qui a su faire la différence. Mais cela ne suffit pas à expliquer un succès. Un langage pérenne est un langage qui n’est pas enfermé dans son écosystème, qui sait aussi regarder ce qui se fait ailleurs, s’en inspirer pour s’améliorer, intégrer des nouveaux concepts, des nouvelles pratiques ou des nouvelles techniques apportées par tous les nouveaux langages qui percent au fil du temps. En bref, ils réussissent à évoluer tout en conservant leur esprit original. Il y a très peu de langages capables de prétendre à un tel statut. Et encore moins qui peuvent le prétendre depuis plus de quarante années. Le langage C est fait de ce bois. Un langage bien conçu à l’origine, s’inspirant du meilleur de ce qui se faisait à cette époque, conçu dans un but bien précis, remplissant un réel manque de l’époque et s’améliorant au fil des années tout en restant très proche de l’esprit qui a animé son créateur à l’origine.

En effet, les ordinateurs ont beaucoup changé depuis 40 ans, les pratiques de développement aussi, les concepts également. Si le langage C n’avait pas su s’adapter, il ne serait pas ce qu’il est aujourd’hui, c’est-à-dire l’un des langages les plus utilisés, l’un des plus appris aussi et l’un des plus appréciés. Pour présenter C en quelques lignes, on se contentera de dire qu’il s’agit d’un langage très proche du fonctionnement de la machine, mais capable de fonctionner quelle que soit l’architecture matérielle. Il permet par conséquent d’offrir d’excellentes performances, d’être déployé très aisément tout en exigeant beaucoup de rigueur de la part du développeur.

Sachant à quel point le monde de l’informatique est changeant, on peut tout de même affirmer avec certitude que le C restera pour les années à venir une valeur sûre, voire un passage obligé pour certains domaines, tels que la programmation temps réel ou embarquée, mais pas seulement. Peu importe si vous avez débuté votre carrière informatique il y a quarante ans ou si vous vous apprêtez à le faire, vous pouvez être certain qu’investir un peu de temps dans l’apprentissage de ce langage ne pourra en aucun cas être du temps perdu. Même si vous ne l’utilisez pas au quotidien, les concepts qu’ils portent ont inspiré de nombreux autres langages après lui.

Ce hors-série s’adresse à des développeurs débutants ou qui ont pratiqué d’autres langages. Il n’est pas forcément nécessaire d’avoir des notions d’algorithmique ou de maîtriser des concepts informatiques. Il se veut un guide pour vous accompagner dans la découverte du langage et de la programmation en 5 jours. Les l’introduction et les deux premiers jours vous permettront de découvrir les concepts de base, de vous familiariser avec les bases du langage. Le troisième jour va vous faire entrer dans les concepts les plus complexes à maîtriser lorsque l’on débute dans le langage. Les deux derniers jours vous permettront à la fois de manipuler ce que vous aurez appris précédemment, mais aussi d’apprendre à utiliser des fonctionnalités concrètes. En effet, il est utile d’apprendre un langage, mais il est encore plus utile d’apprendre ce que l’on peut faire avec : l’apprentissage du langage C en lui-même n’est qu’un moyen, pas un but.

Vous verrez ainsi que le langage C n’est qu’un outil permettant de réaliser des actions simples, outil sur lequel vous apprendrez à vous appuyer pour construire une application, en vous appuyant sur la bibliothèque standard de C ainsi que sur d’autres bibliothèques qui vous permettront de toucher à tout. Le fil rouge de ce hors-série sera la construction d’un jeu de Pendu. Il s’agit d’un projet simple à la base, qui permet de créer des interactions entre le logiciel et l’utilisateur, mais qui peut aussi être complexifié à souhait avec l’ajout de nombreuses fonctionnalités, dont la construction d’un dictionnaire de mots en lisant un fichier passé en paramètre (permettant ainsi de jouer seul) et la gestion d’un tableau des meilleurs scores rendu persistant (lorsque l’on quitte le logiciel et qu’on le redémarre, les meilleurs scores sont conservés).

Je vous souhaite une bonne lecture et un bon apprentissage et surtout, n’hésitez pas à pratiquer en même temps que vous lisez et à tenter vos propres expériences. Lancez-vous des défis, c’est le meilleur moyen de progresser !

Sébastien Chazallet

Débutez en C++


SOMMAIRE :

Introduction

p. 06 Avant de commencer, une rapide présentation du C++

Jour 1

p. 12 Installez vos outils et découvrez les bases du C++

Jour 2

p. 34 Débutez votre projet

Jour 3

p. 56 Abordez les types avancés et les pointeurs

Jour 4

p. 76 Modélisez des objets

Jour 5

p. 98 Ecrivez des classes génériques

Jour 6

p. 114 Finalisez votre programmer

Bonus

p. 122 C++ Cheatsheet

Préface :

Le développement logiciel est une science exacte et comme toute science, elle a ses principes inaliénables et ses lois incontournables. Développer un logiciel est un exercice qui requiert de multiples compétences qui vont bien au-delà de la simple connaissance d’un langage de programmation.

Mais cette connaissance est un atout indispensable, sa maîtrise essentielle pour prendre de la distance avec le projet. Il faut savoir ce qu’il est possible de faire et l’avoir pratiqué suffisamment pour être capable de concevoir la solution idéale, la plus simple, la plus directe, la plus élégante, puis organiser son projet en briques indépendantes, réutilisables, testables, en un mot : fiables.

Cette exigence de rigueur, cette hauteur de vue et cette recherche de perfection sont une des caractéristiques de C++. Il ne s’agit pas simplement d’un langage qui s’applique comme une recette de cuisine par des développeurs élevés en batterie – pour paraphraser Jean-Pierre Troll, il s’agit d’un langage qui façonne la pensée du développeur, qui lui inculque les bonnes pratiques, qui lui apprend à lever les yeux hors de son écran et à penser son code avant de l’écrire.

Il a repris de très nombreux concepts nés avant lui et s’est appuyé sur le langage C – langage intemporel, pérenne et ayant fait l’objet d’un précédent hors-série – qui faisait déjà preuve de nombre de qualités citées plus haut. Ce qui le distingue est la grande cohérence avec laquelle l’ensemble des concepts a été intégré et le fait qu’il a su poser un cadre permettant de répondre à des problématiques très complexes sans se dénaturer.

C’est la raison pour laquelle, aujourd’hui encore, il est toujours le langage le plus utilisé dans le milieu industriel (côte à côte avec Java, selon des classements dont la compréhension m’échappe) et qu’il est indétrônable dans des domaines exigeants, comme la programmation temps réel et les jeux vidéos.

Cette pérennité ne doit cependant rien au hasard. Non seulement le langage a été bien été conçu au départ, mais il continue d’évoluer régulièrement – cycle normatif de trois ans – en innovant constamment, en répondant aux exigences de ses utilisateurs, un introduisant de nouvelles pratiques mais surtout, en cherchant à améliorer sa cohérence à chaque cycle.

Ayant la connaissance de ce passif impressionnant, il est inutile de préciser que ce langage a un avenir radieux devant lui et qu’il sera encore, très probablement, un langage très important à mettre sur son CV. Autant dire que son apprentissage est indispensable.

Ce hors-série sera votre guide pour vous permettre de prendre possession des aspects essentiels de C++, que vous soyez sous Linux ou Windows. Vous apprendrez les bases essentielles pour construire une application console, sur lesquelles vous pourrez vous appuyer dans un second temps pour développer des applications graphiques GNOME, KDE ou encore Raspberry PI, Arduino ou même Android ! En effet, le cœur du langage et les techniques que nous verrons resteront les mêmes partout.

Enfin, si vous connaissez déjà Python, vous apprendrez à maîtriser un des langages qui lui est le plus opposé du point de vue des concepts, mais aussi de leur application concrète, puisque les avantages de C++ sont les inconvénients de Python et vice-versa. D’où le fait que ces deux langages travaillent parfaitement bien ensemble et sont régulièrement associés. Autant dire que la connaissance de C++ vous apportera un complément indispensable et une nouvelle compréhension des concepts propres à chaque langage !

Sébastien CHAZALLET & Yohan ANDREOTTI

Découvrir la programmation


Sommaire

Actus

p.08 Brèves
p.10 Gros plan sur le phénomène des Hackathons
p.12 Votre agenda
p.13 Côté livres...
p.14 Quels sont les langages de programmation les plus populaires ?

Repères

p.20 Les différents types de programmation

Témoignages

p.26 Portraits de développeurs

Dossier : Découvrir la programmation

p.32 Découverte et installation de Processing
p.38 Les principaux éléments de syntaxe à connaître
p.48 L’utilisation de variables
p.56 L’organisation du code
p.64 Cap sur la 3D !
p.76 Les boucles et les conditions
p.88 Améliorations visuelles et sonores
p.96 Initiation à la programmation orientée objet

Société

p.110 L’informatique et la programmation à l’école : tour d’horizon des initiatives développées
p.114 Rencontre avec David Odin, enseignant à l’École d’ingénieur en Chimie et Sciences du Numérique de Lyon

Décryptage

p.118 Comprendre l'importance de la gestion des versions d’un projet

Zoom sur...

p.124 Financement de projets : lorsque les internautes se transforment en mécènes
p.126 Bien sélectionner sa licence libre

Préface

Vous tenez entre vos mains le premier numéro qui inaugure la nouvelle formule de nos hors-séries ! Vous l’avez sans doute remarqué, le magazine a changé de forme, 5 ans après la sortie de notre premier mook (livre-magazine) en août 2013. Il était temps désormais d’apporter un brin de modernité à tout cela, sans pour autant faire l’impasse sur le fond, bien au contraire ! Cette nouvelle formule vise à mettre en valeur un contenu encore plus riche et varié.

La pagination n’a pas été modifiée, ce sont toujours 128 pages qui vous sont proposées pour vous permettre de faire le tour complet d’un sujet. Le contenu en revanche a été retravaillé. La thématique principale de ce numéro spécial se trouve désormais placée dans un dossier. Comme précédemment, cela reste le cœur du magazine. L’objectif est toujours le même : vous permettre de découvrir, apprendre, maîtriser un projet/une technologie/un domaine en particulier.

Avec cette nouvelle formule, nous nous sommes fixé un challenge : vous fournir du contenu supplémentaire en dehors de ce dossier. Aussi, vous trouverez ici bon nombre de sujets connexes sous la forme d’articles liés à l’actualité, de retours d’expériences, d’interviews, de décryptages ou encore de repères... C’est là que réside le plus gros changement de cette nouvelle « version » : enrichir le rédactionnel pour vous permettre de profiter de contenus plus variés et de disposer ainsi d’un tour d’horizon encore plus complet de la thématique principale traitée, mais pas uniquement, ce numéro spécial étant aussi l’occasion de faire le point sur bien d’autres sujets.

Pour cette première nouvelle mouture, nous avons choisi de vous parler de programmation. Le but du dossier ce numéro est de vous permettre de faire vos premiers pas dans ce domaine à l’aide de Processing, qui, vous le verrez, vous fournira un excellent point de départ pour développer vos premiers programmes. Mais nous ne nous arrêterons pas de si bon chemin. Nous vous proposerons en effet un panorama des langages de programmation les plus populaires, un point sur le financement et les licences libres particulièrement utile si vous cherchez à développer un projet, le retour d’expérience de 4 développeurs… Vous en apprendrez plus également sur les différents types de langage, mais aussi sur l’importance de bien gérer les versions d’un projet. Nous nous intéresserons en outre à l’apprentissage de la programmation dans les établissements scolaires.

Il ne me reste plus qu’à vous souhaiter une excellente lecture et à vous inviter à nous faire part de vos retours sur cette nouvelle formule (par mail : lecteurs@linux-pratique.com, Twitter & Facebook : @linuxpratique), en espérant que vous aurez autant de plaisir à la découvrir que nous en avons eu à vous la concocter ;-)

Aline Hof

Acheter ce pack


Référence : P1V

28,40 €

37,90 €

Nouveaux produits