D'autres ont couvert beaucoup, mais je veux me concentrer sur cette partie:
Je me sens coupable de ne pas avoir de projet de loisir, mais tout ce que je peux penser de faire a déjà été fait. Je suis donc un peu dans l’esprit à ce sujet: commencer quelque chose qui a déjà été fait ou le laisser jusqu’à ce que je trouve quelque chose d’original?
Il me semble que cela manque l’intérêt d’un "projet de loisir". Il est certainement vrai que de nombreux projets de loisirs sont créés pour d’autres, ou au moins avec l’intention du public - ces projets nécessitent une certaine quantité de travail cohérent au fil du temps, et peuvent être intimidants pour cette raison. Après tout, qui veut créer encore un produit ou un produit de qualité médiocre qui sera finalement abandonné au bout de quelques mois?
Mais , il n'y a aucune raison pour que votre projet de loisir doive faire quelque chose d'utile pour quiconque. Par exemple, j'ai récemment commencé à apprendre le haskell , uniquement parce qu'il est radicalement différent des langages impératifs auxquels je suis habitué et qu'il est très facile de s'y préparer. Je viens aussi de commencer à apprendre le langage assembleur Redcode , utilisé dans le jeu de programmation Core War , encore une fois par curiosité.
Cela m’a amené à envisager de créer un plug-in Notepad ++ afin de fournir de meilleures fonctionnalités de mise en évidence de la syntaxe pour Redcode, ce qui m’a amené à envisager un peu de C ++ . S'appuyant sur ma connaissance comparative de .NET, je réfléchis maintenant à la possibilité de configurer Visual C ++ .
Et le truc, c'est que rien de tout ça "ne compte vraiment", du moins pas en tant que projet. L' enfer, je ne suis pas sûr que vous pouvez même appeler un projet en soi , tant comme un tas de choses que je suis un peu jouer avec parce qu'il a attiré mon attention. Je veux dire, vous aurez besoin d’un peu de temps et d’organisation pour vous assurer d’ obtenir quelque chose, mais personne ne s’en souciera si je cesse d’avoir le temps pour Haskell une fois que l’école commence.
Et personne ne s'en souciera s'il s'avère que le développement de plug-in pour Notepad ++ est plus difficile que prévu, et j'abandonne. En effet, j'ai examiné Perl avant de plonger dans Redcode, et je l'ai abandonné assez rapidement car j'avais de la difficulté à obtenir le environnement mis en place correctement. Cela a-t-il montré un manque de persistance? Ouais. Mais tout le monde s'en fiche, car c'est mon passe-temps , et cela signifie que je peux jouer avec ce que je veux.
Ne croyez donc pas que vous ayez besoin de choisir un projet de loisir qui vous apprendra des compétences négociables - cela ne fera que transformer votre temps libre en un temps de travail non rémunéré. Les compétences résultent de ce que vous faites, mais ce n’est pas la raison . Je comprends mieux la programmation déclarative maintenant, le fonctionnement des langages d'assemblage et l'utilisation des DLL. Et j’ai appris beaucoup de choses sur l’invite de commande Windows et sur d’autres choses que vous n'auriez pas pensé qui étaient liées à tout ce que j’ai mentionné jusqu’à présent.
Le but étant de trouver quelque chose de complètement nouveau et de voir si c'est aussi intéressant qu'il y paraît. Si c'est le cas, tant mieux, et si ce n'est pas le cas, continuez. Avez-vous déjà eu la moindre curiosité pour les compilateurs ou les interprètes? Allez jeter un coup d'oeil à LOLCODE . Si cela vous rend aussi heureux que cela me rend, alors il est temps de commencer à en apprendre davantage sur les compilateurs . Et hé, peut-être devriez-vous revenir en arrière et repenser à la coloration syntaxique. En fait, ce sera probablement le prochain projet que je commence.
Si ce n'est pas votre cas, essayez quelque chose d'un niveau inférieur à celui auquel vous êtes habitué. Ou niveau supérieur. Ça n'a pas d'importance. La seule chose qui fait est que lorsque la matière que vous regardez, vous pensez « Fun! »