¿Cómo cambiará la programación durante el período de 2015 a 2034?

Programación desde 1965.

  1. Más IA en herramientas. Mayormente estadístico, pero útil.
  2. La ciencia cognitiva comenzará a utilizarse en el diseño de lenguajes de programación y herramientas.
  3. Mejores teclados a través de la tecnología de pantalla táctil. Tal vez en cada tecla.
  4. Tal vez una flecha hacia la izquierda como un operador de asignación. Sólo 50 años de retraso.
  5. Por otro lado, el operador 4-igual (====) hace su debut, pero el inventor es asesinado poco después.
  6. JavaScript se hace a un lado por un lenguaje intermedio de navegador / cliente común para una BVM (por analogía con la JVM).
  7. El número de sistemas integrados instalados será mayor que la población humana de la tierra.
  8. Lisp redescubierto de nuevo.
  9. 1024 núcleos en un chip por $ 1. La mayoría de ellos no utilizados.
  10. Lenguajes de programación cuántica para CPU cuánticas.
  11. Las guerras de lenguaje se basarán en la emoción.
  12. Mente humana mejorada por chips integrados y nuevas drogas, para los pocos ricos.
  13. Epidemia de daño cerebral entre los pocos ricos.
  14. CPU de 64 bits apartadas para CPU de 128 bits.
  15. Las especificaciones de lenguaje C ++ 2034 no cabrán en un disco Blu-ray de cuatro capas.
  16. Tecnología de ADN conectando y fusionando con la electrónica.
  17. Nueva comisión formada para resolver la falta de diversidad étnica y étnica entre los ingenieros de software.
  18. Zuckerberg consigue sudadera con capucha nueva.

He visto preguntas muy similares, así que espere que esto sea redirigido, pero aquí está mi opinión general: ya que la programación solo ha cambiado en “cantidad” en lugar de “amable” en los últimos veinte años, a menos que haya un desarrollo milagroso, las cosas no lo harán. se muy diferente

Los IDE serán mejores y más integrados con los sistemas de biblioteca, documentación / tutoriales y comunidades; Es probable que pronto compilen y vuelvan a probar el código a medida que lo escriba. Las licencias de software pueden (o no) volverse más sistemáticas. Genial, pero nada emocionante.

El único cambio por el que me arriesgo es que los teclados se volverán más difíciles de encontrar a medida que las pantallas táctiles se abaratan y obtienen márgenes de ganancias cada vez más altos. Quiero imaginar algo así como una mesa de dibujo con lenguajes modificados para adaptarse mejor al entorno.

Digo esto porque no tiene nada que ver con lo que los programadores realmente quieren, solo fuerzas puras del mercado. Será más barato obtener una gran pantalla táctil, así que eso es lo que obtendrás, y el software solo tendrá que ponerse al día …

Le di esta respuesta a una pregunta similar … Espero que esta sea la forma correcta de agregar mi respuesta a esta.

Esta es una gran pregunta porque se encuentra en el límite entre las tendencias de crecimiento exponencial de la “ley” de Moore y la evolución más complicada de la comunicación humana, el proceso de trabajo y la organización.

Desde un crecimiento exponencial puro del punto de vista de cómputo, deberíamos esperar un aumento de aproximadamente 2 ^ 15 o 32000 veces en el procesamiento (se duplica cada 1.5 años), la capacidad de la red, el almacenamiento (consulte la cuidadosa revisión de Ray Kurzweil en su charla).

A partir de una evolución de los lenguajes informáticos, podemos decir que la evolución no es exponencial en función de las fechas de inicio de los idiomas pasados. El límite estructural para una generación exponencial de lenguajes de programación de computadoras es que necesita que el nuevo lenguaje de computadoras sea aceptado ampliamente, y esto requiere tiempo y algún tipo de política de programación, convenciendo a las personas de que la nueva idea es necesariamente mejor.

Algunas otras ideas sobre por qué los lenguajes informáticos no han evolucionado muy rápidamente se presentan en esta gran charla Bret Victor, bestia de carga (final ligeramente pedante).

Los lenguajes que se usan comúnmente hoy en día incluyen muchos que se inventaron hace mucho tiempo, como C en 1971. Incluso Python, uno de los lenguajes nuevos más sofisticados, es una fecha de nacimiento de 1985 que es de 2 ^ 20 o 1048576 Moore-años.

Si bien a menudo nos preguntamos qué lenguaje de programación utilizamos, cada vez más la competencia de un equipo de programación está relacionada con la biblioteca específica con la que está trabajando. En el lado de la computación científica avanzada, por ejemplo, no es inusual para todo lo que necesita estar ya en MatLab, por ejemplo, pero usted, como usuario, no lo entiende lo suficiente como para comenzar a programar.

Si bien todo lo que hacemos está facilitado por mejores editores, sistemas, aprendizaje automático, etc., el software no ha podido aumentar su robustez. Los errores críticos todavía ocurren y pueden ser un acuerdo de todo o nada en un proyecto. Dejar el sistema expuesto a los ataques, que requieren un mantenimiento continuo, establecer un punto único de falla, como las organizaciones en las que una falla puede tener un gran efecto en un mercado financiero, por ejemplo.

Si medimos la programación de computadoras por poder puro para crear con menos líneas de código, creo que los lenguajes de programación existentes funcionan bastante bien. La ventaja diferencial de un idioma sobre el otro en términos de productividad es de un orden de magnitud aproximadamente. Si no logramos innovar significativamente en los últimos 45 años, espero que no innovemos aquí en los próximos 15 años.

Lo que será diferente será el contexto en el que funcione la programación:

  • En muchos casos, será una cuestión de responsabilidad legal que, como programador, identifique personalmente sus cambios en una base de código complejo.
  • La base de código complejo se modularizará en secciones redundantes que se evalúan de forma periódica para comprobar su robustez.
  • Las unidades programáticas modulares se pueden buscar y conectar a través de una interfaz más plástica que la API.
  • Los problemas básicos de sintaxis se resolverían automáticamente (es probable que incluso puedas cambiar la sintaxis en medio de tu código).
  • Los patrones de uso de la biblioteca se examinarían según los análisis que se devuelven al propietario de la biblioteca para que puedan sugerir los pasos faltantes.
  • Mientras está programando, la búsqueda inteligente intentará identificar lo que está codificando para poder proponer características útiles de biblioteca para integrarse.
  • La vinculación de código a menudo será descentralizada y autorizada. IE: no sabe dónde está el código, no sabe exactamente quién lo programó, pero es el código que cree que es y está garantizado por una lista de garantes que se expondría si hubiera un problema.
  • La programación utilizará bibliotecas con una combinación de patrones de almacenamiento, computación y monetización.

Un buen ejemplo es cómo Ethereum está recreando versiones de los lenguajes existentes para su enfoque descentralizado, IE: Serpiente en lugar de Python …

Secretamente espero que nos estemos acercando a una singularidad, pero creo que va a ser más de lo mismo …

  • Las cosas del pasado serán redescubiertas y comercializadas con mucha publicidad.
  • Los usuarios de idiomas especializados dirán siempre que su idioma es la bala de plata.
  • C, Java, C ++ seguirá existiendo y seguirá utilizándose. LISP, Haskell, etc. todavía estarán disponibles y no se utilizarán.
  • Javascript será la nueva C: todo se escribirá en ella, se convertirá en un lenguaje más limpio y sano.