+ ¿Por qué necesitamos nuevos lenguajes de programación?
Los creadores de dos docenas de lenguajes de programación presentaron su trabajo la semana pasada en Portland, el motivo de la reunión fue el primer Emerging Languages Camp en ocasión de la O’Reilly Open Source Convention.
Los diseñadores entre los que se encontraban aficionados deseosos de mostrar su fuerza de desarrollo, académicos con la esperanza de influir en la próxima generación de lenguajes de computación, e investigadores de empresas como Microsoft y Google, buscan nuevas herramientas para hacer frente a la evolución de las aplicaciones y las nuevas infraestructuras.
Todos tenían en común un deseo de desprenderse de los convenios de programación de décadas de antigüedad que parecen cada vez más inadecuados para la computación moderna, un deseo compartido por la industria de la tecnología en general. Hay un renacimiento en el diseño del lenguajes en este momento, según dice Rob Pike, un ingeniero de Google y diseñador de Google Go, el lenguaje de programación que se desarrolló en la empresa. La mayor razón para ello es que los lenguajes principales existentes simplemente no son la solución a los problemas que la gente quiere resolver.
Uno de esos problemas, de gran interés para las grandes empresas como Google, así como Facebook y Amazon, es cómo gestionar la complejidad de la explosión de distribución, plataformas de computación multinúcleo como los centros de datos y las redes para cloud computing. El lenguaje Google Go fue presentado a finales de 2009 para este propósito como una alternativa a C++, que, según Pike, no permite a los programadores aprovechar fácilmente la arquitectura moderna de computación en paralelo.
En la escala de Google, Pike y sus compañeros de equipo encontraron que C++ limita la productividad mediante la adopción de minutos u horas para compilar. Recordemos que la compilación es el proceso en el que el código fuente legible por lotes, es traducidas al lenguaje binario de máquina, que la CPU de una computadora puede ejecutar. Google Go reduce los tiempos de compilación, lo que significa que los programas pueden estar listos para ejecutarse en cuestión de segundos. Pike no cree que Go aparte a C++ como lenguaje dominante, simplemente le dará un poco de competencia, y aclara que Go ya está siendo utilizado en “proyectos reales” internos en Google.
Otro ámbito en constante evolución de la informática se refiere a los programas que se ejecutan en dispositivos móviles vinculados en redes inalámbricas “ad hoc”. AmbientTalk, un lenguaje experimental presentado por Tom Van Cutsem de la Vrije Universiteit Brussel, en Bélgica, explora un nuevo paradigma llamado “programación orientada al ambiente”, que se aparta de sistemas tradicionales distribuidos en dos formas principales. En primer lugar, no se basa en una infraestructura central, y en segundo lugar, supone que las conexiones de red son volátiles e impredecibles, como suele ocurrir con los dispositivos móviles que entran y salen del rango entre sí. De acuerdo con Van Cutsem, AmbientTalk es lo suficientemente inteligente como para cargar los mensajes en un buffer cuando la conexión se cae, no se pierden, y cuando la conexión se restaura, envía los mensajes como si nada hubiese pasado.












