Informaticienzero

Le blog d'un informaticien passionné de partage, d'échanges et surtout, pas si zéro que ça.

On est en début d’année, c’est la période traditionnelle pour les nouvelles résolutions, les bilans, la motivation gonflée à bloc, bla bla bla. Je ne vais pas te le cacher, ces derniers temps, je n’ai plus trop la flamme du développeur, celle qui me faisait me coucher si tard à mes débuts, qui me rendait grognon quand j’étais interrompu avant d’avoir trouvé la solution. Excepté les bouts de code écrits au travail, pas grand chose à se mettre sous la dent, mais tellement de choses qui se bousculent dans ma tête. Le but de cet article sera de me vider la tête en écrivant ce brouillard dans mon esprit et de faire le point sur ce que je veux faire et ce que je vais faire.

C++

Mon langage préféré. Je suis tombé sous le charme dès les premiers instants, mais je vais être honnête : j’ai toujours un niveau de débutant. Eh oui, malgré la fréquentation d’experts, malgré tous les livres que j’ai, je n’ai pas progressé parce que je n’ai pas pratiqué, tout simplement.

Alors je ne suis pas un débutant complet non plus. Je connais les bases, mais je perds trop de temps à me rappeler de telle ou telle fonction, des subtilités et spécificités du C++ comme les templates, je reste bloqué sur les erreurs bêtes. Je suis rouillé comme un chalutier soviétique.

Alors mon premier objectif niveau programmation sera donc de reprendre et affermir mes connaissances en C++. Je ne deviendrai certainement pas un expert d’ici la fin de l’année et ça tombe bien parce que ce n’est pas le but. Non, je veux plutôt avoir des bases solides sur lesquelles bâtir. Voici comment je compte réaliser cet objectif.

J’ai la chance d’apprendre C++ à une époque où le langage s’est simplifié, les outils sont nombreux et la communauté importante, alors autant y aller à fond cette année !

Python

Ah, ce cher serpent. Hormis un pauvre script d’une vingtaine de lignes fait quand j’étais à l’université, je n’ai jamais rien codé en Python. C’est vraiment dommage, parce qu’il semble être un langage vraiment populaire, simple à apprendre et de plus en plus utilisé. On le met souvent en couple avec le C ou le C++, Python étant utilisé pour la majeure partie d’une application et les parties critiques étant recodées en natif en C ou en C++. Si Python facilite le développement par rapport à C++, ce serait vraiment bête de ma part de m’en passer.

De plus, il y a le site Zeste de Savoir qui est développé avec Django, le célèbre framework web Python. C’est un projet auquel j’ai vraiment envie de contribuer parce que j’apprécie énormément ce qu’il est. Mais avant de faire mumuse avec Django, j’ai besoin de bonnes bases en Python. Voilà le plan d’attaque.

J’ai vraiment l’impression que Python est un langage d’avenir. Que j’ai tord ou raison, autant sauter à l’eau, ça ne peut que me faire du bien.

Modification du 23/02/2016 : j’ai découvert, en plus de HackerRank, d’autres sites qui proposent de s’entraîner en Python dont Codecademy et Codility. J’en parlerais dans un autre article.

Haskell

J’avais, à la date du 23 décembre, rédigé un article sur Haskell, mais depuis, je n’ai rien écris. J’avoue que le paradigme fonctionnel est vraiment renversant et que j’ai du mal à m’y faire. Mais si je veux m’ouvrir l’esprit et progresser, je dois continuer mon apprentissage.

Par contre, je n’ai pas d’objectif précis ni d’idée de projet à réaliser dans ce langage, excepté des CodinGames. Toute idée postée dans les commentaires sera la bienvenue ! Tout au plus ai-je des ressources disponibles, mais lire pour lire n’est pas aussi instructif que si l’on pratique avec un petit projet marrant à côté.

Modification du 18/02/2016 : j’ai découvert il y a peu le site HackerRank, un autre site d’entraînement à la programmation. Là, les exercices sont classés par domaines et il y en a un … consacré exclusivement à la programmation fonctionnelle !

Le reste

Eh oui, il y a d’autres langages qui me trottent dans la tête. Ceux découverts au gré d’une page internet et qui ont attirés mon attention, ceux entendus quelque part, ceux qu’on conseille souvent comme les langages à connaître, etc. Tous les travailler cette année est présomptueux ; je ne sais même pas si je progresserai sur un seul d’entre eux. Ce n’est pas grave. Cela me sert pour noter mes idées et ne plus avoir à y penser.

J’essaye de mixer les domaines et les langages, varier les paradigmes pour m’ouvrir au maximum à d’autres façons de raisonner et de faire. L’année 2016 est déjà entamée depuis un mois, alors autant faire que les 11 mois restants soient prolifiques et que j’avance dans ces objectifs !