Variabili - un po' di storia

di il
4 risposte

Variabili - un po' di storia

Quando ho cominciato a programmare, cioè 27 anni fa, c'erano dei PC, per modo di dire, che avevano una memoria di 64 kB, cioè 65536 Byte. In questo spazio ci doveva stare tutto, compreso il sistema operativo.

Io ho avuto la rara occasione di imparare su un PC a 32 bit, un cosiddetto MIDI-Computer, il P6066 dell'Olivetti, che era uno dei migliori dei tempi passati, e venne definitivamente sostituito dal 80386 in poi. Il suo sistema operativo era accessibile e programmabile in BASIC, molto simile al GW-BASIC del MS-DOS. La maggioranza dei comandi di sistema si faceva con i tasti di funzione F1-F8, cablati direttamente al hardware, e raggiungibile via software solo con salti mortali, ma questa è un'altra storia. Per non appesantire troppo la memoria, il P6066 aveva il lusso di due floppy da 7", credo, se non più grandi, con una capacità di 320 kB ciascuno. Su uno era il sistema operativo, sull'altro il programma.

Quasi tutti i veterani programmatori hanno imparato a scrivere programmi su questo genere di computer, e hanno sfruttato le capacità del sistema operativo al meglio, adeguandosi alle regole della memoria ristretta. Sul P6066 si potevano scrivere programmi in BASIC con al massimo 9999 righe, eppure si riusciva a scrivere dei programmi ad altissimo livello. Io ad esempio, ho collaborato per diversi anni a un progetto satellitare per progettare autostrade.

I tipi delle variabili erano più o meno fisse, e potevano occupare una sola lettera. Le lettere A-F erano riservate per le stringhe, non più di 80 caratteri ciascuna, G-Q per gli integer a 16 bit, R-Z per i numeri con virgola mobile. In più, si potevano creare array di una o più dimensioni.

Se vi è mai capitato a leggere il codice di allora, vi sarete accorto che è piuttosto difficile capire cosa fa un determinato programma, proprio perché i nomi dei variabili sono così limitati. Tuttavia, anche nei tempi moderni, si scrive spesso:

Dim a$
Dim i%

For i = 1 To 10
a = a + "b"
Next

E perché? Perché i veterani hanno dettati alcune regole di programmazione che sono tuttora valide, almeno per le cose semplici.

Oggi si potrebbe dire tranquillamente:

For intContatore = 1 To 10
strStringa = strStringa + "b"
Next

Ma nessuno lo fa, anzi, in certi casi diventa illeggibile il codice perché i nomi delle variabili sono troppo esplicite. Poi era (ed è ancora) anche abbastanza facile ricordarsi che:

A = alfanumerico
I = integer
R = numero reale

Tutto lì. Ma chi studia oggi, forse non viene a sapere il perché, e crede che si tratta di una stupida abitudine, come ci sono molte...

Giovanni
---
http://www.y2ksw.com/vbulletin

Scritto da: y2ksw on 05/11/2004 20:07:49

4 Risposte

  • Re: Variabili - un po' di storia

    Per fortuna adesso i computer si sono evoluti sia dal punto di vista hardware che dal punto di vista software. Infatti dal punto di vista software esiste una versione più evoluta del Basic di una volta (esiste il visual Basic), mentre dal punto di vista hardware riferendosi alla memoria Ram siamo finalmente arrivati alla capienza di 1 GB.

    Riprendendo il discorso delle variabili con l'evoluzione del BASIC (mi riferisco al Visual Basic) mettendo a livello di modulo la clausola Option Explicit possiamo risolvere un problema annoso del programamtore, la dichiarazione obbligatoria delle variabili da utilizzare nel programma. Perchè basta che si compia un errore ortografico nella scrittura del nome della variabile e non si indica Option Explicit, quella variabile viene dichiarata in modo implicito e se non tipizzata si spreca anche memoria ram in funzioni di variabili dichiarate in quest'ultimo modo.

    Nell'evoluzione del Basic esiste una variabile di tipo speciale cioè Variant (ossia una variabile che può memorizzare tutti i tipi di dati ammessi da Visual Basic, integer,double,long,boolean,string,byte,date,time,ecc ecc)

    A presto!!
  • Re: Variabili - un po' di storia

    Una cosa su cui riflettere é la velocità con cui si evolve la tecnologia informatica:

    Ricordo che nel 90 (circa) un mio amico comprò un 80286, spese 3 milioni ma aveva comprato un mostro.
    Con 512 kbyte di ram, 6 Mhz di clock e il tastino turbo per farlo andare a 12 Mhz era visto come un gioiello della tecnologia.
    Nel 94-95 (circa) comprai il Pentium 100 Mhz all' epoca con 8 Mb di Ram.
    La distanza tecnologica era notevole tra i due pc ed erano passati solo pochi anni.
    Adesso siamo notevolmente avanti rispetto al citato Pentium 100.
    L' avanzamento tecnologico ha spianato la strada allo sviluppo di sistemi operativi e linguaggi di programmazione sempre + complessi richiedenti maggiori risorse di sistema.
    Adesso quando apro il task manager e vedo 300 Mega di ram occupata da processi vari penso al mio vecchio Pentium che aveva solo 8 Mega di memoria in cui doveva girare sistema operativo e programmi vari(swappava un bel po' sull' hd però con 8 mega di ram tanto di cappello)

    Mi sa che utile e doveroso recuperare un po di materiale e tracciare la storia dell' evoluzione dei computer ad oggi.
    Partirei dal Mark1.
    Che ne dite?

    A volte basta un solo carattere sbagliato nel codice sorgente per mettere in crisi un' intera applicazione...
  • Re: Variabili - un po' di storia

    Salve,

    Per me può essere utile al fine di capire che se siamo arrivati ad oggi c'è una storia anche per l'evoluzione dei computer da raccontare in modo da capire come mai si sono evoluti determinati sistemi operativi, linguaggi di programmazione,ecc ecc.
  • Re: Variabili - un po' di storia

    Concordo che di storia informatica c'è ben poco e sarebbe interessante averne più informazioni al riguardo, e non solo. Sogno mio, e credo che rimarrà tale, è avere anche i vari computer (o anche schede di memoria, componenti arcaici, mangianastri, il primo prototipo di un disco fisso), per quanto si possono ancora trovare.

    Giovanni
    ---
    http://www.y2ksw.com/vbulletin
Devi accedere o registrarti per scrivere nel forum
4 risposte