IniciTextos

logo

TEXTOS

Programar, filosofia UNIX i el projecte GNU

Iniciat en programació amb el BASIC dels microordinadors Sinclair ZX-81 i ZX-Spectrum, i posteriorment amb els ordinadors del sistema VAX/VMS i el seu compilador de Fortran. Ja no he abandonat mai el Fortran, que segeuix sent el meu llenguatge de programació favorit ja que tradueix de forma més directa la formulació matemàtica a instruccions de programació, i manega els fitxers de text amb gran agilitat. Amb l'entrada amb força de GNU/Linux a finsl dels 90's he adoptat altres llenguatges d'script com bash, gnuplot, TCL/Tk, Python, i molts altres... I avui en dia, amb l'ajuda de les intel·ligències artificials com ara "DeepSeek" resulta cada vegada més fàcil traduir o crear codi per a qualsevol llenguatge.

Al llibre "The art of UNIX programming" de E.S. Raymond descriu de forma molt clara la filosofia UNIX, que jo he adoptat com actitud davant la programació, i davant la solució de molts problemes d'enginyeria.

Algunes idees bàsiques d'UNIX:

  1. Escriu programes que facin una cosa i ho facin bé.
  2. Escriu programes per a treballar plegats.
  3. Escriu programes per a gestionar fluxos de text, perquè és la interfície universal.
  4. Les dades dominen. Si heu triat les estructures de dades adequades i heu organitzat bé les coses, els algorismes gairebé sempre seran evidents (empaqueta el coneixement a les dades, de manera que la lògica del programa sigui estúpida i robusta).
  5. Ken Thompson: En cas de dubte, utilitzeu la força bruta.
  6. El temps del programador és car, conserva'l en preferència del temps de màquina (té molt de sentit avui amb IA)
  7. Fes-ho fàcil, troç de quòniam! (KISS = Keep It Simple Stupid!)
  8. I altres que no em canso de rellegir de tant en tant al llibre d'E.S. Raymond...

El segon concepte fonamental és GNU i la llibertat del programari lliure segons el projecte GNU de Richard Stallman. El Programari Lliure és un afer de la llibertat del usuaris per a executar, copiar, distribuir, estudiar, canviar i millorar el programari. Més precisament, es refereix a quatre tipus de llibertat, per a usuaris de programari:

  1. La llibertat per a executar el programa, per a qualsevol propòsit
  2. La llibertat d'estudiar com treballa el programa, i adaptar-lo a les necessitats pròpies
  3. La llibertat de redistribuir còpies per a poder ajudar als vostres veïns
  4. La llibertat per a millorar el programa, i alliberar les vostres millores al públic, per a què tota la comunitat pugui beneficiar-se

Les idees simples però revolucionàries del projecte GNU, i la filosofia UNIX (en particular del sistema GNU/Linux), proporcionen l'entorn en que programadors, matemàtics, físics, i enginyers podem treballar de forma natural, amb llibertat i eficiència. GNU serveix a la ciència de la computació, i a molt més.