¿Se está automatizando la creación de código de software ahora en los Estados Unidos?

Por supuesto.

Si bien la tarea de armar sistemas completos aún depende de los ingenieros, hay docenas de herramientas convencionales que generan código automáticamente.

Por ejemplo, las herramientas de Entity Framework en Visual Studio (descargo de responsabilidad: trabajé en estas) generan código de tienda C # o VB.NET a partir de esquemas de marco de entidad, que puede generar automáticamente desde su base de datos.

Otro ejemplo que está en uso muy amplio es yeoman: la herramienta de andamiaje de la web para aplicaciones web modernas. Hay muchas herramientas para las diversas pilas tecnológicas principales que andamiarán automáticamente un sitio de trabajo para usted; ya sea que se ejecute en Angular, React o incluso una pila MEAN completa: MEAN.JS – Full-Stack JavaScript Boilerplate de Creators of MEAN.IO.

También hay un área interesante de ingeniería de software llamada Lenguajes específicos de dominio (DSL), en la que define un lenguaje de alto nivel para un dominio particular. Por ejemplo, un lenguaje diseñado específicamente para un dominio de robótica de fábrica en particular, o para un dominio de modelado de simulación, y varios sistemas DSL generarán automáticamente las clases necesarias e incluso diseñadores visuales.

Ahora, ninguno de estos sistemas hace uso de la inteligencia artificial, ninguno es capaz de convertir especificaciones imprecisas en software de trabajo, pero pueden ser de gran ayuda en manos de ingenieros expertos que entienden cómo aprovecharlas.

No.

Estás insinuando que hay nuevos programas que pueden hacer el trabajo de los programadores actuales. No es posible, y probablemente nunca será posible.

¿Por qué?

Debido a que la programación no se trata realmente de escribir código, se trata de traducir un conjunto complejo de requisitos / ideas (las especificaciones de lo que desea que haga el programa) de una manera que una computadora pueda entender (la parte del código).

Probablemente pensarás: ok, entonces solo necesitas que los humanos definan esas especificaciones y ENTONCES la computadora puede escribir el código de ellas. Tiene sentido (a primera vista). Desafortunadamente, para que eso sea cierto, las especificaciones deben ser tan detalladas que inmediatamente se vuelvan tan complejas como el código en sí y lo que está haciendo puede llamarse programación / codificación, por lo que volverá al punto de partida 🙂

Ahora, lo que PUEDE ser automatizado son algunas partes específicas del código, las cosas simples si lo desea (especialmente lo que llamamos “repetitivo”). Pero es solo una pequeña parte del código.

No que yo sepa. Si bien algunas herramientas generan código para ciertas tareas, los humanos todavía escriben mucho código y lo harán en el futuro previsible.

More Interesting

Hackers: ¿Cuáles son algunos de los mejores proyectos de hack público?

¿Qué es más útil para el empleo de ingeniería de software, un master CS o un campo de entrenamiento de programación?

¿Cuál es la lista de cursos de software, su descripción y su importancia?

¿Por qué los programas contienen errores? ¿Cómo se arreglan?

Quiero iniciar una plataforma como chownow.com. ¿Dónde puedo encontrar un socio técnico que pueda construir algo como esto?

¿Qué país es el más competitivo en términos de desarrolladores jóvenes?

¿Qué elementos del diseño OO son más propensos al abuso?

¿Qué es una carrera en pruebas de software?

¿Qué haría que trabajar en Palantir fuera mejor para los FDE?

¿Cuáles son las mejores universidades de la India para solicitar pasantías para ingenieros informáticos en el tercer año y sus criterios, elegibilidad, procedimientos con enlaces adecuados para 2013?

¿Cuán geográficamente dispersos están los servidores de Google App Engine en todo el mundo?

¿Cuál es el estado del arte en el software de póker? ¿Pueden los mejores algoritmos de póker respaldados por hardware personalizado vencer a los mejores jugadores de póker?

¿Por qué una pequeña empresa de consultoría con un cliente con presupuesto limitado realiza un desarrollo basado en pruebas (TDD)?

¿Qué es la modernización de software? ¿Por qué es importante para cualquier software? ¿Cuáles son las herramientas disponibles para la modernización del software?

¿Contratarías un campista de Free Code Camp?