J'essaie donc d'enseigner un peu à mon cousin beaucoup plus jeune la programmation. Ma pensée initiale était quelque chose comme Scratch ou Alice , mais il y avait quelques inconvénients à cela.
Tout le monde semble être vraiment dans la programmation de jeux et le développement de jeux vidéo (parce que tout le monde aime jouer à des jeux vidéo, et en ce qui concerne les jeux vidéo, jouer le vôtre peut être le plus gratifiant) - mais ni Alice ni Scratch ne semblent répondre au jeu développement
Alice et Scratch semblent trop puériles, alors que je suis sûr que mon cousin aimerait y barboter, je pense qu'il s'en était vite ennuyé
Je veux un langage qui puisse être utilisé pour développer des trucs vraiment cool qui impressionneront ses amis. Je me souviens avoir écrit BASIC dans la journée et avoir invité tous mes amis et montrer ma création, et j'ai l'impression qu'Alice et Scratch ne font pas appel de la même manière
Je veux une langue qui oblige mon cousin à écrire du code. Maintenant, ce n'est pas seulement parce que je pense que taper du code est une bonne préparation pour d'autres langages de programmation, mais c'est parce que cela lui donne l'occasion de s'exercer à taper et peut-être de s'habituer à certains des caractères légèrement plus ésotériques du clavier.
Maintenant, c'est pourquoi je ne veux pas choisir Alice ou Scratch.
Je ne veux pas non plus choisir un langage comme C ou Java, ni même Python ou Ruby d'ailleurs. Mon cousin m'a déjà dit qu'il aime jouer aux jeux vidéo et qu'il veut créer le sien, et qu'il aime utiliser les ordinateurs. À mon avis, même un langage simple comme Python ou Ruby prend tout simplement trop de temps pour créer des trucs sympas. Idéalement, il s'asseyait, passait environ un jour ou deux (ou peut-être même jusqu'à une semaine, mais j'espère moins que cela) et avait un jeu fonctionnel en 2 dimensions. Je ne dis pas que vous ne pouvez pas le faire en Python ou Ruby, mais je dis simplement que ce serait difficile pour un premier programmeur. De plus, je ne veux pas l'enliser avec toutes les choses de l'informatique, car cela peut venir plus tard. Je veux juste l'aider à créer l'étincelle, puis le laisser continuer avec le reste du feu.
J'ai regardé des langages comme Lua, et même si cela semble courant dans la programmation de jeux, je ne sais pas si c'est le meilleur choix - mais si vous pensez le contraire, faites-le moi savoir.
J'ai aussi regardé une langue comme Blitz et ça a l'air vraiment prometteur (en plus, je l'ai essayé il y a quelques années, et c'était vraiment très sympa). L'inconvénient est que je dois payer, ce à quoi je suis définitivement opposé.
J'ai regardé SmallBasic , qui semble prometteur et je vais continuer à regarder. Mais je n'ai pas fait grand-chose (en fait, j'exécute le programme d'installation pendant que je tape ceci, donc je ferai part de mes réflexions à ce sujet rapidement).
MISE À JOUR: J'ai donné à SmallBasic un essai rapide et cela semble intriguant, mais il semble également assez différent par rapport à d'autres langues - ce n'est pas une mauvaise chose, mais c'est juste une inhabituelle. Parmi les choses que j'ai regardées, Blitz est toujours mon préféré, mais je refuse d'y aller à cause du coût.
Mais au fond, que pensez-vous de ce que j'ai dit jusqu'à présent et des langues que j'ai examinées et connaissez-vous d'autres bonnes alternatives?
MISE À JOUR: Voici ce que j'ai choisi de faire ...
J'ai réalisé que même si j'aimerais aider mon cousin, je ne peux pas être avec lui tout le temps et je ne peux pas l'aider chaque fois qu'il a besoin d'aide. Donc, je voulais choisir quelque chose qui a une bonne documentation, une bonne communauté et un bon livre qu'il peut suivre.
Quoi qu'il en soit, j'ai choisi Python et Pygame. Python est un langage que je connais assez bien, et je sais qu'il existe une assez bonne (et assez grande) communauté autour de Python. De plus, je sais que la documentation Python est assez complète et facile à parcourir. Pygame a également une excellente documentation et un ensemble de tutoriels. Je lui demande également d'utiliser / suivre Invent Your Own Computer Games with Python , ce qui semble être un très bon livre, je lui ai acheté une copie papier comme cadeau de Noël, et je sais que son moniteur n'est pas énorme, et ce serait être gênant de permuter constamment entre le texte et l'éditeur.
Je pense que ça devrait bien se passer!
EDIT: Je ne veux pas impliquer que mon choix est définitif ou qu'il est correct. Je pense simplement que c'est la meilleure solution pour cette situation. Je pense que chaque personne qui cherche à enseigner à un plus jeune devrait parcourir la sélection et trouver la meilleure solution pour la personne individuelle, en tenant compte de choses comme l'âge, le niveau de compétence et l'intérêt.
I want a language that can be used to develop really cool stuff that will impress his friends.
C'est toujours ma principale motivation pour la programmation, après 25 ans ...