Por qué solo los diseñadores pueden crear nuevos lenguajes de programación

En comparación con las versiones que se piratean a altas horas de la noche bajo una increíble presión de plazos, los lenguajes de programación que salen de la academia son fracasos. Bueno, no todos ellos. La historia puede hablar por sí misma. Vía Cristina Videira Lopes, científica informática de UC Irvine , que merece crédito por cualquier información que pueda obtener de esta publicación, que es un resumen de su excelente, aunque extenso, Investigación en lenguajes de programación :





Idiomas que la gente usa y ama:

  • PHP: pirateado por Rasmus Lerdorf en 1994. Originalmente utilizado para realizar un seguimiento de las visitas a su currículum en línea, nombró al conjunto de scripts 'Herramientas personales de la página de inicio', a las que se hace referencia con más frecuencia como 'Herramientas PHP'. Según la encuesta informal en langpop.com (el sitio puede estar inactivo) es el cuarto idioma más popular del planeta.
  • JavaScript: Brendan Eich lo inició en 1995. JS tenía que parecerse a Java, pero menos, ser el hermano menor tonto de Java o su compañero rehén. Además, tenía que terminar en diez días o algo peor de lo que JS hubiera pasado . Debido a la web, posiblemente el idioma más popular en la actualidad.
  • Ruby, de Yukihiro Matz Matsumoto alrededor de 1994. Quería un lenguaje de scripting que fuera más poderoso que Perl y más orientado a objetos que Python. Por eso yo decidí diseñar mi propio idioma .

Mientras tanto, los lenguajes diseñados por académicos que están obsesionados con la coherencia interna y la corrección incluyen un montón de lenguas en su mayoría muertas: Fortran, Cobol, Lisp, C y Smalltalk. Las únicas excepciones son .NET y Java, que fueron el producto de una inversión considerable por parte de Microsoft y Sun.

A la luz de esta historia, así como de su propia experiencia en el mundo académico, Lopes argumenta que la razón por la que la torre de marfil ya no crea lenguajes de programación que la gente realmente usa es que trata la programación como una ciencia, cuando en realidad es más un diseño. disciplina.



Me encantaría devolver el diseño a mis actividades diurnas. Me encantaría que mis alumnos participaran en el diseño de cosas nuevas, como nuevos lenguajes de programación y entornos. ¡Tengo muchas ideas sobre lo que me gustaría hacer en esa área! Creo que hay un camino para establecer un conjunto de criterios rigurosos con respecto a la evaluación del diseño que es diferente de la validación científica / cuantitativa.

Efectivamente, argumenta Lopes, fue uno de esos casos excepcionales en los que se dio rienda suelta a un programador en la academia lo que dio lugar a la web.

Un buen ejemplo de que la experimentación del diseño está en desacuerdo con la evidencia científica es la propuesta que Tim Berners-Lee hizo al CERN sobre la implementación del sistema de hipertexto que se convirtió en la Web. En ninguna parte de esa propuesta encontramos un plan para la verificación de reclamaciones. Esa es solo una buena propuesta sólida para un intrigante sistema de información vinculado. Me imagino al gerente de TB-L pensando: hmm, está bien, esto es intrigante, es un tipo inteligente, no está pidiendo tantos recursos, dejemos que lo haga y veamos qué sale de eso. Si no sale nada, no es gran cosa. Si TB-L hubiera tenido que idear un plan de evaluación científica o de ingeniería para ese sistema más allá de la segunda fase, lo instalaremos en muchas máquinas, tal vez el mundo sería muy diferente hoy, porque podría haber quedado atrapado en el agujero negro de tratando de encontrar evidencia cuantificable de algo que no necesitaba ese tipo de validación.



Mucho de esto se reduce a factores humanos en los lenguajes de programación. Si no son fáciles de usar, no se propagarán. De esta forma, lenguajes y sistemas completos (como UNIX) han sido comparados con virus informáticos . Este tipo de cosas es difícil, si no imposible, de medir. Es subjetivo, el tipo de problema que puede resolver el diseño, no la ciencia. El hecho de que los informáticos serán esos diseñadores es meramente semántico. El código es poesía , después de todo.

esconder