¿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

Educación K-12: ¿Debería la programación de computadoras tener prioridad sobre las matemáticas en el plan de estudios de la escuela secundaria?

¿El lanzamiento de la versión beta del software fue parte del SDLC implementado por las compañías de software?

Como ingeniero / programador de software, ¿alguna vez encontró que los algoritmos de aprendizaje eran tediosos?

¿Por qué se requiere una arquitectura asincrónica para lograr la escalabilidad? ¿Puede por favor proporcionar una aplicación / ejemplo de la vida real?

¿Tiene alguna experiencia en el empleo de desarrolladores que no sean de su país de residencia?

¿Qué hace que una gran cultura para un equipo de desarrollo de software?

¿Cuáles son algunos programas o programas educativos existentes que puedo aprovechar para hacer la transición al diseño de experiencias virtuales?

¿Por qué UML todavía está en cursos en entornos académicos? ¿Cuál es el futuro de este lenguaje?

¿Cuáles son los protocolos que debe conocer un ingeniero de sistemas integrados?

¿Existe un período óptimo de tiempo ininterrumpido (sin distracciones) que los programadores necesitan para trabajar de manera efectiva? Por ejemplo, estiramientos de treinta minutos no funcionan para mí.

¿Hay algún catálogo de plantillas de algoritmos? ¿Cuántos también tienen ADT?

¿Los desarrolladores profesionales usan un montón de bibliotecas diferentes en una aplicación?

¿Puedo hacer una aplicación móvil con HTML / CSS y JavaScript? Leer detalles

Cómo mejorar el proceso de codificación de mi equipo

¿Cuáles son algunos de los consejos que puedo seguir durante las pruebas de rendimiento en NeoLoad?