L'un des MVP d'Embarcadero, Ryan Potts, est l'initiateur et le mainteneur de la piste Delphi sur Exercism - un site dédié à faciliter l'apprentissage des différents langages de programmation. Il était interviewé par l'équipe d'Exercisme auparavant, mais j'ai pensé qu'il serait intéressant de l'interroger sur ce qu'est l'exercisme et comment vous pouvez tous être impliqués.

  • Qu'est-ce que l'exercisme? Depuis combien de temps existe-t-il et combien d'étudiants le visitent-ils?
    • Une organisation à but non lucratif offrant des opportunités grâce à l'éducation programmatique
    • La piste Delphi avait 3 nouvelles solutions soumises, 1 pour le mentorat.
    • Voir leur page à propos pour plus
    • Il a été fondé à l'origine en 2013 par Katrina Owen.
    • Chaque semaine, je reçois une mise à jour sur le mentorat. La mise à jour la plus récente indique qu'au cours de la dernière semaine de 2019, 2152 personnes ont soumis 8107 solutions sur toutes les pistes linguistiques. Sur ces 2 339 personnes ont été soumises au mentorat. 174 mentors ont donné leur avis sur 1 963 solutions.
  • Quel genre de langages de programmation trouve-t-on sur Exercism?
    • Il y en a 51, dont notre préféré, Delphi!
  • Quel genre d'exercices quelqu'un pourrait-il trouver sur l'exercice?
  • L'un des exercices implique-t-il la création d'interfaces utilisateur graphiques ou l'accès à des bases de données? Qu'en est-il de l'accès aux API REST? Ce sont des choses que Delphi rend tellement plus faciles. Ou sont-ce toutes des applications console?
    • Pour le moment, tous les exercices sont uniquement sur console. J'ai envisagé de créer des exercices spécifiques à Delphi pour utiliser la capacité de Delphi à créer assez facilement des interfaces graphiques, mais je n'ai pas eu le temps moi-même. Ce serait une excellente façon d'aider d'autres développeurs Delphi expérimentés. 
  • Un étudiant a-t-il besoin d'une expérience pour commencer?
    • Non, mais la connaissance de la ligne de commande est essentielle.
  • Cela coûte-t-il quelque chose?
  • De quel type d'outils un étudiant a-t-il besoin pour commencer? 
    • Chaque piste de langue a mis en place des instructions pour vous faire savoir ce dont vous avez besoin et où le trouver. Par exemple, avec Delphi, vous devez installer Delphi. Il existe également un outil de ligne de commande que toutes les pistes utilisent.
  • Si un étudiant est complètement nouveau dans Delphi, que doit-il faire pour commencer.
    • Une fois que quelqu'un s'est inscrit à la piste Delphi, il trouvera instructions sur la configuration de leur système. (Ils sont un peu datés, quelques versions de Delphi ont été publiées depuis que je les ai écrites.)
    • D'autres liens sont également disponibles à partir du même emplacement pour plus de ressources liées à Delphi.
  • Est-il vrai que le programme d'installation de la CLI d'Exercism Windows est écrit en Delphi?
    • Programme d'installation de l'interface CLI Windows d'Exercism est open source et entièrement écrit en Delphi. Il détermine automatiquement la version correcte (32/64 bits) de la CLI Exercism dont l'étudiant a besoin puis télécharge la CLI, l'extrait et la place au bon endroit. Le programme d'installation a été téléchargé 15 000 fois, ce dont je suis assez fier! 
  • L'exercice est-il réservé aux nouveaux développeurs ou y a-t-il des choses que les développeurs expérimentés pourraient également apprendre là-bas?
    • Ce n'est pas seulement pour les nouveaux développeurs, mais est probablement orienté vers quelqu'un avec seulement un peu d'expérience, la connaissance de la façon de faire fonctionner une interface de terminal (invite de commande) est essentielle. 
  • En quoi l'exercice est-il similaire à un code kata? 
    • C'est essentiellement un référentiel de code katas; avec l'avantage supplémentaire d'avoir quelqu'un qui connaît la langue dans laquelle vous travaillez pour réviser et critiquer votre travail.
    • Le terme code kata est un concept utilisé pour la première fois par Dave Thomas, co-auteur du livre The Pragmatic Programmer, comme un clin d'œil au concept japonais de kata dans les arts martiaux. Un code kata est un exercice de programmation qui aide les programmeurs à perfectionner leurs compétences par la pratique et la répétition.
  • Au-delà d'être un étudiant en exercice, comment les gens peuvent-ils être impliqués autrement?
    • Pour avoir une idée de ce qui doit être contenu dans le PR, c'est une bonne idée de consulter l'un des autres exercices dans le dossier / Exercices du repo / exercism / delphi. Le responsable (moi) l'examinera, proposera des suggestions de changements et finalement je pourrai fusionner le PR.
    • Les nouvelles idées d'exercices ou contributions sont toujours appréciées.
    • Travailler avec le (s) responsable (s) des pistes que vous fréquentez est également apprécié.
    • Voir le guide du contributeur
    • Créez simplement une pull request (PR) sur le Parcours d'exercices Delphi contribuer à des exercices supplémentaires. 
    • Pour un premier contributeur, il peut être judicieux de trouver un exercice dans / exercism / problem-specifications qui n'est PAS encore implémenté et d'écrire une suite de tests pour celui-ci. Cela peut être fait à l'aveugle, en écrivant simplement du code basé sur le JSON fourni, ou en traduisant l'implémentation de cet exercice qui pourrait exister dans une autre piste.
  • Comment quelqu'un devient-il mentor?
    • Il n'est pas nécessaire d'être étudiant pour être un mentor, mais à moins d'avoir beaucoup contribué au projet, être étudiant est la meilleure façon de commencer à comprendre comment les choses fonctionnent.
    • J'ai fait quelques exercices Ruby et j'ai décidé que ce serait vraiment cool si Delphi était proposé ici. J'étais franchement frustré par le nombre de sites de codage en ligne et aucun que je n'ai pu trouver proposé à Pascal. En recherchant un peu plus sur l'Exercisme, j'ai appris qu'ils se réjouissaient de l'ajout de nouvelles pistes linguistiques si vous êtes prêt à prendre le temps de le configurer et de le maintenir.
    • Vous devez d'abord vous inscrire en tant qu'étudiant et soumettre au moins une solution.
    • Devenez un mentor
  • La piste Delphi Exercism recherche-t-elle plus de mainteneurs?
    • Certainement. Je le fais seul depuis 10/2016. Ce n'est pas difficile mais il y a des choses intéressantes qui se passent dans d'autres pistes que je n'ai pas eu le temps / l'énergie de poursuivre seul.
      •  Création d'un générateur de test - Convertit les définitions d'exercices (en JSON) en langage natif (Delphi par exemple). J'ai écrit les coureurs de test à la main. Un générateur de test peut être écrit dans n'importe quel langage, mais traditionnellement, les responsables des pistes écrivent leurs générateurs dans leur langue.
      • Certaines pistes ont commencé à mettre en œuvre l'auto-mentorat. Certains premiers exercices d'une piste sont très simples et le nombre de façons de mettre en œuvre une solution est limité et cela finit par prendre beaucoup de temps au mentor pour revoir ces mêmes exercices à plusieurs reprises. L'auto-mentor est programmé pour rechercher des modèles familiers et faire des recommandations prédéfinies. En fin de compte, passer à un mentor humain si une bonne réponse attendue ne peut être fournie.

Je me suis inscrit en tant que mentor et j'ai soumis ma première demande de tirage sur les exercices Delphi! Ça a l'air très amusant. Si vous connaissez quelqu'un qui aimerait apprendre à programmer, c'est une excellente ressource. Ou peut-être aimeriez-vous devenir mentor ou mainteneur aussi! 

Au fait, Ryan est l'un des champions ici sur LearnDelphi.org!

proche