Ich habe Dragon Naturally Speaking vor einigen Jahren sehr kurz verwendet und dachte, ob es eine praktikable Lösung für die Programmierung wäre?
Ich habe mehr darüber nachgedacht, ob Sie sich den Arm brechen oder etwas, das die Programmierung erheblich behindert.
Dieselbe Frage zu SO wurde aber nie beantwortet.
productivity
Jim
quelle
quelle
Antworten:
Ich kann diese Frage aus persönlicher Erfahrung beantworten. Vor einigen Jahren habe ich mir bei einem Unfall beide Arme gebrochen . Da mein Job Vollzeitprogrammierung war, war dies ein Problem. Mit etwas Hilfe habe ich Dragon auf meinem Laptop installiert.
Es war Zeitverschwendung.
Code ist nicht viel wie natürliche Sprache; es wird hauptsächlich geschrieben, nicht gesprochen. Ich weiß genau, was es
y_z = (x < 0 ? -x : x) + 2;
bedeutet, aber ich habe keine Ahnung, wie ich es aussprechen würde, und es interessiert mich auch nicht.Als reine Schreibsprache ist Code auf Zeichenebene sehr präzise. Es gibt einen großen Unterschied zwischen
(x+2)*3
und(x+2*3)
. Sprach-zu-Text-Programme können gut auf Wörter und nicht auf Zeichen achten. Das Hinzufügen bestimmter Zeichen erfordert viele Aussagen wie "linke Klammer, x, Pluszeichen, zwei, rechte Klammer".Wenn ich programmiere, bewege ich mich viel und schreibe neu. Speech-to-Text ist gut für einen einzelnen Sprachstrom. Es ist nicht gut, überall hin und her zu gehen.
Viele der winzigen Aufgaben beim Codieren sind nicht gleichbedeutend mit dem Tippen, wofür nur Sprache-zu-Text gut ist. Überlegen Sie, wie oft Sie die Registerkarten ändern, um ein anderes Codemodul anzuzeigen, oder wie oft Sie eine Funktion in Ihrem Editor falten und entfalten.
Wenn Sie also ein Sprachprogramm haben, probieren Sie es aus und überzeugen Sie sich selbst. Ich glaube nicht, dass Sie zu beeindruckt sein werden.
Brechen Sie übrigens nicht beide Arme gleichzeitig. Brechen Sie einen nach dem anderen, es ist viel einfacher auf diese Weise.
Wenn ich nur einen gebrochenen Arm gehabt hätte, hätte ich meine gesamte Codierung nur mit einer Hand durchgeführt. Es wäre immer noch schneller als die Verwendung von Sprach-Text-Software.
quelle
Für einen arbeitenden professionellen Programmierer (wo Zeit Geld ist) mit schweren Karpaltunneln oder Handverletzungen (usw.) kann es weitaus effizienter sein, einen Junior / Praktikanten "Paar Programmierer" einzustellen und ihn die "Spracherkennung" und durchführen zu lassen Tippen.
quelle
Hier ist ein Link zu einem Video von einer Python-Konvention, in dem Tavis Rudd erklärt, wie er Dragon Naturally Speaking mithilfe seiner Python-Plugin-Struktur angepasst hat, um ein Vokabular zu erstellen, das für die Programmierung und Bearbeitung in Emacs, vim und dem Terminal geeignet ist. Ein inspirierender Einblick in die Möglichkeiten der Spracherkennung im Bereich Programmierung und Entwicklung.
Verwenden von Python zum Codieren per Sprache
quelle
Sie können zwar mit Dragon NaturallySpeaking eine Programmierung per Sprachlösung erstellen, aber Dragon NaturallySpeaking wird nur ein kleiner Teil der Gesamtlösung sein.
Sie benötigen eine Menge Technologie, die über das einfache Umwandeln von Sprache in Wörter hinausgeht, um erfolgreich per Sprache zu programmieren. Einige Beispiele für die Probleme, die angegangen werden müssen:
Wie gibt man unaussprechliche Wörter wie ostreambuf_iterator ein? Wie gehen Sie mit der starken Interpunktion in Programmiersprachen um? Wie werden Sie zwischen Fenstern wechseln?
Im Allgemeinen dauert es mehrere Monate, um eine Programmierung per Sprachlösung zu erstellen und zu erlernen. Leute wie Joe, die erwarten, dass in ein oder zwei Tagen etwas funktioniert, werden zutiefst enttäuscht sein.
Das Hin- und Herbewegen funktioniert gut mit der Stimme, wenn ein angemessener Befehlssatz gegeben ist. Zum Beispiel können Sie die Zielzeile einfach mit der angezeigten Zeilennummer mod 100 angeben. Das Verschieben nach Wörtern oder Satzzeichen funktioniert gut mit Programmiersprachen zum Verschieben innerhalb einer Zeile.
Weitere Informationen zu diesen Problemen finden Sie in den häufig gestellten Fragen zur Programmierung per Sprache unter http://vocola.net/programming-by-voice-FAQ.html
quelle
Basierend auf Joes Antwort, wo das Problem ist, dass man nicht hin und her gehen kann:
Sie können Eye Tracking zusätzlich verwenden, um dieses Problem zu lösen.
Programmiersprachen können lesbar sein. Smalltalk ist gut lesbar.
Stellen Sie sich eine Programmiersprache vor, die für das Sprechen optimiert ist. Es kann getan werden.
In diesen Begriffen: Eine gesprochene Texteingabe kann es nicht sein. Eine sprachgesteuerte Umgebung mit programmierbaren Merkmalen wäre jedoch noch einen Schritt weiter.
quelle