Hace unos años, utilicé Dragon Naturally Speaking muy brevemente y estaba pensando si sería una solución viable para la programación.
Estaba pensando más si te rompes el brazo o algo que sería un gran obstáculo para la programación.
Esta misma pregunta sobre SO pero nunca fue respondida.
productivity
Jim
fuente
fuente
Respuestas:
Puedo responder a esto por experiencia personal. Hace unos años, me rompí los brazos en un accidente. Como mi trabajo era programación a tiempo completo, esto era un problema. Con algo de ayuda, instalé Dragon en mi computadora portátil.
Fue una pérdida de tiempo.
El código no se parece mucho al lenguaje natural; se escribe principalmente, no se habla. Sé exactamente lo que
y_z = (x < 0 ? -x : x) + 2;
significa, pero no tengo idea de cómo lo pronunciaría, ni me importa.Al ser un lenguaje de solo escritura, el código es muy preciso a nivel de caracteres. Hay una gran diferencia entre
(x+2)*3
y(x+2*3)
. Los programas de voz a texto son buenos para prestar atención a las palabras, no a los caracteres. Agregar caracteres específicos requiere muchas palabras como "paréntesis izquierdo, x, signo más, dos, paréntesis derecho".Cuando estoy codificando, me muevo y reescribo mucho. La conversión de voz a texto es buena para una sola secuencia de lenguaje. No es bueno para ir y venir por todos lados.
Muchas de las tareas mínimas en la codificación no son equivalentes a la mecanografía, lo cual es bueno para todo el discurso a texto. Piense en la frecuencia con la que cambia las pestañas para ver algún otro módulo de código, o con qué frecuencia pliega y despliega una función en su editor.
Entonces, si tienes un programa de voz a texto, pruébalo y compruébalo por ti mismo. No creo que estés demasiado impresionado.
Por cierto, no rompas ambos brazos a la vez. Romper uno a la vez, es mucho más fácil de esa manera.
Si hubiera tenido un solo brazo roto, habría hecho toda mi codificación con una sola mano. Todavía sería más rápido que usar software de voz a texto.
fuente
Para un programador profesional que trabaja (donde el tiempo es dinero) con un túnel carpiano severo o lesiones en las manos (etc.), puede ser mucho más eficiente contratar a un "programador de parejas" junior / interno, y dejar que hagan el "reconocimiento de voz" y mecanografía.
fuente
Aquí hay un enlace a un video de una Convención de Python donde Tavis Rudd explica cómo personalizó Dragon Naturally Speaking utilizando su estructura de complemento de Python para crear un vocabulario adecuado para la programación y edición en Emacs, vim y el terminal. Un vistazo inspirador a las posibilidades de reconocimiento de voz en el dominio de la programación y el desarrollo.
Usando Python para codificar por voz
fuente
De hecho, puede crear una programación por solución de voz usando Dragon NaturallySpeaking, pero Dragon NaturallySpeaking será solo una pequeña parte de la solución general.
Necesita mucha tecnología más allá de simplemente convertir la voz en palabras para programar con éxito la voz. Algunos ejemplos de los problemas que deben abordarse:
¿Cómo se ingresan palabras impronunciables como ostreambuf_iterator? ¿Cómo manejas los altos niveles de puntuación en los lenguajes de programación? ¿Cómo cambiarás entre ventanas?
En general, lleva varios meses construir y aprender una solución de programación por voz. Las personas como Joe que esperan que algo funcione en uno o dos días se sentirán muy decepcionadas.
Moverse hacia adelante y hacia atrás funciona bien con la voz dada un conjunto razonable de comandos. Por ejemplo, puede especificar fácilmente la línea de destino utilizando su número de línea visualizado mod 100. Moverse por palabras o caracteres de puntuación funciona bien con los lenguajes de programación para moverse dentro de una línea.
Puede encontrar mucha más información sobre estos problemas en la programación por preguntas frecuentes de voz ubicadas en http://vocola.net/programming-by-voice-FAQ.html
fuente
Según la respuesta de Joe, donde el problema es que no puedes ir y venir:
Puede usar el seguimiento ocular adicionalmente para resolver este problema.
Los lenguajes de programación pueden ser legibles. Smalltalk es bastante legible.
Imagine un lenguaje de programación optimizado para hablar. Se puede hacer.
En estos términos: una entrada de texto hablado puede no serlo. Pero un entorno controlado por el habla con rasgos programables sería un paso más allá.
fuente