venerdì 16 agosto 2013

Ma tu cosa facevi con il computer?

Io da piccolo mi occupavo di computer. Questo per dire che vorrei continuare con qualcosa di simile al post Apple II e il Mac anche se non parlo dei personal ma di quelli che usavo io, dal 1979 e per un po' di anni. Anche perché i personal erano nuovi, non ancora entrati nel'uso professionale.


Io ero con un gruppo di ingegneri e il computer tornava utile a fare i calcoli, quando questi erano molti e ripetitivi. Le cose sono molto cambiate da allora. Quelli di qualche anno più vecchi di me usavano il regolo calcolatore, io ero già della generazione delle calcolatrici; ne ho parlato qui: Prima della prima.

Ero giovane anche per l'uso del computer: prima di me c'erano state due generazioni di programmatori:
  • quelli che usavano l'assembler (si dovrebbe dire assembly ma poi nessuno ti capisce;
  • quelli che usavano un linguaggio da compilare e avevano soppiantato quasi completamente gli assebleristi.
Ecco, io ero con il secondo tipo di programmatori.
E quindi? Adesso ci arrivo. Intanto niente grafica (cioè io sì, ero addetto a un plotter che sarebbe una stampante che stampa su un foglio delle dimensioni di un metro quadrato), ma si trattava solo di numeri.

Vi faccio un esempio, piccolissimo, per rendere l'idea. Agli ing. capita spesso di dover fare calcoli noiosi; per esempio data l'equazione

x3 - 2x2 + 3x - 20.692 = 0

qual è il valore di x?

Ecco, entro in gioco io! Scrivo un programmino che mi aiuta. Allora l'avrei scritto in modo completamente diverso ma per capirci vi faccio vedere come farei adesso, usando Python:


import sys

def valfunc(x):
    return x**3 - 2 * x**2 + 3 * x - 20.692

x = float(sys.argv[1])
print valfunc(x)

ed ecco, prima di subito:


Ah! quando meno te lo aspetti salta fuori lui: π
Naturalmente qui i calcoli erano davvero pochi, il 'puter non sarebbe stato necessario; ma immaginate di doverne fare 1000 ecco che allora comincia a essere una cosa da prendere in considerazione.

Ma, potrebbe chiedere qualcuno1, i computer, allora, erano tutti per quel genere di cose?
Certo che no, risponderei io. Ce n'erano di almeno tre tipi, ognuno con un suo linguaggio di programmazione2.

Chi doveva fare calcoli (macinare numeri, number crunching) usava il Fortran. Fortran sta per Formula Translation e consiste in un modo per rappresentare le equazioni simile a quello dei matematici.

Ma il mio compito è diverso, disse Scrooge McDuck. Io voglio usarlo per la contabilità, devo fare principalmete somme e sottrazioni. Per esempio se viene un correntista a depositare 100 € devo aumentare il suo conto di 100; se viene a prelevare verifico che la somma richiesta sia sul suo conto e lo scalo dallo stesso. Certo poi ci sono gli interessi, sì servono anche le moltiplicazioni ma la cosa più importante è tenere aggiornati i conti. Ecco allora il Cobol.



Ovviamente fin da subito c'è stato chi ha saggiamente fatto notare che questi in fondo erano cose triviali, dai su, "fatti non  foste a viver come bruti" (cit.). Ecco io ero del primo tipo; ma molto più attratto a questo.


1. e se non lo fa lo faccio io.
2. in realtà c'erano già allora più linguaggi, sto parlando dei principali. Oggi poi il loro numero è davvero grandissimo. E continuano a uscirne di nuovi.

9 commenti:

  1. Ecco, proprio di post come questo parlavo, post davvero utili perché raccontano un'esperienza diretta.
    Solo che adesso non te la cavi mica... a qualche domanda devi rispondere:
    1) qual'era l'utilità di stampare sul plotter le varie operazioni.
    2) hai fatto l'esempio di come faresti oggi usando Python, ma allora cosa usavi Fortran?
    3) sulle tre tipologie di usi e relativi linguaggi, chiare le prime due "categorie", sulla terza intuisco qualcosa ma un aiutino in più non mi dispiacerebbe. Va bene la filosofia del "stai sbagliando tutto", ma mi aiuterebbe sapere chi è il tizio nella foto. Ricorda sempre che io son ciofane ☺.
    4) ultima domanda (lo giuro). So che all'università ancora si studiano Fortran e Cobol (almeno per quel po' che so io). Ritieni sia ancora valido farlo oggi?

    RispondiElimina
    Risposte
    1. Il plotter serviva a produrre disegni, derivati anche dalla soluzione di equazioni.
      Il terzo uomo è John McCarthy, forse ne riparlo; per intanto cercalo sulla Wiki (come faremmo senza...).

      Elimina
    2. OK, mi sembrava strano infatti che il plotter venisse usato per stampare operazioni e/o risultati.
      Di John McCarthy avevo letto qualcosa, ma non riconoscevo il suo faccione. Approfitto per fare un po' di ricerche e saperne di più. Grazie.

      Elimina
    3. Quell'immagine io la uso spesso, anche a sproposito. Se trovi qualcosa di interessante potresti raccontarcelo; io in cambio potrei lanciarti sul Lisp (anche con Windows).

      Elimina
    4. Ho trovato questo
      No, vabè, in realtà c'è pure questo, e taaanto altro. Prima di scriverne dovrei studiare un bel po' e non so se...

      Elimina
  2. (Ehi, quello non è trovare la x, eh! :-) )

    RispondiElimina
    Risposte
    1. Hai ragione; ho semplificato troppo. Ma: 1) 5 righe di script; 2) davvero gli ing. fanno così; e 3) si accontentano di valori approssimati.

      Elimina
    2. Un po' più in dettaglio: Newton–Raphson method. C'è anche in italiano ma ininglese è più completa e c'è l'animazione.

      Elimina
  3. Questo commento è stato eliminato dall'autore.

    RispondiElimina