Programación 1: El destino inmutable
Recientemente he estado buscando un lenguaje diferente para programar en la máquina virtual de Java (JVM). Existen muchos, y algunos que llaman la atención son los lenguajes funcionales (tales como Scala y Clojure) y los lenguajes cercanos al scripting (Jython y Groovy). Deseo encontrar un lenguaje en el que me permita escribir menos código que en Java para llevar a cabo la misma tarea y que, al mismo tiempo, permita que el código sea claro y evidente en su propósito. Me desagrada un lenguaje cuya sintaxis oscurece o entorpece el entender el significado del código, aún si favorece necesitar menos código.
Ahora bien, he encontrado que la sintaxis de estos lenguajes es, en el mejor de los casos, un poco diferente a lo que estoy acostumbrado en Java, C, C++ y Pascal. Esto me hace pensar que, mientras domino dicho lenguaje, pueda introducir inadvertidamente errores (bugs) al programar. El día de hoy reforcé esta idea mientras leía sobre las trampas de Scala. Por supuesto, en Java también es posible escribir código que no sea claro en su intención y que puede provocar que se introduzcan errores. En esto, soy muy experimentado
.
El notable investigador y precursor de las ciencias computacionales Maurice Wilkes dijo:
I well remember when this realization first came on me with full force. The EDSAC was on the top floor of the building and the tape-punching and editing equipment one floor below. [...] It was on one of my journeys between the EDSAC room and the punching equipment that “hesitating at the angles of stairs” the realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs.
(Memoirs of a Computer Pioneer, MIT Press, 1985, p. 145 [http://en.wikiquote.org/wiki/Maurice_Wilkes]).
¿Será ese el destino inmutable de los programadores?



Deja tu Comentario / Leave a Reply