|
Il
fallimento continuo dei progetti software che, quando
va bene, costano più del doppio di quanto preventivato
all’inizio, obbliga le software house a rilasciare
versioni bacate da far paura. Insomma il “prodotto
software” sfugge a tutte le leggi industriali
ed è arrivato il momento di mettere freno a questa
debacle generalizzata.
A far ciò ci pensa il mondo accademico che se ne
esce con una idea non proprio nuovissima, ma
fino al quel momento relegata a prodotti di nicchia
(accademici, appunto) quali Smaltalk, tanto per fare
un nome che tutti hanno sentito almeno una volta.
Questo linguaggio, teorizzato da Adele Goldberg, che
pure ci ha scritto il manifesto consistente in tre
libri che fanno ormai parte della storia dell’informatica,
è quantomeno strano: tutto è una classe, addirittura
i numeri interi! Ma guarda: anche qualche
nuova entry nel mondo della programmazione
parte dallo stesso punto…
Comunque sia
per salvare la programmazione è d’uopo adottare
tutti gli accorgimenti che possono realizzare il sogno
cullato da tempo: il riutilizzo del codice. Fino
al ’90 il riutilizzo del codice veniva
realizzato con il più classico dei copia-incolla:
prendevi un programma che ci somigliava e lo modificavi.
Quello che distingueva un programmatore Senior dalla
sua controparte Junior era
praticamente la ricchezza di questo repository di
esempi e poco altro. Magari il Senior di turno non
sapeva come approcciare un problemino ricorsivo, ma
era sicuramente forte nel classico giro di ronda:
“lettura-presentazione-report”
e ti buttava giù una fatturazione in un pomeriggio.
Uno di questi “Programmatori Senior”,
che sviluppava in COBOL, mi mostro’ un giorno
con orgoglio un programma che si chiamava “ESEMPIO.COB”,
dal quale a suo dire, traeva tutti gli algoritmi che
gli servivano!
Quando
cominciano ad apparire i primi strumenti non troppo
lontani dalle conoscenze gia’
acquisite (il C++ e’ stata la molla)
nascono anche le riviste espressamente dedicate alla
programmazione ad oggetti, come questo “Object
Oriented Programming Journal”, di chiara derivazione
accademica ma anche molto “con i piedi per terra”,
si propone come punto di aggregazione dei nuovi adepti.
Tutto
sommato, superato il primo imbarazzo e messa in saccoccia
la differenza fra classe ed oggetto, questa
OOP comincia a non fare più paura e magari
è pure divertente, soprattutto se appaiono prodotti
marchiati Borland, come il primo “Turbo C++”
uscito proprio nel 1990.
La Borland, il cui merito
principale è stato il Turbo Pascal negli anni del
primo PC, ci ha provato con quasi tutti i linguaggi
apparsi sulla scena e ci prova tuttora, anche se è
molto più duro adesso con la potenza della Microsoft
che trita praticamente tutti. Vi ricordate del “Turbo
Prolog”? Un progetto incredibile per un linguaggio
incredibile che però ha tenuto banco per un po’
di tempo, fino a che la gente non ha capito che non
ci poteva fare praticamente
nulla di vendibile.
All’inizio
della sua storia “pubblica” la programmazione
OOP non è però decisa: quali linguaggi, quali principi?
Chi preme per il C++, chi invece ci vede la rivincita
dello SmalTalk, ed infatti
molta pubblicità su questo fascicolo ne fa trasparire
le caratteristiche descritte come “innovative”
e assolutamente “irrinunciabili”. SmalTalk
può anche piacere ma è evidente che il vincitore sarà
un linguaggio non troppo distante dal vero re: il
C. Personalmente considero una brutta sconfitta la
quasi rinuncia del Pascal a questa lotta, pazienza…
Oggigiorno
si può dire che la programmazione ad oggetti è il
paradigma principale, quello che viene
insegnato nelle scuole, mentre i linguaggi, vecchi
e nuovi hanno tutti un qualcosa di object-oriented.
Perfino il COBOL, per non parlare del Basic, accettano le classi e chiamano “metodi” le funzioni
di modifica dei dati.
Ad
Excelsior,
sonicher@webriviste.com |