mltype – Pratique de frappe pour les programmeurs
mltype est un outil de ligne de commande pour améliorer les compétences de frappe. Il le fait avec un tout petit peu d’apprentissage en profondeur.
Si vous avez cliqué sur ce post en espérant que vous appreniez quelque chose sur la frappe statique, les annotations de type ou similaire, ce n’est PAS le bon article. La frappe dont je parle dans cet article est la chose que vous faites avec votre clavier. Ou pour être précis
L’action ou l’habileté d’écrire quelque chose au moyen d’une machine à écrire ou d’un ordinateur.
Il y a quelques mois, j’ai décidé d’apprendre la frappe tactile! Je sais ce que vous pensez… « Êtes-vous une dactylo plus rapide qu’avant et toute la douleur en valait-elle la peine? »Je dirais certainement oui et oui. Cependant, Internet regorge de témoignages similaires avant et après et je ne vais pas en écrire un autre.
Ce dont je veux parler, c’est que j’ai été vraiment surpris du peu de ressources disponibles pour pratiquer la frappe tactile avec les langages de programmation. Après une recherche rapide sur Google, vous découvrirez probablement les sites suivants:
Alors que les sites Web ci-dessus ont de multiples points forts, permettez-moi de souligner certaines de leurs lacunes
- Manque de variabilité et d’élément de surprise
- Sélection manuelle des fichiers source et des lignes correspondantes
- Non personnalisable
- Non gratuit (Non personnalisable)
- Pas assez ringard — ne serait-il pas possible de le faire dans le terminal?
Pour les raisons mentionnées ci-dessus, j’ai décidé de tenter ma chance et d’écrire mon propre logiciel de pratique de la dactylographie: mltype.
Qu’est-ce que ça fait?
En bref, c’est un outil en ligne de commande (écrit en Python). Il utilise des réseaux de neurones pour générer du texte qui ressemble à un langage de programmation (ou langage normal). En outre, il fournit des fonctionnalités d’apprentissage non automatique telles que la lecture de texte à partir d’un fichier ou d’une entrée standard.
Si vous vous demandez quel genre de « réseau de neurones » se cache derrière, je vous encouragerais plus que de (re)lire L’Efficacité déraisonnable des Réseaux de neurones récurrents d’Andrej Karpathy. mltype fait plus ou moins la même chose en arrière-plan. Pour être précis, il existe un modèle de langage au niveau des caractères. Il recrache une distribution de probabilité sur le caractère suivant étant donné les caractères précédents. Plus important encore, il essaie de cacher à l’utilisateur toute la complexité et les détails ennuyeux de la formation et de l’inférence. La génération de texte à partir d’un modèle existant et la formation d’un nouveau modèle peuvent être effectuées en une seule commande.
Exemples
Voici quelques exemples de différents langages de programmation. Tous les modèles qui les ont générés et de nombreux autres modèles pré-entraînés sont disponibles en téléchargement (voir le README.md sur github).
Tu veux l’essayer?
Si vous voulez en savoir plus et l’essayer vous-même, visitez les liens ci-dessous!
github: https://github.com/jankrepl/mltype
documents: https://mltype.readthedocs.io/en/latest/