Answers:
我可以根据个人经验回答这一问题。几年前,我在一次事故中摔断了双臂。由于我的工作是全职编程,所以这是一个问题。在一些帮助下,我在笔记本电脑上安装了Dragon。
那是浪费时间。
代码与自然语言不太相似。它主要是书面的,而不是口头的。我确切地知道什么y_z = (x < 0 ? -x : x) + 2;
意思,但是我不知道该如何发音,也不在乎。
作为一种仅写的语言,代码在字符级别上非常精确。(x+2)*3
和之间有很大的区别(x+2*3)
。语音转文本程序擅长于注意单词而不是字符。添加特定字符需要说很多话,例如“左括号,x,加号,两个,右括号”。
当我编码时,我做了很多移动和重写。语音转文本适用于单一语言流。到处来回走都是不好的。
编码中的许多微小任务并不等同于打字,这一切都是语音到文本的优点。考虑一下您多久更改一次选项卡以查看其他代码模块,或者多久折叠一次或在编辑器中展开一个函数。
因此,如果您有语音转文字程序,请尝试一下并亲自看看。我认为您不会留下深刻的印象。
顺便说一句,不要一次断臂。一次打破一个,这样更容易。
如果我只有一只断胳膊,那我将单手完成所有编码。它仍然比使用语音转文本软件更快。
对于正在工作的专业程序员(时间是金钱),腕管严重受伤或手部受伤(等等),雇用初级/实习生“成对程序员”并让他们进行“语音识别”可能会更有效。打字。
这是一个来自Python Convention的视频的链接,其中Tavis Rudd解释了他如何使用其Python插件结构自定义Dragon Naturally Speaking,以创建适合在Emacs,vim和终端中进行编程和编辑的词汇。令人鼓舞的是在编程和开发领域中语音识别的可能性。
两年前,我开发了一箱Emacs Pinkie(RSI),以至于我的手变得麻木,无法继续打字或工作。绝望,我尝试了语音识别。刚开始时,它的编程速度很慢,但由于无法输入,我坚持不懈。用Python和Emacs Lisp进行了几个月的vocab调整和管带编码之后,我有了一个系统,该系统使我能够比以往任何时候都更快,更有效地通过语音进行编码。
在一个快节奏的实时演示中,我将使用Python创建一个小型系统,以及其他几种很好的语言,并在不触摸键盘的情况下进行部署。演示神将按计划出现。我希望说服您,语音识别不再是残障人士的束手无策或仅限于简单的散文。现在,它已成为使所有程序员受益的高效工具。
您确实可以使用Dragon NaturallySpeaking进行语音解决方案编程,但是Dragon NaturallySpeaking只是整个解决方案的一小部分。
为了将语音成功编程,您不仅需要简单地将语音转换为单词,还需要很多技术。必须解决的一些问题示例:
您如何输入像ostreambuf_iterator这样的不可发音的单词?您如何处理编程语言中沉重的标点符号?您将如何在Windows之间切换?
通常,通过语音解决方案来构建和学习编程需要几个月的时间。像乔这样的人希望在一两天内能完成某些工作,他们会感到非常失望。
给定合理的命令集,来回移动效果很好。例如,您可以使用其显示的行号mod 100轻松指定目标行。通过单词或标点符号移动与编程语言一起在行内移动非常有效。
您可以在位于http://vocola.net/programming-by-voice-FAQ.html的语音常见问题解答中找到有关这些问题的更多信息。