Eu usei o Dragon Naturally Speaking muito brevemente alguns anos atrás e estava pensando se seria uma solução viável para programação?
Eu estava pensando mais se você quebrar o braço ou algo que seria um grande obstáculo à programação.
Esta mesma pergunta no SO, mas nunca foi respondida.
productivity
Jim
fonte
fonte
Respostas:
Eu posso responder a este por experiência pessoal. Alguns anos atrás, quebrei os dois braços em um acidente. Como meu trabalho era programação em tempo integral, isso era um problema. Com alguma ajuda, instalei o Dragon no meu laptop.
Isto foi uma perda de tempo.
Código não é muito parecido com linguagem natural; é principalmente escrito, não falado. Eu sei exatamente o que
y_z = (x < 0 ? -x : x) + 2;
significa, mas não tenho idéia de como o pronunciaria, nem me importo.Sendo uma linguagem somente escrita, o código é muito preciso no nível do caractere. Há uma grande diferença entre
(x+2)*3
e(x+2*3)
. Os programas de fala em texto são bons em prestar atenção às palavras, não aos caracteres. A adição de caracteres específicos requer muitas palavras como "parênteses esquerdo, x, sinal de adição, dois, parênteses direito".Quando estou codificando, mudo muito e reescrito. A fala para texto é boa para um único fluxo de idioma. Não é bom para ir e voltar em todo o lugar.
Muitas das tarefas minuciosas da codificação não são equivalentes à digitação, o que é bom para a fala em texto. Pense na frequência com que você muda de guia para examinar outro módulo de código ou com que frequência desdobra e desdobra uma função no seu editor.
Portanto, se você tiver um programa de fala para texto, tente e veja por si mesmo. Eu não acho que você ficará muito impressionado.
Aliás, não quebre os dois braços ao mesmo tempo. Quebrar um de cada vez, é muito mais fácil assim.
Se eu tivesse apenas um braço quebrado, teria feito todo o meu código com uma mão. Ainda seria mais rápido do que usar software de fala para texto.
fonte
Para um programador profissional que trabalha (onde tempo é dinheiro) com graves lesões no túnel do carpo ou nas mãos (etc.), pode ser muito mais eficiente contratar um "programador par" júnior / estagiário e deixá-lo fazer o "reconhecimento de voz" e digitando.
fonte
Aqui está um link para um vídeo de uma Convenção Python, onde Tavis Rudd explica como ele personalizou o Dragon Naturally Speaking usando sua estrutura de plugins Python para criar um vocabulário adequado para a programação e edição no Emacs, vim e no terminal. Um vislumbre inspirador das possibilidades de reconhecimento de voz no domínio da programação e desenvolvimento.
Usando Python para codificar por voz
fonte
Você pode realmente criar uma solução de programação por voz usando o Dragon NaturallySpeaking, mas o Dragon NaturallySpeaking será apenas uma pequena parte da solução geral.
Você precisa de muita tecnologia além de simplesmente transformar voz em palavras para programar com sucesso. Alguns exemplos dos problemas que devem ser abordados:
Como você digita palavras impronunciáveis como ostreambuf_iterator? Como você lida com os altos níveis de pontuação nas linguagens de programação? Como você vai alternar entre janelas?
Geralmente, são necessários vários meses para criar e aprender uma solução de programação por voz. Pessoas como Joe, que esperam conseguir algo em um dia ou dois, ficarão muito desapontadas.
Mover para frente e para trás funciona bem com a voz, considerando um conjunto razoável de comandos. Por exemplo, você pode especificar facilmente a linha de destino usando o número de linha exibido mod 100. Mover por palavras ou caracteres de pontuação funciona bem com linguagens de programação para mover dentro de uma linha.
Você pode encontrar muito mais informações sobre esses problemas na programação por voz, localizada em http://vocola.net/programming-by-voice-FAQ.html
fonte
Com base na resposta de Joe, onde o problema é que você não pode ir e voltar:
Você pode usar o rastreamento ocular adicionalmente para resolver esse problema.
Linguagens de programação podem ser legíveis. Smalltalk é bastante legível.
Imagine uma linguagem de programação otimizada para falar. Pode ser feito.
Nestes termos: Uma entrada de texto falado pode não ser a mesma. Mas um ambiente controlado por fala com características programáveis seria um passo adiante.
fonte