J'ai utilisé Dragon Naturally Speaking très brièvement il y a quelques années et je me demandais si ce serait une solution viable pour la programmation?
Je pensais plus si vous vous cassiez le bras ou quelque chose qui serait un obstacle majeur à la programmation.
Cette même question sur SO mais n'a jamais reçu de réponse.
Réponses:
Je peux répondre à celle-ci par expérience personnelle. Il y a quelques années, je me suis cassé les deux bras dans un accident. Étant donné que mon travail consistait en programmation à temps plein, c'était un problème. Avec de l'aide, j'ai installé Dragon sur mon ordinateur portable.
C'était une perte de temps.
Le code ne ressemble pas beaucoup au langage naturel; il est principalement écrit et non parlé. Je sais exactement ce que
y_z = (x < 0 ? -x : x) + 2;
signifie, mais je ne sais pas comment je le prononcerais, et je m'en fiche.Étant un langage écrit uniquement, le code est très précis au niveau des caractères. Il y a une grande différence entre
(x+2)*3
et(x+2*3)
. Les programmes de synthèse vocale sont bons pour prêter attention aux mots, pas aux caractères. L'ajout de caractères spécifiques nécessite beaucoup de choses comme "parenthèse gauche, x, signe plus, deux, parenthèse droite".Quand je code, je fais beaucoup de déplacement et de réécriture. La synthèse vocale est bonne pour un seul flux de langue. Ce n'est pas bon pour aller et venir partout.
De nombreuses tâches minutieuses de codage ne sont pas équivalentes à la frappe, ce qui est tout ce que la synthèse vocale est bon pour. Pensez à la fréquence à laquelle vous changez d'onglet pour consulter un autre module de code, ou à quelle fréquence vous pliez et dépliez une fonction dans votre éditeur.
Donc, si vous avez un programme de synthèse vocale, essayez-le et voyez par vous-même. Je ne pense pas que vous serez trop impressionné.
Soit dit en passant, ne cassez pas les deux bras à la fois. Cassez un à la fois, c'est beaucoup plus facile de cette façon.
Si je n'avais eu qu'un seul bras cassé, j'aurais juste fait tout mon codage d'une seule main. Ce serait toujours plus rapide que d'utiliser un logiciel de synthèse vocale.
la source
Pour un programmeur professionnel qui travaille (où le temps c'est de l'argent) avec de graves lésions du canal carpien ou des mains (etc.), il peut être beaucoup plus efficace d'embaucher un "programmeur de paires" junior / stagiaire, et de les laisser faire la "reconnaissance vocale" et dactylographie.
la source
Voici un lien vers une vidéo d'une convention Python où Tavis Rudd explique comment il a personnalisé Dragon Naturally Speaking en utilisant leur structure de plugin Python pour créer un vocabulaire adapté à la programmation et à l'édition dans Emacs, vim et le terminal. Un aperçu inspirant des possibilités de reconnaissance vocale dans le domaine de la programmation et du développement.
Utiliser Python pour coder par la voix
la source
Vous pouvez en effet créer une solution de programmation par la voix en utilisant Dragon NaturallySpeaking, mais Dragon NaturallySpeaking ne sera qu'un petit morceau de la solution globale.
Vous avez besoin de beaucoup de technologie au-delà de la simple transformation de la voix en mots pour pouvoir programmer avec succès. Quelques exemples des problèmes à résoudre:
Comment saisissez-vous des mots imprononçables comme ostreambuf_iterator? Comment gérez-vous les niveaux élevés de ponctuation dans les langages de programmation? Comment allez-vous basculer entre les fenêtres?
Généralement, il faut plusieurs mois pour construire et apprendre une solution de programmation par la voix. Des gens comme Joe qui s'attendent à ce que quelque chose fonctionne en un jour ou deux vont être très déçus.
Les allers-retours fonctionnent bien avec la voix, étant donné un ensemble raisonnable de commandes. Par exemple, vous pouvez facilement spécifier la ligne cible en utilisant son numéro de ligne affiché mod 100. Le déplacement par des mots ou des caractères de ponctuation fonctionne bien avec les langages de programmation pour se déplacer à l'intérieur d'une ligne.
Vous pouvez trouver beaucoup plus d'informations sur ces problèmes dans la FAQ de programmation vocale située sur http://vocola.net/programming-by-voice-FAQ.html
la source
Basé sur la réponse de Joe où le problème est que vous ne pouvez pas aller et venir:
Vous pouvez également utiliser l'eye tracking pour résoudre ce problème.
Les langages de programmation peuvent être lisibles. Smalltalk est assez lisible.
Imaginez un langage de programmation optimisé pour parler. Ça peut être fait.
En ces termes: Une entrée de texte parlé peut ne pas l'être. Mais un environnement contrôlé par la parole avec des traits programmables serait un pas de plus.
la source