Object Pascal History/it

From Lazarus wiki

Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

Storia (original author: Tao Yue, state: changed)

Origini

Pascal deriva da ALGOL, un linguaggio di programmazione destinato al calcolo scientifico. Riunendosi a Zurigo, un comitato internazionale aveva progettato ALGOL come un linguaggio indipendente dalla piattaforma. Ciò consentì di mantenere margini relativamente ampi nelle funzionalità incluse in ALGOL, ma rese anche più difficile scrivere dei compilatori che lo supportassero. Si tratta di un periodo storico in cui molti computer mancavano di caratteristiche hardware oggi scontate. Dato che mancava un compilatore ALGOL per molte piattaforme, ed allo stesso ALGOL mancavano i puntatori e molti tipi di dato fondamentali come i caratteri, il linguaggio non venne mai diffusamente accettato. Scienziati ed ingegneri migrarono a FORTRAN, un linguaggio di programmazione che era disponibile su diverse piattaforme. ALGOL perse importanza, eccetto che come linguaggio per descrivere algoritmi.

Wirth crea Pascal

Nel corso degli anni sessanta, molti scienziati informatici lavorarono per estendere ALGOL. Tra loro c'era il dottor Niklaus Wirth dello Swiss Federal Institute of Technology (ETH-Zurich), un membro del gruppo originario che aveva creato ALGOL. Nel 1971, pubblicò le sue specifiche per un linguaggio altamente strutturato che somigliava ad ALGOL da molti punti di vista. Gli diede il nome di Pascal, in onore del filosofo e matematico francese del diciassettesimo secolo che aveva costruito un calcolatore digitale meccanico funzionante.

Pascal è estremamente orientato ai dati, attribuendo al programmatore la possibilità di definire tipi di dato personalizzati. Accanto a questa libertà, prevede un rigido controllo di tipo, che preveniva confusioni tra i tipi di dato. Pascal era destinato ad essere un linguaggio adatto all'insegnamento, e fu largamente adottato in quest'ambito. Pascal è scorrevole, a differenza di FORTRAN, e si legge in modo simile ad un linguaggio naturale, rendendo molto semplice leggere il codice.

UCSD Pascal

Uno degli elementi che avevano determinato lo scarso successo di ALGOL era stata la difficoltà di creare un compilatore adeguato. Il dottor With ovviò a questa difficoltà facendo sì che il suo compilatore Pascal producesse un codice oggetto intermedio, indipendente dalla piattaforma. Un altro programma rendeva eseguibile questo codice intermedio.

Il professor Ken Bowles dell'Università della California a San Diego (UCSD) colse l'opportunità offerta da questa caratteristica per adattare il compilatore Pascal all'Apple II, il microcomputer più diffuso all'epoca. UCSD P-System divenne uno standard, e fu ampiamente impiegato dalle università. Ciò fu dovuto in parte al costo limitato di Apple II rispetto ai mainframe, che all'epoca erano necessari per eseguire altri linguaggi come FORTRAN. Il suo impatto sul calcolo può essere notato nella campagna pubblicitaria di IBM per il suo rivoluzionario Personal Computer che metteva in evidenza come il PC supportasse tre sistemi operativi: CP/M-86 di Digital Research, UCSD P-System di Softtech e PC-DOS di Microsoft.

Pascal diventa uno standard

All'inizio degli anni ottanta, Pascal era già largamente adottato dalle università. Due eventi contribuirono a renderlo ancora più popolare.

In primo luogo, Educational Testing Service, la compagnia che prepara e gestisce i principali esami di ammissione al college negli Stati Uniti, decise di introdurre un esame in Computer Science nei suoi esami Advanced Placement per gli studenti di scuola superiore. Per quest'esame scelse il linguaggio Pascal. Di conseguenza, gli studenti di scuola secondaria, così come quelli dei college, iniziarono ad imparare Pascal. Rimase il linguaggio ufficiale per gli esami AP sino al 1999, quando fu sostituito dal C++, che fu rapidamente rimpiazzato da Java.

Inoltre, una piccola compagnia di nome Borland International rilasciò il compilatore Turbo Pascal per Personal Computer IBM. Il compilatore era stato progettato da Anders Hejlsberg, che avrebbe in seguito guidato il gruppo, presso Microsoft, responsabile dello sviluppo di C# e della reintroduzione del Managed Code nel mondo del calcolo.

Turbo Pascal fu davvero rivoluzionario. Adottò alcune scorciatoie ed apportò alcune modifiche al Pascal standard, ma si trattò di cambiamenti minori e gli permisero di ottenere il suo più grande miglioramento: la velocità. Turbo Pascal compilava con una rapidità sbalorditiva: diverse migliaia di righe di codice al minuto. All'epoca, i compilatori disponibili per la piattaforma PC erano lenti e farraginosi. Quando Turbo Pascal vide la luce, fu una boccata d'aria fresca. In breve tempo, Turbo Pascal divenne lo standard "de facto" per la programmazione su PC. Quando PC Magazine pubblicava i sorgenti per programmi d'utilità, solitamente erano in assembly o Turbo Pascal.

Nello stesso periodo, Apple rese disponibile la serie di computer Macintosh. Dato che Pascal era il linguaggio di programmazione strutturata più diffuso a quel tempo, Apple lo scelse come linguaggio di programmazione standard per il Mac. Quando i programmatori ricevettero le API ed il codice d'esempio per la programmazione per Mac, tutto il materiale era in Pascal.

Estensioni

Tra la versione 1.0 e la 7.0, Borland continuò ad ampliare il linguaggio. Una delle criticità della versione originale di Pascal consisteva nell'impossibilità di compilare separatamente i moduli. Il dottor Wirth aveva anche creato un nuovo linguaggio di programmazione, Modula-2, per risolvere il problema. Borland aggiunse i moduli al Pascal con la sua funzionalità unit.

Al tempo della versione 7.0, erano state introdotte molte funzionalità avanzate. Una di queste era DPMI (DOS Protected Mode Interface), un modo per eseguire programmi DOS in modalità protetta, guadagnando maggior velocità e superando la barriera di 640K per l'accesso alla memoria in ambiente DOS. Turbo Vision, uno "windowing system" basato sul testo, permise ai programmatori di creare interfacce gradevoli in un tempo pressoché nullo. Pascal divenne anche object-oriented, adottando con la versione 5.5 l'estensione Object Pascal di Apple. Quando venne rilasciato Windows 3.0, Borland realizzò Turbo Pascal per Windows, portando la velocità e la facilità d'uso di Pascal alle interfacce grafiche.Sembrava che il futuro di Pascal fosse garantito.

Il mondo cambia

In conclusione, non fu così. Negli anni settanta, Dennis Ritchie e Brian Kernighan dei Laboratori Bell di AT&T crearono il linguaggio di programmazione C. Ritchie in seguito collaborò con Ken Thompson per progettare il sistema operativo UNIX. All'epoca AT&T godeva di un monopolio sancito dal governo per i servizi telefonici negli Stati Uniti. In cambio del monopolio, il suo business telefonico era regolato e vigeva la proibizione di entrare nel mercato dei computer. AT&T, non vedendo possibilità commerciali per un sistema operativo di ricerca, donò UNIX alle università, incluso il codice sorgente. In questo modo, un'intera generazione di studenti di informatica imparò il C nei corsi universitari sui linguaggi ed i sistemi operativi. Lentamente ma costantemente, il C iniziò a filtrare nel mondo della programmazione per computer.

Pascal subì un duro colpo negli anni novanta, quando molte compagnie si focalizzarono su altri linguaggi di programmazione. Microsoft, per esempio, si concentrò su Visual Basic e su C, ed Apple migrò le proprie API da Pascal a C e, più tardi, a Objective C. Nonostante la carenza di supporto da parte dei produttori di sistemi operativi, Pascal mantenne un'ampia base di utenti grazie a Delphi e Free Pascal.

Quindi, quali sono i vantaggi dell'imparare Pascal?

Sebbene abbia perso la sua precedente posizione dominante, Pascal è ancora piuttosto utile, con uno dei suoi maggiori punti di forza nella sintassi chiara, che fa uso di termini comuni, come begin/end, per esprimere i concetti, rendendo il codice più semplice da leggere e mantenere.

Un'altra ragione: velocità e ridotta dimensione. I compilatori Pascal sono velocissimi, e Delphi e Free Pascal non fanno eccezione. Mentre un programmatore C può trovarsi ad attendere per ore, uno sviluppatore Pascal deve attendere solo un minuto per un programma di dimensioni analoghe. Inoltre gli IDE per Pascal mantengono ancora una posizione guida in termini di produttività attraverso gli IDE Delphi e Lazarus.

Inoltre, Pascal resta il linguaggio d'elezione in molte università. Pascal era adatto per insegnare la programmazione, e rimane tale. Ci sono meno elementi superflui ed un numero minore di modi in cui uno studente può introdurre problemi in un programma. Per l'insegnamento della semplice programmazione procedurale, Pascal rimane un'ottima scelta. Al di fuori degli Stati Uniti, Pascal è stato più longevo nell'ambito dell'istruzione, e rimane uno dei linguaggi ufficiali delle Olimpiadi Internazionali d'Informatica. Una conoscenza elementare della programmazione è utile in molte professioni tecniche e Pascal è più semplice da imparare di C/C++.

Oggi Pascal mantiene una nicchia nel mercato grazie a Delphi, Free Pascal e Lazarus. Molti programmi su piccola scala in ambito freeware, shareware, open-source e commerciale sono scritti in Pascal/Delphi. Quindi, divertitevi ad impararlo. È un'ottima introduzione alla programmazione. Non è "pericoloso" come C, complesso come C++ o lento come Java.


 ◄   ▲   ►