¿Cuál será el trabajo de un programador en un mundo donde la computadora está controlada por voz?

Su pregunta plantea muchos puntos interesantes, pero la pregunta en sí no es muy precisa.

La voz es muy mala para el control, es mucho más rápido y mucho menos molesto presionar un botón que decir algo. Se tarda aproximadamente un segundo en decir el comando en sí, incluida la planificación y la producción real del sonido. Además, existen problemas de privacidad porque no siempre quieres compartir lo que estás haciendo con las personas que te rodean.

La voz es buena para la transferencia de información compleja. Cuando das órdenes complejas como “encuéntrame las entradas para mañana”, entonces la voz es buena. Si tiene la intención de hacer clic en los botones con voz, no funcionará.

La programación moderna de hecho incluye muchas tareas repetitivas como “clics”. No solo especifica el software y el comportamiento, sino que debe escribir muchos detalles. Idealmente, solo desea especificar las ideas principales sobre el software y la computadora para completar el resto. Es un problema no relacionado con la voz, es un problema con la programación en lenguaje natural. Se ha discutido en ¿Se programarán alguna vez las computadoras usando lenguaje natural? Como el reconocimiento de voz avanzado y preciso, la programación del lenguaje natural llegará algún día, pero probablemente no tan pronto como el habla.

El trabajo seguirá siendo la programación.

El problema con el uso del inglés o cualquier idioma natural es la ambigüedad.

Es inherente al lenguaje hablado: la diferencia entre “to”, “two” y “too”, por ejemplo. Diferentes significados de “grande” y “pequeño” …

Los programas están escritos en un lenguaje matemático, no en lenguaje natural. El lenguaje no es ambiguo por diseño, y cuando el idioma no lo es (y desafortunadamente, hay bastantes), se producen fallas en la traducción.

Incluso en C ++ hay mucha ambigüedad … la expresión “c = a + b” puede significar casi cualquier cosa. El otro problema es que agregar otra clase (o cambiar la clase) puede cambiar el significado por completo e introducir errores en lugares inesperados.

Las computadoras no resuelven problemas, ejecutan soluciones. Si no puede resolver el problema usted mismo, no puede escribir un programa que lo haga. Si sabes cómo resolver un programa de escritura de problemas es fácil. Entonces, si no sabe cómo resolver el problema, tampoco puede explicarlo a la computadora con voz.

La complejidad de cualquier programa consta de 2 partes: la complejidad del problema en sí y la complejidad de la implementación. Su reconocimiento de voz puede reducir la complejidad de la implementación, pero ya es muy baja en estos días. Pero la complejidad de la tarea en sí sigue siendo y a menudo es la parte más difícil. Y la resolución humana de la tarea aún es necesaria a menos que haga una IA fuerte.

Cuando las computadoras entienden el habla, los programadores aún estarán allí en medio de las cosas. Este es el por qué:

  1. Tienes que programar para la entrada. No importa si una computadora entiende su voz o no, si no puede hacer nada o no entiende esta entrada.
  2. Algunas experiencias simplemente no son tan buenas con las palabras. Imagina jugar un fps y solo poder decirle al juego qué hacer. Sería tan fácil que es aburrido o demasiado difícil porque no puedes hablar lo suficientemente rápido.
  3. Nuevas herramientas Incluso si las computadoras están controladas por voz, aún necesita darles herramientas. Similar a 1, pero el trabajo de un programador es hacer que las computadoras sean más fáciles de usar, más divertidas de usar y más accesibles para todos.