Prólogo
Fue amor a primera vista.
Debió de ser hacia 1981 o 1982 cuando probé por primera vez Unix. Su shell de línea de comandos, que utiliza el mismo lenguaje para comandos simples y programas complejos, cambió mi mundo, y nunca miré atrás.
Yo era un escritor que había descubierto las alegrías de la informática, y las expresiones regulares fueron mi droga de iniciación. Las había probado por primera vez en el editor de texto del sistema operativo RTE de HP, pero sólo comprendí plenamente su poder cuando llegué a Unix y su filosofía de pequeñas herramientas cooperativas con el intérprete de comandos como pegamento que las unía.
Las expresiones regulares de ed, ex, vi (ahora vim) y emacs eran potentes, desde luego, pero no fue hasta que vi cómo los scripts de ex se convertían en sed, el editor de secuencias de Unix, y luego en AWK, que te permitía vincular acciones programadas a expresiones regulares, y cómo los scripts de shell te permitían construir cadenas no sólo a partir de las herramientas existentes, sino de otras nuevas escritas por ti mismo, cuando realmente lo entendí.
Programar es cómo hablas con los ordenadores, cómo les dices lo que quieres que hagan, no sólo una vez, sino de formas que persisten, de formas que pueden variar como el lenguaje humano, con estructura repetible pero diferentes verbos y objetos.
Como principiante, otras formas de programación parecían más bien recetas que había que seguir al pie de la letra -conciertos minuciosos en los que tenías que ...