giovedì 29 agosto 2013

Io & il 'puter (cont. 2)

Ebbene sì! sono di nuovo in procinto di raccontare dei miei 'puter. Sono consapevole di essere noioso e scontato ma qualche giovane (Marco) e qualche altro giovane nel senso che si usa adesso (Luigi) mi dice di continuare che è 'na roba che ci piace. Visto che ci sono ancora persone educate, che danno corda ai vecchi? Grazie ragazzi, oggi inizio a parlare di un bivio.
Come dicevo la volta scorsa a un certo punto erano comparsi i personal computer e questi avevano invaso gli uffici trasformandoli. Io e altri che lavoravano con me ci abbiamo messo un po' a capirla questa rivoluzione anche perché c'era sempre più lavoro. E i computer grossi erano sempre più potenti e si faceva grafica e c'erano tante cose nuove.
Per esempio si andava verso un'unificazione riguardo ai sistemi operativi. Cioè no, ce n'erano, in ambito scientifico, due che si  stavano imponendo, incompatibili e parecchio diversi. Quello che godeva i favori dei grandi era il VMS, girava sulle macchine della Digital.

Era il top per noi fortranisti. Lo usavano al Poli, lo usava una grossa ditta qui da noi di cui mi sfugge il nome (una parola latina di quattro lettere, ce l'ho qui sulla punta della lingua ma non mi viene), lo usava la Regione. Quelli del Vax capaci che andavano in giro con giacca e cravatta, come i loro rivali di IBM. E continuavano a scrivere tutto in maiuscolo.
Per contro si trovavano sempre più macchine più piccole ma più sexy con sopra UNIX (allora si scriveva così). Si diceva che Unix costava caro ma evidentemente no.

E ci ho messo su le mani anch'io. Era tutto diverso da com'eri abituato, o forse ero solo io che non sapevo adeguarmi.
Per i fortranisti l'importante era scrivere il codice in modo il più possibile standard, non legato a particolarità della macchina su cui sarebbe finito: fai che vada bene per il VAX e usa variabili per il numero dei file (l'equivalente Fortran dei descrittori) e sei a posto; poi uno del posto te lo compila, prepara il batch (sì, con il Fortran IV dovevi, poi con il '77 continuavi che tanto funzionava).

Unix era diverso. Intanto tutto era programmabile, anche la shell. Così si chiamava l'interprete dei comandi, nessuno sapeva perché. Perché nessuno leggeva i manuali.
A proposito i manuali ufficiali sono illeggibili per i pischelli; servono se ti sei dimenticato la sintassi e dandogli una scorsa dici "Ah, sì!". E devono rimanere tutti allineati sullo scaffale, guai a prenderne uno alla sera e portarselo a casa per leggerlo di notte (ebbene sì, confesso). C'erano però altri manuali (fotocopie di fotocopie) provenienti dal Poli (credo). Non sempre per la tua macchina (Sun era BSD, non Sys V).
Ma la cosa nuova era com'era fatto il sistema operativo. Cose nuove come i link (un file o una directory può avere più nomi, anzi a volte deve) e la pipe.
Ecco racconto questa e poi faccio pausa. Allora supponiamo di voler fare un calcolo: 6 * 7; abbiamo a disposizione bc (binary calculator), ecco


OK, ma non possiamo chiederlo in modo più semplice, così:


No, vediamo il manuale con man bc si ha:


No, a parte il fatto che non si capisce niente. Ma quando il gioco si fa duro ... ecco:


OK, semplice e elegante: l'output di echo viene canalizzato nel tubo | e diventa l'input di bc.
L'esempio è minimo, per far vedere il meccanismo, ma si può fare ben altro. E bc lo sepete che è programmabile? Ed è solo uno dei tanti tools disponibili. Per esempio certe cose che si facevano scrivendo un programmino in Fortran si possono fare con sed, awk, grep, ...
No! dice il capo, perché poi se andiamo su un'altra macchina non funziona. E inoltre dovremmo imparare un sacco di cose nuove, strane, con le parentesi graffe.


(da continuare, forse).

UNIX era diverso, guarda qui, quelli che l'hanno fatto.

12 commenti:

  1. C'era bisogno di scomodare tanti linguaggi e computer? la risposta è e sarà sempre 42!

    RispondiElimina
    Risposte
    1. È la domanda che ci servirebbe sapere.

      Elimina
    2. Perchè i miei commenti non compaiono? Il Grande FSM mi censura?

      Elimina
    3. Marco, non so perché non compaiano, ho controllato e non sono finiti nello spam.

      Elimina
    4. Mah, pazienza, mi è capitato un paio di volte, deve essere qualche impostazione di google sul mio PC. Don't worry.

      Elimina
    5. Marco (inteso come Bruno) insisti! Un tuo commento qui sarebbe bellissimo peché, come si vede (spero), io lo sto raccontando in modo molto personale, come ho vissuto la cosa. Se uno non era legato all'ingegneria civile (e affine) e architettura le cose sarebbero andate molto diversamente. Spero.
      Resta il mystero di come mai i tuoi commenti non compaiono. Hai litigato con Google? Hai preso le difese della (ex) signora Brin? Posso mettere io una buona parola?

      Elimina
    6. Marco B., mi è venuto un dubbio: a me capita abbastanza spesso di uiniziare un commento nell'apposito spazio bianco e di vederlo sparire mentre mi ritrovo al fondo del post. Devo allora ricominciare da capo.
      Ma chiaramente non è questo il tuo problema, deve essere come l'altra cosa che mi accade di tanto in tanto: scrivo il commento, scelgo di rispondere col mio profilo Google, come sempre, e premo "pubblica". Il commento resta lì in attesa, mentre compare al di sopra un rettangolino rosso. Solo se premo un'altra volta "pubblica" avviene l'invio.
      Con WordPress invece ho altri problemi più seri, in genere il commento viene cancellato mentre ancora sto cercando di farmi riconoscere dallo stradannato WP, infatti ho praticamente rinunciato a commentare sui blog di WP.

      Elimina
    7. Il rettangolino rosso compare per segnalare errori di scrittura. Inoltre credo non sia necessario selezionare ogni volta l'identità; dovrebbe tenerla. Però ci sono mille impostazioni, vassapere.

      Elimina
    8. Sì, infatti, devo aver fatto casino con G+.
      Il commento era che se la risposta è 42, allora la risposta e la domanda non possono esistere nello stesso universo (Adams, D., op. cit. ecc ecc) pena l'annichilazione dell'universo stesso. E se l'universo ha, come io ritengo, energia totale nulla, allora può nascere dal nulla e annichilarsi senza nemmeno un puff. Con me, te, e i 'puters :-)
      Tanti anni fa hanno cercato di impararmi (transitivo!) il C e la shell di Unix. Mi son rimasti dei bei ricordi; ma sono rimasto al mio assembler Z80 e ho cambiato funzione in azienda. Non ero nato per programmare in modo serio. Però, domanda seria: i tubi sono nati in Unix, o c'erano prima? Li usavo spesso per i batch DOS, che penso sia venuto dopo.

      Elimina
    9. È uno degli argomenti da me preferiti la|il pipe. Ho anche da qualche parte un appunto a riguardo, prima o poi lo stano e riferisco. In breve: come li conosciamo sono nati da un'idea di Doug McIlroy, agli albori di Unix. Il DOS li ha ma manca il supporto esteso che trovi con il SO. Volendo entrare nel difficile potrei anche parlare di come veniva gestita questa cosa da altri SO, tipo il COMO del Prime. Mi manca però una parte, come faceva VMS?

      Elimina
    10. Questo non lo so, mai usato il VMS. Ma vuoi che non ci sia in giro un emulatore di VMS sotto Windows?

      Elimina
  2. Bel post, come sempre...Racconti pregni di vita vissuta. ;)

    A proposito delle pagine man...A volte sono così tecniche che è difficile capire il tipo di sostanza che hanno usato per scriverle!

    RispondiElimina