PHP UN LINGUAGGIO PER COMPUTER CONTRO TUTTI!

PHP
Spread the love

PHP UN LINGUAGGIO PER COMPUTER CONTRO TUTTI!
Report di Lorenzo Romano Gennaio 2021 ©

In realtà il linguaggio PHP per computer non è proprio l’ultimo arrivato perché fu presentato negli
anni ’90 e trovò subito espansione con l’installazione di canali telefonici relativamente veloci (9800
bit/s contro i 300 bit/s dei precedenti) ma la sua performance migliore la si ritrova sulle tratte in
fibra ottica.
Anche la sua architettura non è nuova ma deriva da un paradigma nientemeno che utilizzato dalla
IBM per le sue stampanti degli anni ’60.
In effetti la IBM scaricava la cpu dall’inutile tempo perso per la formattazione degli elaborati,
delegando al server di stampa l’insieme di dati e dei comandi per il salto riga, il font,
eventualmente il colore nei programmi grafici, ecc.
Va tenuto presente che la maggior parte degli utenti afferisce a sistemi condivisi nel rapporto
server – client, per cui l’elaborazione dati su un sistema centralizzato diviene indispensabile!
PHP espande questo concetto perché elabora “in casa” (cioè nel server) messaggi e li trasforma in
HTML “puro” da inviare alle stampanti e/o al video posto dal lato client. In questo modo il PC o il
cellulare o il tablet che sia, non dovrà disporre che solo di un ottimo browse Internet.
Ciò ha dei notevoli vantaggi perché, ad esempio, mentre la memoria dei PC è quasi sempre
espandibile a livello Gigabyte con una spesa minima, quella degli altri dispositivi non lo è perché
sigillata in fabbrica e qualora l’utente abbia necessità di installare più programmi o qualche
programma aggiuntivo che non può lavorare nella sim d’espansione (tra l’altro in genere poco
affidabile), si vede costretto suo malgrado a scartare il proprio attuale cellulare per acquistarne un
altro con più memoria centrale e ovviamente di costo maggiore, con estrema gioia dei produttori!

Chi ha avuto esperienza con i primi linguaggi di programmazione quali il Fortran, l’Assembler, il
Cobol fino al PL1 perché subito dopo entrò in scena il primo linguaggio C di Dennis Ritchie che
insieme Ken Thompson (**) con il quale perfezionò il sistema Unix della Bell passando dal
minuzioso Assembler al formidabile C, vi ritroverà molte cose comuni.
Ecco, dico questo per introdurre una fantastica proprietà del PHP: detto linguaggio è una sorta di
macedonia di gusti vari perché può miscelarsi tranquillamente con altri linguaggi, tra i quali i più
importanti sono i database multidimensionali: il maestoso Oracle e il leggerissimo MySQL, non ho
esperienza d’interfaccia con DB2 IBM la cui installazione è accessibile anche su PC, perché l’ho
usato solo su mainframe delle classi 370 – 9000.
Questa grande flessibilità di PHP si ottiene con modeste definizioni entrando ed uscendo da una
subroutine o da un plug-in; ad esempio se il programma principale è un costrutto HTML (e in
genere è così), si accede a una elaborazione PHP semplicemente inserendo parametri e strutture
nei limitatori di paragrafo <? ?> Funziona così anche l’accesso ai DB basta scrivere nel
paragrafo la stringa di connessione e il database interessato può essere ovunque.
Se avete notato, nel breve excursus di queste righe, abbiamo carrellato praticamente una serie di
caratteristiche che rendono PHP un liguaggio di livello specialistico elevatissimo senza peraltro
rimanere complicato per chi deve scrivere programmi sorgenti, forse risultano un po’ tediosi
(caratteristica del Cobol e dell’Assembler), oppure complicati come le routine scritte in C
fattispecie in C++ Object Oriented. A me quest’ultima caratteristica non piace affatto perché rende
complicata la manutenzione correttiva e/o evolutiva di un programma se fatta a distanza di tempo
e/o da altri programmatori. PHP permette di costruire strutture autodocumentate, estremamente
lineari, facili da espandere e da manutenere come nel caso di aggiornamento del sistema
operativo e/o dei software di comunicazione. Allora perché complicarsi la vita nell’aggrovigliarsi in
routine complesse a meno che non sia strettamente necessario?
La prossima puntata parlerò di security sperando di avere contributi tematici da parte dei lettori!
=============

(**) Si racconta che Thompson, come tutti gli ingegneri di alto livello, dopo la consegna di un progetto godevano di un po’ di tempo libero e guarda caso lui scrisse un programma per giocare a scacchi basato su un PC prototipo Bell 32A. Lì nacque Unix, il primo sistema operativo dotato d’interfaccia real-time. Prima, compreso i Word processor, elaboravano in batch mentre con Unix si dialogava direttamente con la CPU grazie al modulo “round robin” che assegnava in polling fisso o dinamico le priorità a tutte le procedure afferenti al kernel.

IBM, UNIVAC, RCA, Honeywell ed altri capirono con decenni di ritardo che la realizzazione di programmi RT (real time) sono molto più vantaggiosi ed economici rispetto alle elaborazioni batch, non tanto per la potenza delle CPU utilizzate, quanto per i tempi di risposta ottenibili a fronte di una richiesta urgente di una informazione. In effetti molto colossi uscirono di scena…

Un ricordo interessante: sviluppai un programma di conversione tra una basedati operativa su una procedura batch residente su mainframe – dai tempi inaccettabili per detto motivo – e la medesima convertita in Cobol su VAX 6000, il primo tra caricamento e l’elaborazione di circa 1,5 milioni di righe di General Ledger impiegava quasi 5 minuti (la schedulazione era di tipo sequenziale con altre centinaia di programmi ininterrompibili), mentre il piccolino VAX con solo 1 Gbyte di memoria centrale e grossomodo lo stesso carico di programmi, impiegò un po’ meno di 35 secondi. Ciò fu possibile grazie alla differente funzione del memory management in grado di mappare l’intero Gigabite nei pochi millisecondi nei quali il “round robin” assegnava ora il disco, ora la memoria al programma interessato!

 

SviluppoMania
Stay Tuned!


Spread the love

SviluppoMania - Francesco Candurro

Articoli correlati

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.