Несколько лет назад я использовал Dragon Naturally Speaking очень коротко и думал, будет ли это жизнеспособным решением для программирования?
Я думал больше, если вы сломаете руку или что-то, что станет серьезным препятствием для программирования.
Этот же вопрос на SO, но так и не получил ответа.
productivity
Джим
источник
источник
Ответы:
Я могу ответить на этот вопрос из личного опыта. Несколько лет назад я сломал обе руки в результате несчастного случая. Поскольку моя работа была программированием на полную ставку, это было проблемой. С некоторой помощью я установил Dragon на свой ноутбук.
Это была пустая трата времени.
Код не очень похож на естественный язык; это в первую очередь написано, а не говорится Я точно знаю, что
y_z = (x < 0 ? -x : x) + 2;
значит, но я не знаю, как я это произношу, и мне все равно.Будучи только письменным языком, код очень точен на уровне символов. Есть большая разница между
(x+2)*3
и(x+2*3)
. Программы преобразования речи в текст хорошо умеют обращать внимание на слова, а не на символы. Добавление определенных символов требует много таких вещей, как «левая скобка, х, знак плюс, два, правая скобка».Когда я пишу код, я много двигаюсь и переписываю. Речь к тексту хороша для единственного потока языка. Это не хорошо для того, чтобы идти туда-сюда повсюду.
Многие мелкие задачи в кодировании не эквивалентны вводу, что хорошо для речи. Подумайте, как часто вы меняете вкладки, чтобы посмотреть на какой-то другой модуль кода, или как часто вы складываете и разворачиваете функцию в своем редакторе.
Так что если у вас есть программа преобразования текста в текст, попробуйте и убедитесь сами. Я не думаю, что вы будете слишком впечатлены.
Кстати, не ломайте обе руки одновременно. Разбивайте по одному, так намного проще.
Если бы у меня была только одна сломанная рука, я бы сделал все свое кодирование одной рукой. Это все равно будет быстрее, чем использование программного обеспечения для преобразования текста в текст.
источник
Для работающего профессионального программиста (где время - деньги) с серьезными травмами запястного канала или травмами рук (и т. Д.) Может быть гораздо эффективнее нанять младшего / интернового «парного программиста», и позволить им выполнять «распознавание голоса» типирование.
источник
Вот ссылка на видео из конвенции Python, где Тавис Радд объясняет, как он настроил Dragon Naturally Speaking, используя их структуру плагинов Python для создания словаря, подходящего для программирования и редактирования в Emacs, vim и терминале. Вдохновляющий взгляд на возможности распознавания голоса в области программирования и развития.
Использование Python для кодирования голосом
источник
Вы действительно можете создать программирование с помощью голосового решения, используя Dragon NaturallySpeaking, но Dragon NaturallySpeaking станет лишь небольшим фрагментом общего решения.
Вам нужно много технологий помимо простого превращения голоса в слова, чтобы успешно программировать голосом. Некоторые примеры проблем, которые необходимо решить:
Как вы вводите непроизносимые слова, такие как ostreambuf_iterator? Как вы справляетесь с высокими уровнями пунктуации в языках программирования? Как вы будете переключаться между окнами?
Как правило, создание и обучение программированию с помощью голосового решения занимает несколько месяцев. Такие люди, как Джо, которые рассчитывают получить что-то за один-два дня, будут сильно разочарованы.
Перемещение вперед и назад прекрасно работает с голосом при наличии разумного набора команд. Например, вы можете легко указать целевую строку, используя ее отображаемый номер строки mod 100. Перемещение по словам или знакам препинания хорошо работает с языками программирования для перемещения внутри строки.
Вы можете найти гораздо больше информации об этих проблемах в программировании с помощью голосового FAQ, расположенного по адресу http://vocola.net/programming-by-voice-FAQ.html.
источник
Основываясь на ответе Джо, где проблема в том, что вы не можете идти вперед и назад:
Вы можете использовать отслеживание глаз дополнительно, чтобы решить эту проблему.
Языки программирования могут быть читаемыми. Smalltalk вполне читабелен.
Представьте себе язык программирования, который оптимизирован для говорения. Это может быть сделано.
В этих терминах: устный ввод текста может быть не так. Но контролируемая речью среда с программируемыми чертами была бы шагом вперед.
источник