¿Cómo podrían cambiar la programación web, las secuencias de comandos, los marcos, etc., para 2020?

Vuelve más lejos.

En 1987 (hace casi 25 años) Larry Wall lanzó Perl .

Lo hizo debido a su insatisfacción con la funcionalidad que sed, C, awk y el shell le ofrecieron.

En 1989, Guido van Rossum creó Python . Él dice esto:

… Tenía una computadora en casa, y no mucho más en mis manos. Decidí escribir un intérprete para el nuevo lenguaje de scripting en el que había estado pensando últimamente: un descendiente de ABC que atraería a los hackers de Unix / C.

Antes del lanzamiento de PHP 3.0 en 1997, el autor Rasmus Lerdorf creó un conjunto de scripts Perl (y, finalmente, una implementación en C). Quería procesar las formas.

PHP / FI, que representaba a la página de inicio personal / intérprete de formularios, incluía algunas de las funciones básicas de PHP tal como lo conocemos hoy. Tenía variables similares a Perl, interpretación automática de variables de formulario y sintaxis HTML incrustada. La sintaxis en sí era similar a la de Perl, aunque mucho más limitada, simple y algo inconsistente.

Ruby tiene su primer lanzamiento público en 1995. El autor examinó sus opciones y decidió construir su propio lenguaje de scripting.

Quería un lenguaje de scripts más poderoso que Perl, y más orientado a objetos y Python ”

1995 también trajo consigo Netscape Navigator 2, y JavaScript , marcos. Brendan Eich nos dio el procesamiento de números, la manipulación de contenido de formularios, todo incrustado dentro de una página web.

Los primeros marcos web cobraron vida a medida que los desarrolladores reunían las bibliotecas existentes.

Creo que Zope (el primer lanzamiento público gratuito, 1998) es un ejemplo sólido. Asignó direcciones URL a objetos y generó respuestas HTTP.

La World Wide Web explota, Internet (y el acceso a ella) se convierte en una mercancía. Las empresas trasladan sus tiendas a la web. Los problemas de negocios vuelven a ser problemas de desarrollador.

Dos temas han persistido desde la llegada de Perl a finales de los 80. Los avances se deben a los aumentos en la eficacia del desarrollador y la escalabilidad .

Con respecto a la eficacia del desarrollador: el cambio en las herramientas de programación web es un reflejo de las incongruencias entre el conjunto de herramientas del programador y su capacidad para codificar y mantener sistemas complejos (es decir, flujo de instrucciones abstractas a sintaxis).

La escalabilidad se puede representar en muchas dimensiones (geográfica, de carga, funcional, et al.). Creo que los avances en la escalabilidad del sistema de software son un producto de los requisitos del negocio en lugar de las demandas del software. A medida que el hardware (y el software) se vuelve más barato, y a medida que encontramos formas más inteligentes de usarlo, encontramos nuevas formas de escalar los sistemas.

Entonces, ¿cómo podrían cambiar la programación web / scripting / frameworks para 2020?

En 10 años, las nuevas herramientas serán viejas. Nuestra antigua arquitectura cliente-servidor será retrasada en el tiempo por una arquitectura en la nube que ahora está envejeciendo.

Vamos a dejar de diferenciar entre sistemas móviles y de escritorio. Las interfaces serán demasiado dispares, las entradas serán muy variadas y el soporte será demasiado amplio para que podamos continuar adaptando las interfaces a los dispositivos.

Los sistemas empresariales anticuados serán reemplazados por los descendientes de los marcos web actuales. Los dispositivos de bolsillo superarán a los sistemas de una década de antigüedad, realizando consultas de miles de millones de registros.

Los avances en herramientas cambiarán cuando existan cuellos de botella en la eficiencia del desarrollador. Los avances en los sistemas cambiarán donde haya dinero.

Referencias:

  • “Una breve historia de Perl” – http://www.shlomifish.org/lectur…
  • Perl / Wikipedia – http://en.wikipedia.org/wiki/Perl
  • Prólogo de “Programming Python” (1ª ed.) – http://www.python.org/doc/essays…
  • Historia de PHP – http://www.php.net/manual/en/his…
  • Una entrevista con el creador de Ruby – http://linuxdevcenter.com/lpt/a/…
  • Una introducción a Ruby – http://linuxdevcenter.com/lpt/a/…
  • Historial de JavaScript – http://www.howtocreate.co.uk/jsh…
  • Historia de Zope – http://en.wikipedia.org/wiki/Zop…
  • Escalabilidad / Wikipedia – http://en.wikipedia.org/wiki/Sca…

Es difícil predecir detalles específicos, las tendencias macro más grandes son más fáciles de predecir y extrapolar de ellas. Primero tenemos que hacer suposiciones sobre las tendencias actuales.

JQuery y Ruby on Rails son parte de la tendencia a facilitar la programación en dominios específicos. La economía actual de la web recompensa a las personas por los resultados, ya que las nuevas empresas que encuentran usuarios obtienen la mayor atención en la web. El éxito se mide por el análisis, la cantidad de usuarios que pagan, el tiempo que dedican a la aplicación. Es fundamentalmente una economía impulsada por el usuario final. Las herramientas creadas por esta economía son nuevas para los piratas informáticos y para los piratas informáticos, son más fáciles de crear prototipos y tienen menos repeticiones.

Esto, en contraste con el mundo empresarial, donde las personas aún son recompensadas por crear más trabajo para facturar más horas, muestran cuántos LOC se agregaron, mientras que la calidad del producto final es menor. Esa es una economía fundamentalmente impulsada por el cliente y produce un conjunto diferente de herramientas.

CoffeeScript, Backbone.js, Underscore.js son las herramientas web más nuevas para los recién llegados. CoffeeScript es un preprocesador para JavaScript que limpia la sintaxis. Espere ver más preprocesadores para dominios específicos como WebWorkers, Canvas, WebGL, UIs en tiempo real, Node.js, etc. JQuery se puede limpiar a través de un preprocesador.

Un gran impulso podría venir de la programación en lenguaje natural. http://blog.stephenwolfram.com/2 … Los recién llegados al mundo de la programación tendrían un comienzo mucho más fácil con estas herramientas, por lo que podría ser una motivación económica para desarrollarlas, incluso si al principio son ruedas de entrenamiento.

Los creadores de aplicaciones específicas de dominio como http://www.appcanvas.com podrían despegar. Hay muchos sitios sociales que son variaciones sutiles de unos a otros. Reddit, digg, hacker news tienen necesidades de back-end similares y requerirían algunos cambios estéticos para convertir uno en otro. Con un generador de sitios de votación, usted podría probar rápidamente variaciones en la idea. Por ejemplo, pese los votos de manera diferente, elimine la tiranía de la mayoría, separe a los usuarios por región, la inclinación política y vea si votan a favor las historias de mayor calidad. Más sobre eso aquí ¿Está la industria del software atrapada? ¿Qué se puede hacer para moverlo más rápido?

Muchas de las sofisticadas configuraciones de bases de datos, la escala de la nube, las soluciones “NoSQL” que los grandes jugadores como Facebook y Twitter han desarrollado pueden convertirse en material y alimentar la tendencia del creador de aplicaciones de dominio. No solo podría crear un clon Reddit, sino que también podría admitir a millones de usuarios como el original.

Tal vez la tendencia general de 2000-2010 fue facilitar la publicación de contenido a través de blogs y CMS, la tendencia en 2020 podría hacer fáciles las comunidades complejas.