o scurtă istorie a limbajelor de programare timpurii

aceasta a inclus diferite automatizări și asambloare. Un timp „marcat de multe premiere”.,

Friedman ne cere să ia în considerare de programare sau de codificare cultură la timp în lumina unei inovații care au venit:

„trebuie să aibă în vedere, în primul rând, că mentalitatea de codificare înființarea fost de așa natură încât nimic altceva decât mâna de codificare a fost considerat a fi inferioare și, în al doilea rând, că cei mână-codificate limbaj mașină programe au fost de fapt foarte complexe și complicate și a făcut la fel de mult, cu mai puțin de depozitare noastre sofisticate programe de azi.,”

de asemenea, Ea spune că scepticismul a fost justificată, deoarece aceste sisteme s-au dovedit programe care au fost mai puțin eficiente și mai costisitoare decât echivalentul mână-codificate versiuni produs de inteligent, inventiv umane programatori.deci, în acest moment programatorii nu au programat întotdeauna „de la zero”. Mulți ar copia manual secțiuni de cod.

Copierea a fost plină de „erori de transcriere”.în 1949 John Mauchly a propus „cod scurt de comandă” sau „cod scurt” pentru BINAC (binar Automatic Computer). Calculatorul a fost construit de John Mauchly și J., Presper Eckert, mai târziu a fost cumpărat de Remington-Rand.

cod scurt: a fost un set de subrutine interpretative stocate în memorie. Cod scurt executat aproximativ cincizeci de ori mai lent decât programul de mână-codificate echivalent.

anii 1950-1951 au văzut o serie de limbaje artificiale de mașini sau „pseudo coduri”.

„la începutul anilor 1950 Betty Holbertson e un Fel de Îmbinare Generator a fost o primă încercare de față, folosind un calculator pentru a scrie programe și a inspirat o întreagă familie de alt program generatoare.,”

în 1951 primul manual de programare a venit din Anglia. Acesta a fost numit „pregătirea programelor pentru un Computer Digital”, scris de Wilkes, Wheeler și Gill.a discutat despre „rutina de asamblare”, referindu-se la: „…o bucată de cod care ar combina un set de subrutine și ar aloca stocarea ca blocuri de adrese relocabile numite „adrese plutitoare”.,”

În 1951, Grace Murray Hopper, lucrând la UNIVAC-ul lui Remington-Rand, am venit cu ceea ce ea a numit o „rutină de compilare”, ca act de traducere a „pseudo-codului” într-un set complet de instrucțiuni pentru limbajul mașinii.

în 1952, Millie Coss a ieșit cu „generatorul de editare” luând operații aritmetice și tipărind o ieșire care poate fi citită de manageri și de alți oameni.Friedman a descris dezvoltarea din 1952 a unui sistem AUTOCODE de către Alick E. Glennie ca o legătură cu „a treia generație” de software., A fost un compilator algebric primitiv, extrem de dependent de mașină, care a tradus declarații algebrice în limbajul mașinii din Manchester Mark I.

A treia generație de software — limbi procedurale

în 1945, un limbaj de programare teoretic a fost dezvoltat în Fed. Rep. Germania de Konrad Zuse, numit Plankalkul (programcalculus), deși acest lucru a trecut neobservat până acum 1972.,în Italia, teza de doctorat a lui Corrado Bohm din 1951 descrie un sistem care definește fiecare afirmație ca un caz special al declarației atribuite, de exemplu S ar fi echivalent cu „setați programul contra valorii variabilei S”.

primul compilator algebric este considerat a fi pentru computerul WHIRLWIND al MIT proiectat de Jay Forrester și Ken Olsen. A fost primul minicomputer pe 16 biți capabil de procesare paralelă și calcul în timp real. Acesta a fost demonstrat în primăvara anului 1953 și până și să fie difuzate ianuarie 1954.,în 1955, echipa de programare a lui Grace Murray Hoppe a început să dezvolte un limbaj de programare algebric care utilizează câteva cuvinte cheie în limba engleză.în 1957, a fost lansat ca MATH-MATIC, și a executat ineficient. În 1957 IBM a livrat în cele din urmă compilatorul pentru FORTRAN. A fost din ce în ce mai acceptată în comunitatea de calcul.în 1958, FLOW-MATIC a fost lansat și a devenit un factor important în proiectarea ulterioară a COBOL.,în 1954, John Backus a condus o echipă IBM de cercetători (numită mai târziu Programming Research Group) pentru a proiecta și dezvolta traducători automați de formule matematice în IBM 704 machine code. Ei ar accepta nimic mai puțin decât ceva la fel de eficient ca omologii lor codificate manual. Preocuparea lor principală a fost eficiența, deoarece, potrivit lui Friedman, este mai probabil să fie acceptată de comunitatea de codificare. Aspectul designului limbajului a fost tratat rapid., Descris de Friedman: „…în maniera unei corvoade care trebuia finalizată înainte ca lucrarea „reală” (proiectarea compilatorului) să poată fi făcută.”

FORmula TRANslating System, sau FORTRAN a fost lansat în 1954 cu o mare parte a documentului dedicat justificării sistemului, inclusiv o așteptare optimistă că FORTRAN ar elimina codarea și depanarea.în 1958, compilatoarele FORTRAN au fost lansate pentru IBM 709 și 650; în 1960 pentru 1620 și 7070., Versiunile nu au fost neapărat identice și un program scris pe un computer nu a produs neapărat același rezultat pe altul.în 1961, compilatoarele FORTRAN au fost puse la dispoziție pentru alte computere (UNIVAC, Remington-Rand LARC și ALTAC).în 1964 au existat mai mult de 40 de compilatoare FORTRAN diferite pe piață. Trebuie spus că nu a fost un limbaj independent de mașină și un computer diferit pe computere diferite.în 1958 a fost lansat FORTRAN II, urmat de FORTRAN III și FORTRAN IV în 1962., FORTRAN IV a fost standardul pentru limba până când FORTRAN 77 a fost lansat în 1978.în timpul anilor 1956-1958 un limbaj interactiv, aplicativ a fost proiectat la Darthmouth de John McCarthy.

în 1959, acest lucru a fost implementat mai târziu la MIT cu un manual de referință publicat în 1960.LISP se bazează pe calculul lambda și, spre deosebire de alte limbi, a fost proiectat pentru manipularea simbolică a formulelor. Friedman susține că a devenit „lingua franca” (mediu de comunicare) pentru comunitatea de inteligență artificială.,ea enumeră câteva caracteristici inovatoare după cum urmează:

  • funcția ca unitate de program de bază.
  • lista ca structură de date de bază.
  • structuri de date dinamice.
  • facilități pentru „colectarea gunoiului”.
  • utilizarea expresiilor simbolice, spre deosebire de numere.
  • Recursivitate.
  • Expresie condiționată ca structuri de control.
  • funcția „eval” pentru evaluarea interactivă a declarațiilor LISP.,

ALGOL (algoritmic-Language)

în 1958, un comitet a avut loc întâlniri în Zurich pentru a proiecta un limbaj universal de programare la nivel înalt. Acesta a inclus reprezentanți europeni ai GAMM (asociația germană pentru matematică aplicată și mecanică) și Asociația pentru mașini de calcul. Unul dintre membrii comitetului a fost John Backus, care a condus grupul de dezvoltare FORTRAN.unul dintre obiective a fost acela de a facilita comunicarea și schimbul în comunitatea internațională de calcul, alături de obiectivul practic de a aduce un compilator în Europa (încă codificau manual)., Unul dintre motivele pentru care a fost dorită o nouă limbă a fost faptul că FORTRAN a fost un produs IBM proprietar. Adoptarea FORTRAN ar însemna, așadar, oarecum cumpărarea numai a mașinilor IBM și a existat dorința ca IBM să nu domine în Europa.

limba a fost numită pentru prima dată IAL, pentru limba algebrică Internațională, și în cele din urmă redenumită ALGOL (limba algoritmică). Prima versiune a fost cunoscută sub numele de ALGOL 58.comitetul s-a reunit din nou la Paris în 1960 pentru a îmbunătăți limba și a elimina punctele slabe.,

” influența ALGOL60 asupra designului limbajului de programare și asupra dezvoltării informaticii în general, nu a fost decât profundă.”

Friedman, enumeră câteva caracteristici inovatoare:

  • BNF (Backus Normal Form), metalimbaj pentru limbajul de programare definiție.
  • limbajul de programare ca obiect de studiu, mai degrabă decât doar un mijloc spre un scop.
  • folosit ca un limbaj de publicare pentru algoritmi.
  • Structura blocului și mediile de date localizate.
  • cuiburi de unități de program.,
  • cod de program în format liber.
  • declerații de tip Explicit.
  • alocarea dinamică a memoriei.
  • parametru care trece prin valoare și nume.
  • If / then / else și begin / end pentru a delimita declarațiile compuse.
  • reguli de domeniu.
  • Declarația variabilelor locale.
  • parametrii trecuți după nume, valoare sau referință.

COBOL (COmmonBusiness-Oriented-Language

în 1959, un alt grup sa întâlnit sub supravegherea Departamentului Apărării din Statele Unite pentru a discuta despre dezvoltarea unui limbaj de programare „comun”.,

„Acest grup, compus din aproximativ 40 de membri, reprezentat de producătorii de calculatoare și utilizatorii din industrie, universități și guvern și a devenit cunoscut ca CODASYL Comisiei(COOnferenceon Date SYstemsLanguages).”

a fost în interesul producătorilor de calculatoare și al guvernului să proiecteze un limbaj care să funcționeze pe diferite mașini.în aprilie 1960 a fost creată o limbă numită COBOL.

spre deosebire de FORTRAN, limba a început relativ „independentă de mașină”.,pentru mulți, programarea primei și celei de-a doua generații a fost prost înțeleasă de majoritatea și considerată ca Friedman spune: o „artă neagră”.inovațiile importante în COBOL conform lui Friedman sunt următoarele:

  • structura datelor de înregistrare.
  • descrieri de fișiere și facilități de manipulare.
  • independența mașinii de date și descrieri de programe.
  • accent egal pe descrierile datelor din diviziile de date și operațiunile din Divizia de proceduri.
  • influența limbii engleze în utilizarea verbelor, clauzelor, propozițiilor, paragrafelor, secțiunilor și diviziunilor.,
  • un stil de limbaj relativ natural, inclusiv cuvinte de zgomot pentru lizibilitate.
  • efortul general față de un limbaj care ar produce cod de program de auto-documentare.

ei au început o tendință importantă spre limbaje orientate spre date. Friedman susține că acest lucru a culminat cu proliferarea sistemelor de gestionare a bazelor de date, a limbajelor de interogare și a instrumentelor și mediilor de programare de înaltă productivitate centrate pe baze de date.,

Nu a fost un disponibilitatea pe scară largă de COBOL compilatoare parțial datorită implicarea guvernului:

„…Departamentul de Aparare a trimis o scrisoare dură către toți producătorii de computere sfătuindu-le că, dacă au vrut să continue să vândă calculatoare a Departamentului de Apărare(cea mai mare computer contractat si prevazuta de granturi de cercetare) au mai pus un compilator COBOL pe ea.”

Friedman comentează că FORTRAN, COBOL și LISP erau printre cele mai utilizate limbaje de programare la momentul scrierii (aprox. 1990).,

Babel → 1960 și 1970

„decenii de la anii 1960 și 1970 a văzut-o cu adevărat uimitor proliferarea limbajelor de programare.A fost acest hubub de activitate care Jean Sammetin 1969 asemănat cu biblicul Turn Babel.”

APL (un limbaj de programare). Definit și prezentat publicului în 1962 printr-o carte de Kenneth Iverson la Harvard, care a luat parte la proiectarea acestui lucru. A necesitat o tastatură specială și nu a devenit utilizată pe scară largă.SNOBOL (limbaj simbolic orientat pe StriNg)., Implementat pentru prima dată în 1963, a fost proiectat de cercetătorii de la Bell Laboratories ca un limbaj de manipulare a șirurilor. Implementarea a fost numită de fapt SEXI (String EXpression interpret), dar se pare că a fost considerată inacceptabilă. Numele limbii a fost o lovitură plină de umor la acronime: SNOBOL (string OrientedsymBOlicLanguag). SNOBOL4 a fost lansat în 1968 conceput pentru hardware-ul computerului de a treia generație, tratează modelele ca obiecte de date. Caracteristica unică a fost facilitatea sa pentru șir și model de potrivire.

de bază (Codul de instruire simbolic al începătorului)., Codul a fugit în 1964, iar designul limbii a fost destinat să introducă studenții în discipline non-științifice la calcul. Simplitatea a fost aleasă în detrimentul eficienței compilatorului și au fost furnizate mesaje de eroare clare.

PL/1 (limbaj de programare / unu). Lansat 1966, destinat ca „limba pentru a pune capăt tuturor limbilor”, dar nu la fel de popular ca IBM sperase. Compilatorii erau ineficienți și nesiguri. A fost criticată ca o limbă la mare, deoarece a încercat să includă fiecare element imaginabil al designului limbajului.

Logo-ul. Dezvoltat de-a lungul anilor 1966-1968., Proiectat special pentru educația matematică, utilizat experimental în sălile de clasă. Logo-ul este foarte similar cu LISP. Acesta include „grafica turtle”, pentru predarea copiilor principii geometrice.

FORTH (limba a patra generație). Charles H. Moore a dorit un limbaj suficient de eficient pentru aplicații științifice și de inginerie, dar permite o programare mai rapidă folosind mai puține linii de cod. Se pare că două obiective de proiectare (aparent) conflictuale. Potrivit lui Friedman, nu poate fi considerată astăzi o limbă de a patra generație.

SIMULA., Proiectat în 1962 de Kristen Nygaard și Ole-Johan Dahl la Centrul de calcul norvegian, sub contract cu Univac. Motivată de dorința de a simula aplicații — o tehnică de cercetare operațională utilizată cu succes într-o serie de domenii diverse. Acest limbaj a introdus „conceptul de clasă”, o abstracție importantă pentru programarea orientată pe obiecte.Pascal (numit după filosoful și matematicianul francez Blaise Pascal din secolul al XVII-lea). Revizuirea ALGOL68 (de la ALGOL60) nu a fost populară, deoarece a fost inutil de mare și ciudat., Unul dintre „disidenții” Niklaus Wirth a proiectat Pascal, care a fost implementat pentru prima dată în 1970. Friedman susține că Pascal conceput pentru a fi utilizat în educație a ieșit în evidență: „…în opoziție cu o tendință”. O tendință de a complica o limbă cu caracteristici, astfel încât niciun utilizator nu se poate aștepta să le cunoască pe toate.C. Kenneth Thompson și Dennis Ritchie au dezvoltat C pentru codarea rutinelor într-un sistem de operare UNIX. C a fost o extensie a lui B (de asemenea, proiectat de Thompson), care a atras pe o limbă anterioară BCPL. C a creat noțiunea de sistem de operare portabil., Friedman susține că o sintaxă concisă face ca programele C să fie dificil de citit, înțeles, depanat și întreținut.

Modula-2 (limbaj MODUlar/două). Descendent al lui Pascal, destinat sistemelor mari. Modulul facilitează schimbul de informații, încapsulând codul în bucăți clar delimitate.

Ada. Propus în 1980 și standardizat în 1983, a avut intenții similare cu PL/1 (language to end all languages) și succes similar.,

după anunțarea FORTRAN cu raportul în 1954 au existat o mare de limbi care au încercat să: „… îmblânzi computerul electronic pentru utilizarea la nivel înalt de către oameni în fiecare domeniu de aplicare.,între diferitele limbi:

Model de Friedman

A patra generation software — declarativ limbi

„von Neumann-typeof arhitectura calculatoarelor, în timp ce servesc drept catalizator pentru o generație de limbaje de programare poate, de asemenea, se pare, să fie vinovați în mare parte de gradul de stagnare am văzut în dezvoltarea conceptuală de tehnologia limbaj de programare.,”

la ce se referă Friedman este programul stocat în locații de memorie cu un singur contor într-un flux de instrucțiuni de secvență. Limbajele de programare care se bazează pe această arhitectură anterioară de paradigmă (procedurală) tind să fie:

  1. orientate spre declarații (presupunând executarea secvențială a unui număr limitat de operații).
  2. compus dintr-un număr mare de linii de cod. Depanarea este dificilă și lungă.
  3. întreținerea este consumatoare de timp și costisitoare.,

Friedman susține că următoarea paradigmă este declerative:

„O a patra generație de limbă este declarativ, adică instrucțiunile pentru calculator se concentreze mai mult pe ceea ce este de făcut, mai degrabă decât pe descrierea în detaliu cum să o facă.”

a patra generație încearcă să optimizeze munca umană în timp de calculator.

vizează frecvent un utilizator non-tehnic într-o anumită zonă de aplicare.unele dintre tendințele conform lui Friedman sunt:

  • limbajul declarativ.
  • software-ul ambalat.,
  • pachete integrate.
  • medii interactive ușor de utilizat.
  • limbi de interogare.
  • instrumente de programare de înaltă productivitate.
  • integrarea limbilor.
  • instrumente de programare (editor, linker, traducători, handler de fișiere și interfață de utilizator într-un singur sistem interactiv).ea menționează că nu toate sistemele sunt non-procedurale și clasificarea este arbitrară.în 1961, pachetul statistic BMD (Biomedicalpachet) este dezvoltat la Universitatea din California Berkeley și implementat în FORTRAN pe IBM 7090.,în 1967, Arthur S. Couch a dezvoltat un text de date la Universitatea Harvard destinat oamenilor de știință socială.prolog (programare în logică). Implementat în 1972 în ALGOL-W în scopul procesării limbajului natural. Din 1981 a devenit asociat cu proiectul de a cincea generație din Japonia.OPS (sistem oficial de producție). Un sistem de producție sau limbaj bazat pe reguli utilizate în domeniul inteligenței artificiale. OPS5 lansat în 1977.

    Smalltalk., Proiectat și implementat la Xerox Palo Alto Research Center (PARC) ca componentă software a: „Legendarul dynabook al lui Alan Kay, un computer personal de dimensiuni notebook pentru utilizatorul non-tehnic.”Mediul a fost important: mouse-ul pentru selectarea și indicarea; meniuri grafice de utilizator și așa mai departe. Steve Jobs a folosit această abordare cu sistemele de operare Apple Computers Lisa și Macintosh.

    limbi de interogare. Făcute pentru a face bazele de date accesibile persoanelor cu pregătire minimă, limbile de interogare au fost dezvoltate pentru a fi ușor de utilizat. SQL a fost dezvoltat pentru SystemsR și alte câteva modalități de interogare., SQL a fost proiectat la IBM și comercializat în 1979 de Oracle.Friedman argumentează:

    ” un instrument de înaltă productivitate de a patra generație este în mare măsură non-procedural, ușor de utilizat și orientat spre probleme.”

    Mai mult, ea spune că aceste sisteme au fost centrat în jurul unei baze de date și includ componente ale unui sistem de gestionare a bazelor de date.

    Software-ul a început cu oamenii forțați să „gândească” în cod pentru o anumită mașină.la momentul scrierii, Friedman susține deja că computerele pot „gândi” sau acționa într-o oarecare măsură ca ființele umane.,

    Articolul Linda Weiser Friedman este o lectură fascinantă și, desigur, vă recomand să o citiți integral, mai degrabă decât rezumatul meu limitat.sper că v-a plăcut acest articol!

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *