A History of Computer Programming Languages (Italiano)

Questa storia è stata scritta nella primavera del 2000 quando ero in terza media. Per diversi anni dopo averlo scritto, il testo era disponibile online ed è diventato un riferimento per altri articoli, voci di Wikipedia e persino corsi universitari. Ho messo il rapporto qui per i posteri e il divertimento (come avrei potuto lasciare fuori Python??). Nel 2004, ho fatto due aggiornamenti in risposta alle critiche via e-mail, ma il testo è altrimenti invariato. Per un riferimento più aggiornato, ti indico spudoratamente Wikipedia.,
— Andrew Ferguson

A History of Computer Programming Languages

Fin dall’invenzione del motore di differenza di CharlesBabbage nel 1822, i computer hanno richiesto un mezzo per istruirli per eseguire un compito specifico. Questo significa che è noto come linguaggio di programmazione. Le lingue di computer furono composte per la prima volta da una serie di passi per cablare un particolare programma; questi si trasformarono in una serie di passaggi chiave nel computer e poi eseguiti; più tardi queste lingue acquisirono caratteristiche avanzate come la ramificazione logica e l’orientamento degli oggetti., Le lingue informatiche degli ultimi cinquant’anni si sono articolate in due fasi, la prima delle lingue principali e la seconda delle lingue principali, oggi in uso.

All’inizio, il motore di differenza di Charles Babbage poteva essere fatto solo per eseguire compiti cambiando le marce che eseguivano i calcoli. Quindi, la prima forma di un computerlingua era movimento fisico. Alla fine, il movimento fisico fu sostituito dasegnali elettrici quando il governo degli Stati Uniti costruì l’ENIAC nel 1942., Seguiva molti degli stessi principi del motore di Babbage e, quindi, poteva essere ” programmato “solo preimpostando gli interruttori e ricablando l’intero sistema per ogni nuovo” programma” o calcolo. Questo processo si è rivelato molto noioso.

Nel 1945, John Von Neumann eralavoro presso l’Istituto di Studi avanzati. Ha sviluppato due importanticoncetti che hanno influenzato direttamente il percorso dei linguaggi di programmazione per computer.Il primo era noto come “tecnica del programma condiviso” (www.softlord.com). Thistechnique ha dichiarato che l’hardware del computer reale dovrebbe essere semplice e notneed essere cablato a mano per ogni programma., Invece, istruzioni complesse shouldbe usato per controllare l’hardware semplice, permettendogli di essere riprogrammato muchfaster.

Era anche il secondo concettoestremamente importante per lo sviluppo dei linguaggi di programmazione. Von Neumann lo ha chiamato “trasferimento di controllo condizionale” (www.softlord.com). Questa idea deriva dalla nozione di subroutine, o piccoli blocchi di codice che potrebbero essere saltati in qualsiasi ordine, invece di un singolo insieme di passi ordinati cronologicamente per il computer., La seconda parte dell’idea affermava cheil codice del computer dovrebbe essere in grado di diramarsi in base a istruzioni logiche come IF(expression) THEN e in loop come con un’istruzione FOR. “Conditionalcontrol transfer “ha dato origine all’idea di” librerie”, che sono blocchi di codice che possono essere riutilizzati più e più volte. (Aggiornato il 1 agosto 2004: In questo periodo, Konrad Zuse, un tedesco, stava inventando i propri sistemi di calcolo in modo indipendente e sviluppato molti degli stessi concetti, sia nelle sue macchine che nel linguaggio di programmazione Plankalkul. Ahimè, il suo lavoro non è diventato ampiamente conosciuto fino a molto più tardi., Per ulteriori informazioni, vedere questo sito: http://www.epemag.com/zuse/, o le voci su Wikipedia: Konrad Zuse e Plankalkul.)

Nel 1949, pochi anni dopo il lavoro di Von Neumann, apparve il breve codice linguistico (www.byte.com). Era il primo linguaggio informatico per dispositivi elettronici e richiedeva al programmatore di cambiare le sue istruzioni in 0 e 1 a mano. Tuttavia, è stato il primo passo verso le lingue complesse dioggi. Nel 1951, Grace Hopper scrisse il primo compilatore, A – 0 (www.byte.com)., Acompiler è un programma che trasforma le istruzioni della lingua in 0 e 1 per far capire al computer. Ciò porta a una programmazione più veloce, poiché ilprogrammatore non doveva più fare il lavoro a mano.

Nel 1957, la prima delle principali lingue apparve sotto forma diFORTRAN. Il suo nome sta per FORmula TRANslating system. Il linguaggio eraprogettato presso IBM per il calcolo scientifico. I componenti erano molto semplici, efornito al programmatore un accesso di basso livello alle interiora dei computer., Oggi, questo linguaggio sarebbe considerato restrittivo in quanto includeva solo istruzioni IF, DO e Goto, ma all’epoca questi comandi erano un grande passo avanti. I tipi di dati di base in uso oggi hanno avuto il loro inizio in FORTRAN, questi includevano variabili logiche (VERO o FALSO) e numeri interi, reali e a doppia precisione.

Anche se FORTAN era bravo a handlingnumbers, non era così bravo a gestire input e output, che importava mostto business computing. Business computing ha iniziato a decollare nel 1959, ea causa di ciò, COBOL è stato sviluppato., È stato progettato da zero comela lingua per gli uomini d’affari. I suoi unici tipi di dati erano numeri e stringhe oftext. Ha anche permesso di raggrupparli in array e record, in modo che i dati potessero essere monitorati e organizzati meglio. È interessante notare che il programma aCOBOL è costruito in modo simile a un saggio, con quattro o cinque sezioni principali che si integrano in un insieme elegante. Anche le dichiarazioni COBOL hanno un moltogramma simile all’inglese, che lo rende abbastanza facile da imparare. Tutte queste featureswere progettato per renderlo più facile per il business medio per imparare e adoptit.,

(Aggiornato l ‘ 11 agosto 2004) Nel 1958, John McCarthy di MITcreated il linguaggio LISt Processing (o LISP). È stato progettato per la ricerca ArtificialIntelligence (AI). Poiché è stato progettato per un campo specializzato, ilil rilascio originale di LISP aveva una sintassi unica: essenzialmente nessuno. I programmatori hanno scritto il codice in alberi di analisi, che di solito sono un intermediario generato dal compilatore tra sintassi più alta (come in C o Java) e codice di livello inferiore., Un’altra differenza evidente tra questa lingua (in forma originale) e altre lingue è cheil tipo di dati di base e unico è la lista; a metà degli anni 1960, LISP acquisì altri tipi di dati. Un elenco LISP è indicato da una sequenza di elementi racchiusi daparentesi. I programmi LISP stessi sono scritti come un insieme di elenchi, cosìLISP ha la capacità unica di modificarsi e quindi crescere da solo., TheLISP sintassi era conosciuto come “Cambridge polacco”, come è stato molto diverso fromstandard logica Booleana (Wexelblat, 177):

  • x V y – Cambridge polacco, che è stato utilizzato per descrivere il LISP programma.
  • O(x,y) – tra parentesi notazione prefissa, che cosa è stato usato in LISP programma.
  • x O y standard di logica Booleana

LISP rimane in uso oggi a causa del suo personale altamente specializzato e abstractnature.

Il linguaggio Algol è stato creato da acommittee per uso scientifico nel 1958., Il suo contributo principale è essere la radice dell’albero che ha portato a linguaggi come Pascal, C, C++ e Java.It fu anche la prima lingua con una grammatica formale, conosciuta come Backus-NaarForm o BNF (McGraw-Hill Encyclopedia of Science and Technology, 454). ThoughAlgol implementato alcuni concetti nuovi, come la chiamata ricorsiva di funzioni, la prossima versione del linguaggio, Algol 68, è diventato gonfio e difficile touse (www.byte.com). Ciò ha portato all’adozione di lingue più piccole e più compatte, come Pascal.

Pascal è stato iniziato nel 1968 da NiklausWirth., Il suo sviluppo è stato principalmente per necessità di un buon insegnamento tool.In all’inizio, i progettisti di lingue non avevano speranze di godersiadozione diffusa. Invece, si sono concentrati sullo sviluppo di buoni strumenti per l’insegnamento, come un sistema di debugger e di editing e il supporto per le comuni macchine a microprocessore che erano in uso negli istituti di insegnamento.

Pascal è stato progettato in un approccio molto ordinato, ha combinato molte delle migliori caratteristiche dei linguaggi in uso all’epoca, COBOL, FORTRAN e ALGOL., Nel farlo, molte delle lororegolarità e dichiarazioni stravaganti di queste lingue sono state ripulite,il che ha aiutato a guadagnare utenti (Bergin, 100-101). La combinazione di caratteristiche, input / output e solide caratteristiche matematiche, lo ha reso un linguaggio di grande successo. Pascal ha anche migliorato il tipo di dati “puntatore”, una caratteristica molto potentecaratteristica di qualsiasi linguaggio che lo implementa., Ha anche aggiunto un’istruzione CASE, che ha permesso alle istruzioni di diramarsi come un albero in questo modo:

Pascal ha anche aiutato lo sviluppo di variabili dinamiche, che potrebbero essere create mentre un programma veniva eseguito, attraverso i comandi NEW e DISPOSE.Tuttavia, Pascal non ha implementato array dinamici, o gruppi di variabili,che si sono rivelati necessari e hanno portato alla sua caduta (Bergin, 101-102). Wirthlater ha creato un successore di Pascal, Modula-2, ma quando è apparso, C stava guadagnando popolarità e utenti ad un ritmo rapido.,

C è stato sviluppato nel 1972 da DennisRitchie mentre lavorava ai Bell Labs nel New Jersey. La transizione nell’uso fromthe prime lingue principali per le lingue principali di oggi si è verificato con thetransition tra Pascal e C. I suoi antenati diretti sono B e BCPL, ma itssimilarities a Pascal sono abbastanza evidenti. Tutte le caratteristiche di Pascal, compresi quelli nuovi come la dichiarazione caso sono disponibili in C. C usespointers ampiamente ed è stato costruito per essere veloce e potente a scapito ofbeing difficile da leggere., Ma poiché ha risolto la maggior parte degli errori che Pascal aveva, itwon sugli utenti ex-Pascal abbastanza rapidamente.

Ritchie ha sviluppato C per il nuovo Unixsystem in fase di creazione allo stesso tempo. Per questo motivo, C e Unix vanno di manomano. Unix offre a C funzionalità avanzate come variabili dinamiche, multitasking, gestione degli interrupt, biforcazione e input-output di basso livello. A causa di questo, C è molto comunemente usato per programmare sistemi operativi come Unix, Windows, macOS e Linux.

Alla fine del 1970 e all’inizio del 1980,un nuovo metodo di programmazione è stato sviluppato., Era conosciuto come Object OrientedProgramming, o OOP. Gli oggetti sono pezzi di dati che possono essere confezionati emanipolati dal programmatore. Bjarne Stroustroup è piaciuto questo metodo eestensioni sviluppate a C conosciute come ” C con classi.”Questo insieme di estensionisviluppato nel linguaggio C++ completo, che è stato rilasciato nel 1983.

C++ è stato progettato per organizzare la potenza di C usando OOP, ma mantenere la velocità di C ed essere in grado di funzionare su moltidiversi tipi di computer. Il C++ è più spesso usato nelle simulazioni, come ad esempiogiochi., C++ fornisce un modo elegante per monitorare e manipolare centinaia ofinstances di persone in ascensori, o eserciti pieni di diversi tipi ofsoldiers. E ‘ la lingua di scelta in AP Computer Sciencecourses di oggi.

Nei primi anni 1990, la TV interattivaera la tecnologia del futuro. Sun Microsystems ha deciso che la TV interattivaha bisogno di un linguaggio speciale, portatile (può funzionare su molti tipi di macchine). Questola lingua alla fine divenne Java. Nel 1994, il team del progetto Java ha cambiato il loroconcentrarsi sul web, che stava diventando “la cosa bella” dopo che interactive TVfailed., L’anno successivo, Netscape licenza Java per l’uso nel loro internetbrowser, Navigator. A questo punto, Java è diventato il linguaggio del futuro e diverse aziende hanno annunciato applicazioni che sarebbero state scritte in Java, nessuna delle quali è entrata in uso.

Sebbene Java abbia obiettivi molto alti e sia un esempio di libro di testo di un buon linguaggio, potrebbe essere il “linguaggio che non era”. Ha seri problemi di ottimizzazione, il che significa che i programmi scritti in esso funzionano molto lentamente. E Sun ha ferito l’accettazione di Java impegnandosi inpolitical battles su di esso con Microsoft., Ma Java può finire come il linguaggio costruttivo di domani in quanto è veramente orientato agli oggetti e implementa tecniche avanzate come la vera portabilità del codice e garbagecollection.

Visual Basic è spesso insegnato come un primo linguaggio di programmazione oggi in quanto si basa sul linguaggio di base sviluppato nel 1964 da John Kemeny e Thomas Kurtz. BASIC è molto limitatolingua ed è stato progettato per persone non informatiche. Le istruzioni arechiefly vengono eseguite in sequenza, ma il controllo del programma può cambiare in base a IF..,QUINDI, e le istruzioni GOSUB che eseguono un certo blocco di codice e quindi ritornano al punto originale nel flusso del programma.

Microsoft ha esteso BASIC nel suo prodotto Visual Basic (VB). Il cuore di VB è la forma, o finestra vuota onwhich si trascina e rilascia componenti come menu, immagini e barre di scorrimento.Questi elementi sono noti come ” widget.”I widget hanno proprietà (come itscolor) ed eventi (come clic e doppio clic) e sono centrali per costruire qualsiasi interfaccia utente oggi in qualsiasi lingua., VB è il più spesso usato todayto creano interfacce rapide e semplici ad altri prodotti di Microsoft come asExcel e accesso senza bisogno di molto codice, sebbene sia possibile tocreate applicazioni complete con esso.

Perl è stato spesso descritto come il”nastro adesivo di Internet”, perché è più spesso utilizzato come motore per l’interfaccia aweb o in script che modificano i file di configurazione. Ha funzioni di corrispondenza del testo molto forti che lo rendono ideale per queste attività., Perl è stato sviluppato da Larry Wall nel 1987 perché gli strumenti Unix sed e awk (usati per la manipolazione del testo) non erano più abbastanza forti da supportare i suoi bisogni.A seconda di chi chiedi, Perl sta per Estrazione pratica e ReportingLanguage o Patologicamente eclettico Spazzatura Lister.

I linguaggi di programmazione sono stati sviluppati per anni e lo rimarranno per molti anni a venire. Hanno iniziato con un elenco di passaggi per collegare un computer per eseguire un’attività.Questi passaggi alla fine hanno trovato la loro strada nel software e hanno iniziato ad acquisirenewer e migliori funzionalità., Le prime lingue principali erano caratterizzate dalsemplice fatto che erano intese per uno scopo e un solo scopo,mentre le lingue di oggi sono differenziate dal modo in cui sono programmate, in quanto possono essere utilizzate per quasi tutti gli scopi. E forse le lingue oftomorrow saranno più naturali con l’invenzione di quantum e biologicalcomputer.

Bibliografia

Author: admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *