In questo post la premessa
La memoria
Non c'entra nulla questa canzone anche se ogni tanto fa piacere ascoltarla. Veniamo al dunque
Come tutti sanno c'era il linguaggio Assembler, diverso per ogni tipo di Computer ed orientato all'architettura fisica della macchina, ed i linguaggi di livello più elevato (ah! Ah!) del tipo Fortran Cobol, Pascal che in teoria potevano essere scritti indipendentemente dal computer su cui sarebbero dovuti essere eseguiti: venivano dati in pasto a degli appositi programmi specifici del computer ospite che ne leggeva il sorgente e mediante il compilatore produceva il “codice oggetto” ed il linker che creava l'eseguibile. C'erano poi i linguaggi “interpretati” ma non ne parlo ora.
Ebbene supponiamo che in un linguaggio simil Fortran si fosse dovuto definire un vettore di 100 interi e nella diciamo 3 posizione mettere un certo valore, diciamo 47, invece di fare
DIMENSION INTEGER IARRAY(100)
e poi nel codice
IARRAY(3)=47
conveniva fare
DIMENSION INTEGER IARRAY(100)
INTEGER IPIPPO
EQUIVALENCE (IPIPPO, IARRAY(3))
e nel codice scrivere
IPIPPO =47
Trucchetti di questo genere permettevano di avere dei codici oggetto e di conseguenza degli eseguibili di qualche byte più corti, evitando la sgradevole segnalazione : Illegal memory size o simili che rendevano l'eseguibile non eseguibile.
Ora se penso a questi giochetti o altre simile amenità per risparmiare qualche byte di memoria e leggo che si costruiscono centrali elettriche per alimentare data center ... OK questi dati contengono informazioni importanti, che possono permettere di agevolare il lavoro di un ecografista o avvisare gli utenti della strada su intoppi momentanei, ma contengono anche le foto e i video che la casalinga di Voghera fa al suo piatto di risotto ai peperoni o il selfie che il signor Chu Chan Cho si fa davanti al Colosseo, i video di gattini che mangiano….
Allora contengano anche le mie considerazioni, poco interessanti per la maggior parte della gente!
Nessun commento:
Posta un commento