• Historie vývoje programovacích jazyků. Stručná historie programovacích jazyků První rok programovacích jazyků

    Prvním implementovaným počítačovým programovacím jazykem na vysoké úrovni byl FORTRAN (FORmula TRANslator). Byl vytvořen skupinou programátorů IBM Corporation v letech 1954 až 1957. Několik let po jeho vzniku začal komerční prodej Fortranu - předtím se prováděl buď pomocí strojových kódů nebo symbolických assemblerů.

    Za prvé, Fortran se rozšířil ve vědecké a inženýrské komunitě, kde se na něm prováděly výpočty.

    Jednou z hlavních výhod dnešního Fortranu je obrovské množství programů a rutinních knihoven v něm napsaných. V tisících balíčků tohoto jazyka můžete najít balíčky pro řešení složitých integrálních rovnic, násobení matic a tak dále. Tyto balíčky vznikaly po mnoho desetiletí – dodnes neztratily svůj význam. Většina jejich knihoven je dobře zdokumentovaná, odladěná a vysoce efektivní, ale neustále se snaží automaticky převést svůj Fortran kód na moderní software.

    Historie zavedení Fortranu

    Po vývoji efektivního alternativního jazyka zvaného Fortran byla počítačová komunita k novému produktu skeptická. Málokdo věřil, že s pomocí Fortranu bude programování efektivnější a rychlejší. Vědci však postupem času ocenili možnosti jazyka a začali jej aktivně využívat k psaní intenzivních softwarových výpočtů. Fortran byl vhodný zejména pro technické aplikace, ve kterých mu výrazně pomohl komplexní sběr všech typů dat.

    Moderní Fortran byl doplněn o schopnosti, které umožňují efektivně využívat nové softwarové technologie a programové výpočetní architektury.

    Po ohromujícím úspěchu Fortranu se evropské společnosti začaly obávat, že IBM začne vést počítačový průmysl. Americká a německá komunita vytvořila vlastní výbory pro vývoj univerzálního programovacího jazyka, později se však spojily v jeden výbor. Jeho specialisté vyvinuli nový jazyk a nazvali jej International Algorithmic Language (IAL), ale protože se ALGOritmický jazyk rychle stal běžně používaným názvem nového produktu, musela komise změnit oficiální název IAL na ALGOL.

    Začátek vývoje

    Jazyk symbolických instrukcí

    V případě, že je potřeba mít efektivní program, místo strojových jazyků se používají strojově orientované jazyky, které jsou jim blízké - assemblery. Lidé místo strojových příkazů používají mnemotechnické příkazy.

    Ale i práce s assemblerem je poměrně složitá a vyžaduje speciální školení.

    Například pro procesor Zilog Z80 strojová instrukce 00000101 instruuje procesor, aby snížil svůj registr B o jedna. V jazyce symbolických instrukcí to bude také napsáno jako DEC B.

    Strukturované programování

    Další krok byl učiněn v roce 1954, kdy byl vytvořen první jazyk vysoké úrovně, Fortran. FORTRAN - Překladač vzorců). Jazyky na vysoké úrovni napodobují přirozené jazyky pomocí některých slov mluveného jazyka a běžných matematických symbolů. Tyto jazyky jsou pro člověka pohodlnější, s jejich pomocí můžete psát programy až do délky několika tisíc řádků. I když byl jazyk snadno srozumitelný v krátkých programech, stal se nečitelným a obtížně ovladatelným, pokud šlo o větší programy. Řešení tohoto problému přišlo s vynálezem strukturovaných programovacích jazyků. strukturovaný programovací jazyk ), jako je ALGOL (1958), Pascal (1970), C (1972).

    Strukturované programování zahrnuje přesně definované řídicí struktury, programové bloky, instrukce bez nepodmíněného skoku (GOTO), samostatné podprogramy, podporu rekurze a lokálních proměnných.

    Podstatou tohoto přístupu je schopnost rozdělit program na jeho dílčí prvky.

    Také vytvořeno funkční(aplikační) jazyky ​​(Příklad: Lisp - angličtina. Zpracování seznamu, 1958) a hlavolam jazyky (příklad: Prolog - angličtina) Programování v LOGIC, 1972).

    Přestože strukturované programování při použití přineslo vynikající výsledky, i když selže, když program dosáhne určité délky. Aby bylo možné napsat složitější (a delší) program, byl zapotřebí nový přístup k programování.

    OOP

    V důsledku toho byly na konci 70. a na začátku 80. let vyvinuty principy objektově orientovaného programování. OOP kombinuje nejlepší principy strukturovaného programování s výkonnými novými koncepty, z nichž základní jsou tzv zapouzdření, polymorfismus A dědictví.

    Příklady objektově orientovaných jazyků jsou: Object Pascal, C++,

    OOP vám umožňuje optimálně organizovat programy rozdělením problému na jednotlivé části a prací s každou zvlášť. Program v objektově orientovaném jazyce, řešící určitý problém, v podstatě popisuje část světa související s tímto problémem.

    Odkazy

    • Historie programování a výpočetní techniky

    Nadace Wikimedia. 2010.

    Podívejte se, co je „Stručná historie vývoje programovacích jazyků“ v jiných slovnících:

      Programovací jazyk je formální znakový systém určený k psaní programů. Program obvykle představuje nějaký algoritmus ve formě srozumitelné implementátorovi (například počítač). Programovací jazyk určuje množinu... ... Wikipedie

      Ruby Semantics: multi-paradigm Typ provedení: interpret Rok vydání: 1995 Autor(ři): Yukihiro Matsumoto Nejnovější verze: 1.9.1 ... Wikipedia

      Ruby Semantics: multi-paradigm Typ provedení: interpret Datum vydání: 1995 Autor(ři): Yukihiro Matsumoto Nejnovější verze: 1.9.1 ... Wikipedia - (Haykakan Sovetakan Socialistakan Hanrapetutyun) Arménie (Hayastan Country of Armenians). I. Obecné informace Arménská SSR vznikla 29. listopadu 1920. Od 12. března 1922 do 5. prosince 1936 byla součástí Zakavkazské federace (Viz... ...

      - (Lietuvos Taribu Socialistine Republic) Litva (Lietuvos). I. Obecné informace Litevská SSR vznikla 21. července 1940. Od 3. srpna 1940 je součástí SSSR. Nachází se v západní evropské části SSSR. Na severu hraničí s ... ... Velká sovětská encyklopedie

      Vzorek Buran OK GLI (BTS 002) pro testování v atmosféře. Letecký a kosmický salon MAKS, 1999 ... Wikipedie

    Poznámka 1

    Aby první programy fungovaly, bylo nutné nainstalovat klíčové spínače na přední panel výpočetního zařízení. Přirozeně pomocí této metody bylo možné skládat pouze malé programy. Jeden z prvních pokusů o vytvoření plnohodnotného programovacího jazyka učinil německý vědec Konrad Zuse, který v období 1943–1945. vyvinul jazyk Plankalkul. Plankalkul byl velmi slibný jazyk, který byl vlastně jazykem vysoké úrovně, ale během války se mu nedostalo řádné praktické implementace a jeho popis byl zveřejněn až v roce 1972.

    Strojový kód. Assembler

    Historie programovacích jazyků začíná vývojem strojového jazyka: jazyka logické nuly a jedničky. Psaní pomocí tohoto jazyka bylo velmi obtížné a zdlouhavé.

    Usnadnit práci programátorům na konci 40. let. Byl vyvinut jazyk symbolických instrukcí. Místo binárních číslic, které označovaly jakýkoli příkaz, se psala krátká slova nebo zkratky. Programátoři považují assembler za nízkoúrovňový programovací jazyk, protože se blíží jazyku nejnižší úrovně, strojovému jazyku. Programy napsané v jazyce symbolických instrukcí přímo závisí na vlastnostech konkrétního procesoru, proto se nazývá strojově orientovaný jazyk.

    Psaní programů v jazyce symbolických instrukcí je poměrně obtížný úkol a vyžaduje se také znalost počítačových zařízení. A přesto jsou programy assembleru nejúčinnější a nejefektivnější.

    Algoritmické jazyky

    Během vývoje programování vyvstala potřeba vyvinout nové, pokročilejší programovací jazyky, které by byly podobné přirozeným jazykům a umožňovaly by nepracovat přímo se strojovými příkazy. Začalo se jim říkat jazyky vysoké úrovně. Jazyky na vysoké úrovni se zaměřují na popis algoritmů, proto se jim říká algoritmické jazyky. Výhodou takových jazyků je větší přehlednost a nezávislost na konkrétním počítači.

    Protože počítač rozpoznává pouze strojový jazyk, musí být program napsaný v algoritmickém jazyce před spuštěním přeložen do tohoto jazyka speciálním programem – překladačem. Překladač obsahuje všechna pravidla algoritmického jazyka a metody pro převod jeho různých struktur do strojového jazyka. Existují dva typy vysílání:

    • Kompilace je způsob provádění programu, při kterém se programové instrukce provádějí pouze tehdy, když byl zkompilován překlad celého textu programu.
    • Interpretace je způsob provádění programu, při kterém jsou instrukce programu přeloženy a okamžitě provedeny.

    Poznámka 2

    Výhodou programů napsaných v algoritmickém jazyce je zjednodušení práce s programem díky relativní jednoduchosti zápisu, snadná čitelnost a možnost jeho opravy. Mezi nevýhody patří: další čas a paměť pro vysílání.

    Strukturované programování

    V roce 1954 začal vývoj prvního překladače jazyků na vysoké úrovni. O dva roky později se objevil jazyk Fortran (FORmula TRANslator - „překladač vzorců“). Jazyk obsahoval funkce, které výrazně zjednodušovaly vývoj, ale programování ve Fortranu nebylo snadným úkolem: zatímco v krátkých programech bylo snadno pochopitelné, u velkých programů se jazyk stal nečitelným. Navzdory tomu byl jazyk docela úspěšný a vyšlo mnoho verzí.

    Problémy byly vyřešeny po vývoji strukturovaných programovacích jazyků: zavedly možnost vytvářet programové bloky, nezávislé podprogramy, podporu rekurze a lokálních proměnných a absenci operátoru nepodmíněného skoku (GoTo). Takové jazyky tedy začaly podporovat schopnost rozdělit program na jeho základní prvky.

    Během deseti let bylo vytvořeno poměrně velké množství nových jazyků:

    1. Algol (1958) byl určen k psaní algoritmů, které jsou složeny ze samostatných bloků;
    2. Cobol (1959) byl použit pro hromadné zpracování dat v manažerské a obchodní oblasti;
    3. Basic (1965) umožňoval psát jednoduché programy a sloužil k výuce základů programování.

    Velmi málo vytvořených jazyků bylo strukturováno. Byly také vytvořeny specializované jazyky: Lisp, Prolog, Forth atd. Zvláště pozoruhodný je jazyk Pascal (1970), pojmenovaný po vědci Blaise Pascalovi, který se používal jak pro učení, tak pro řešení problémů různé složitosti. Programy Pascal byly snadno čitelné, umožňovaly rychle najít a opravovat chyby a byly dobře strukturované. Vše výše uvedené vedlo k jeho širokému použití a i dnes se aktivně používá ve vzdělávacích institucích.

    V roce 1972 byl představen jazyk C, což byl úspěšný krok v programování. Jazyk kombinoval výhody mnoha jazyků a měl velké množství různých inovací. Široké možnosti, struktura a relativní jednoduchost jeho studia umožnila, aby se jazyk rychle stal uznávaným a získal místo jednoho z hlavních jazyků.

    Nástup strukturovaného programování přinesl skvělé výsledky, ale stále bylo obtížné psát dlouhé a seriózní programy.

    Objektově orientované programování (OOP)

    Od 70. let 20. století Byly položeny základy objektově orientovaného programování (OOP), které vznikly jako důsledek rozvoje procedurálního programování, ve kterém data a rutiny pro jejich zpracování formálně nesouvisely.

    OOP zahrnuje následující základní pojmy:

    • Třída– model předmětu, který ještě neexistuje. Ve skutečnosti je to schéma objektu, popisující jeho strukturu.
    • Objekt– instance třídy, entity v adresním prostoru výpočetního systému, která se objeví, když je vytvořena instance třídy.
    • Abstrakce– přiřazení vlastností objektu, které jasně definují jeho hranice, které jej odlišují od všech ostatních objektů. Základní myšlenkou je oddělit způsob použití složených datových objektů od detailů jejich implementace ve formě jednodušších objektů.
    • Zapouzdření– kombinování vlastností (dat) a metod (rutin) ve třídě za účelem skrytí objektových dat před zbytkem programu a zajištění integrity a nezávislosti objektu (změna vlastností objektu je možná pouze pomocí speciálních metod třídy).
    • Dědictví– jazykový mechanismus, který umožňuje popsat novou třídu na základě existující třídy (nebo tříd) s přidáním nových vlastností a metod.
    • Polymorfismus– schopnost systému používat objekty se stejným rozhraním bez získávání informací o jejich typu a vnitřní struktuře.

    Poznámka 3

    V roce 1967 se objevil jazyk Simula - první programovací jazyk, ve kterém byly navrženy principy objektové orientace. Podporoval práci s objekty, třídami, virtuálními metodami atd., ale všechny tyto vlastnosti nebyly současníky adekvátně oceněny. Většinu těchto konceptů však Alan Kay a Dan Ingalls začlenili do jazyka Smalltalk, který se stal prvním široce používaným objektově orientovaným programovacím jazykem.

    V současné době je počet aplikovaných programovacích jazyků, které implementují objektově orientované paradigma, největší ve srovnání s ostatními paradigmaty. Hlavní jazyky, které podporují koncept OOP: C++, C#, Object Pascal (Delphi), Java atd.

    Internetový rozvoj

    S rozvojem technologie WWW (World Wide Web) se internet stal velmi populárním. Bylo vytvořeno velké množství pomocných jazyků pro zajištění práce s internetem, designu webových stránek, přístupu ke zdrojům atd.

    Rozšiřuje se interpretovaný jazyk Perl, který se vyznačuje jednoduchostí a snadnou přenositelností na jiné platformy. Je určen pro psaní aplikací a CGI skriptů různé složitosti. Jazyk Java je také široce používán a hraje významnou roli ve vývoji a fungování internetu.

    V 70. letech 20. století Objevil se jazyk SQL - strukturovaný dotazovací jazyk, který byl vytvořen pro přístup a práci s databázemi.

    Pro psaní kódů pro webové stránky byl vyvinut hypertextový značkovací jazyk HTML, který obsahuje příkazy pro označování a formátování textu a grafiky. Aby byl web atraktivnější a funkčnější, používají se následující:

    • JavaScript skripty, které se spouštějí ve webovém prohlížeči uživatele a slouží zejména ke zlepšení vzhledu stránek a řešení drobných problémů.
    • PHP skripty, které běží na straně serveru a odesílají již zpracované informace do prohlížeče uživatele. Používají se k vytváření dynamických HTML stránek, návštěvních knih, udržování fór a anket.
    • CGI skripty, které jsou napsány primárně v Perlu, C/C++, se spouštějí na straně serveru a závisí na konkrétních akcích uživatele. Používají se stejně jako PHP skripty k vytváření dynamických HTML stránek, návštěvních knih, udržování fór a anket.

    Tímto textem chci zahájit sérii článků o historii vývoje programovacích jazyků. Jedná se o upravenou verzi této kolekce.

    Programování se objevilo dávno před 50. lety 20. století. První myšlenky vyslovil Charles Babbage (1792-1871), který je právem považován za otce počítače. Neznal tranzistory, mikroobvody a monitory, ale poměrně přesně popsal základní principy, na kterých budou všechny počítače postaveny. Myšlenku rozvinula hraběnka Ada Lovelace (1815-1852). Její místo v historii stále vyvolává mnoho kontroverzí, ale jedna věc je naprosto jistá – byla to právě Ada, kdo se vlastně stal prvním slavným programátorem. Díky její práci se ukázalo, že cesta k efektivnímu využívání strojů vede přes algoritmy popsané v kódu.

    Babbageův analytický motor

    Ale programování se nemohlo vyvíjet izolovaně od počítačů. Bez nich jsou to jen mindráky, abstrakce, bez ohledu na kvalitu myšlenek. Proto až do 50. let 20. století byly programovací jazyky sadou strojových instrukcí, často vysoce specializovaných a vymírajících spolu s cílovým zařízením.

    Podstata problému

    O architektuře počítače dnes nemusíte vědět nic, pro většinu programátorů je důležitý pouze jazyk, vše ostatní je vedlejší. V 50. letech bylo všechno jinak – museli jste pracovat s elementárními strojovými kódy, a to je skoro stejné jako programování s páječkou.

    Dalším problémem bylo, že vývoj jazyků byl v odpovědnosti lidí přímo zapojených do tvorby počítačů - především inženýrů a pouze programátorů. Proto reprezentovali jazyk jako posloupnost operačních čísel a paměťových buněk. Zhruba řečeno to vypadalo takto:

    01 x y – přidání obsahu paměťové buňky y do buňky x;

    02 x y – obdobný postup s odečítáním.

    V důsledku toho se kód programu proměnil v nekonečnou řadu čísel:

    01 10 15 02 11 29 01 10 11…

    Tento druh kódu vám dnes může připadat jako horor, ale na začátku 50. let to byla norma.


    Počítač ze 40. let 20. století

    Programátoři se museli dlouho učit strojové příkazy, pak pečlivě zapisovat kód a po dokončení jej ještě několikrát zkontrolovat - riziko chyby bylo vysoké. Problémy nastaly, když vývoj strojů začal brzdit nedostatek personálu pro psaní programů. Bylo nutné naléhavé řešení.

    První sběrač

    Řešení bylo nasnadě: bylo nutné převést digitální označení operací do písmen. To znamená, že místo „01 10 15“ použijte „ADD 10 15“. To vyžadovalo další překlad znaků do strojové instrukce, ale vzhledem k problému byla oběť minimální.

    Řešení se ukázalo být tak zřejmé, že není s jistotou známo, kdo jako první vynalezl jazyk assembleru. S největší pravděpodobností se objevil na několika místech najednou. Za název a popularizaci jsou považováni autoři knihy „Příprava programů pro digitální počítač“ Wilkes, Wheeler a Gill. Není těžké uhodnout, že název Assembler pochází z anglického slova assemble - sestavit, namontovat, což poměrně přesně vystihuje proces. Později se symboly začaly týkat nejen nejjednodušších operací, ale také adresování, což značně zjednodušilo čitelnost kódu.

    Nyní se to zdá jako elementární řešení, ale tehdy byla implementace složitým procesem, který vyžadoval vytvoření korespondenčních tabulek s přiřazením označení každé paměťové buňce. To vedlo ke třem základním věcem:

    • Vznik konceptu symbolické proměnné nebo jednoduše proměnné.
    • Vytváření tabulek, pomocí kterých byste mohli najít shodu mezi symboly, operacemi a paměťovými buňkami.
    • Pochopení, že programování se může stát uměním.

    To se stalo katalyzátorem jazykového průlomu.

    Kompilátory a předsudky

    Assembler umožnil vytvářet jednoduché transformace. Například převod 01 do ADD. Makro assembler rozšířil tuto myšlenku a dal programátorům možnost sbalit více instrukcí do jedné. Pokud jste například v programu neustále přidávali hodnotu do místa v paměti a kontrolovali, zda je zaplněné, můžete toto vše zapsat do makra INCRT a použít je a měnit pouze proměnné. Ve skutečnosti se makro assemblery staly prvními jazyky na vysoké úrovni.

    S tímto přístupem byl ale důležitý problém – pokaždé před vytvořením kódu bylo nutné sbalit základní operace do maker. Byl potřeba nástroj, který by osvobodil programátory od neustálého kopírování. Takto se objevil kompilátor.

    Nyní víme, že díky kompilátoru můžeme vytvořit programovací jazyk s naprosto libovolnou syntaxí, hlavní je, že správně převede náš kód do strojových příkazů. A v té době byli odborníci skeptičtí k jazykům na vysoké úrovni. Částečně to bylo způsobeno výkonem počítačů – zjednodušení syntaxe pomocí složitých transformací bylo nákladné a mohlo vrátit technologický pokrok o několik let zpět. Částečným důvodem byly emoce – bylo těžké opustit formu strojových příkazů, ztratit kontrolu nad procesy. Programátoři se vážně báli, že po kompilaci nebudou schopni porozumět spustitelným příkazům. Dnes je nám jedno, jak strojový kód vypadá, ale tehdy to vypadalo jako důležitá záležitost.

    Kompilátor se však stal jediným východiskem ze situace, ale zde se objevil další problém - aritmetické výrazy. Jejich provedení není stejné jako to, jak stroj čte kód. Ze školního kurzu známe pořadí výpočtů ve výrazu „2+3*5“, ale stroj čte kód jedním směrem, takže odpověď bude nesprávná. Ano, výše uvedený příklad lze vyřešit vytvořením makra, ale složité výrazy na úrovni „(2 + 3 * 5 + 4/6) * 10 + 16- (14 + 15) * 8“ vyžadovaly zásadně odlišný přístup.

    Éra nové formace

    John Backus, tvůrce Fortranu, dokázal najít algoritmus pro analýzu zásobníku. Začal na něm pracovat v roce 1954 a trvalo mu téměř 5 let, než prokázal právo na existenci jazyků na vysoké úrovni. Celý název Fortran je The IBM Formula Translating System nebo FORmula TRANslator. Přestože je mu 60 let, zůstává jedním z nejpopulárnějších programovacích jazyků a v Data Science je neuvěřitelně žádaný. Během této doby jsme viděli mnoho verzí: Fortran 1, II, 66, 77, 90, 95, 2008 a příští rok vyjde další (plánován byl Fortran 2015, ale kvůli zpožděním se název může změnit na 2018) . Právě ve Fortranu bylo poprvé současně implementováno mnoho atributů jazyka na vysoké úrovni, včetně:

    • aritmetické a logické výrazy;
    • DO smyčka (raná forma smyčky FOR);
    • podmíněný příkaz IF;
    • podprogramy;
    • pole.

    Dalším důležitým dědictvím Fortranu, kterého si moderní programátoři ani neuvědomují, je použití proměnných omezení pro celá čísla. Všechny musely začínat jedním ze 6 znaků I, J, K, L, M, N (odvozeno od I-Nteger). Odtud pochází zvyk brát proměnné i, j atd. pro výčty.


    IBM 704 - stroj, na kterém byl Fortran vytvořen

    Fortran přitom zůstal jazykem blízkým strojům. Bylo tam například toto:

    If (výraz) dog, dozero, dopos

    Důvodem byla architektura počítače IBM, která vyžadovala příkaz pro použití správného registru: záporný, nulový nebo kladný. Blízkost ke strojům se projevila i ve známém příkazu GOTO (později jej zdědil Basic), který znamenal přímý přechod na ten či onen příkaz.

    Vrátíme-li se k problému aritmetických výrazů, zásobníkový algoritmus hrubé síly (tedy analyzování celého řetězce) nebyl efektivním řešením, ale ukázal, jak jednoduchá a logická může být implementace.

    Jazyky pro každého

    Fortran 1 byl vědecký jazyk založený na operacích s komplexními čísly a pohyblivou řádovou čárkou. Neuměl ani zpracovat text, k tomu ho musel převést na speciální kódy. Fortran se proto ukázal jako nevhodný pro podnikání, kde byl speciálně vytvořen jazyk Cobol.

    Jeho syntaxe je zásadně odlišná, co nejblíže přirozené angličtině. Prakticky neexistovala žádná aritmetika, pouze výrazy jako:

    Přesunout příjem do celkových odečíst výdaje

    Cobol se stal ztělesněním maximální vzdálenosti od předchozího strojově-aritmetického myšlení k univerzálnímu lidskému myšlení. A hlavně se nyní dalo pracovat s textem a záznamy.

    Dalším základním jazykem byl Algol (ALGOritmický jazyk), určený pro vědecké zprávy a publikace. Poprvé se v něm objevily věci, které nám byly přirozené:

    • rozdíly mezi přiřazením:= a logickou rovností =;
    • použití cyklu for se třemi argumenty: počáteční hodnota, limit, krok;
    • bloková struktura programů mezi začátkem a koncem, to eliminovalo potřebu používat GOTO.

    Z Algolu pocházejí C, C++, C#, Java a mnoho dalších dnes populárních jazyků.

    Čtvrtou velrybou 50. let byl Lisp (jazyk pro zpracování seznamu), vyvinutý speciálně pro umělou inteligenci. Jeho hlavním rysem byla práce nikoli s imperativními daty, ale s funkcemi. K tomu musel John McCarthy poskytnout mnoho mechanismů pro normální provoz: dynamické psaní, automatické přidělování paměti, garbage collector. Nakonec to byl Lisp, který se stal předchůdcem jazyků, jako je Python a Ruby, a sám se stále aktivně používá v AI.

    Padesátá léta tak změnila způsob myšlení programátorů, zrodila čtyři základní jazyky a nasměrovala svět na cestu počítačové revoluce.
    Příště si povíme, jak se jazyky a svět programování vyvíjely v 60. letech.

    Jednou z nejrevolučnějších myšlenek, které vedly k vytvoření, byla myšlenka vyjádřená ve 20. letech 19. století Ch. Babbagem o předběžném záznamu pořadí akcí stroje -. Od tohoto okamžiku to začíná historie programovacích jazyků.

    Revolučním momentem v historii programovacích jazyků byl vznik systému pro kódování strojových instrukcí pomocí speciálních znaků, který navrhl John Mauchly, zaměstnanec Pensylvánské univerzity. Systém kódování navržený Mauchlym fascinoval jednu ze zaměstnankyň jeho společnosti, Grace Murray Hopper, která celý svůj život zasvětila počítačům a programování.

    Při práci na počítači Mark 1 musela G. Hopper a její skupina čelit mnoha problémům. Zejména přišli s podprogramy.

    Na úsvitu historie programovacích jazyků byl strojový kód jediným prostředkem komunikace mezi člověkem a počítačem. Velkým úspěchem tvůrců programovacích jazyků bylo, že dokázali přimět počítač, aby fungoval jako překladač z těchto jazyků do strojového kódu.

    Na konci 40. let, než G. Hopper nastoupil do společnosti Johna Mauchlyho, vytvořil tento systém systém nazvaný „Short Code“, což byl primitivní vysokoúrovňový programovací jazyk. V něm programátor zapsal problém k řešení ve formě matematických vzorců a poté pomocí speciální tabulky překládal znak po znaku a převáděl tyto vzorce na dvoupísmenné kódy. Následně speciální počítačový program převedl tyto kódy na binární strojový kód. Systém vyvinutý J. Mauchlym byl v podstatě jedním z prvních primitivních interpretů.

    Již v roce 1951 vytvořila Hopper první překladač na světě a tento termín také zavedla. Překladač Hopper prováděl funkci kombinování příkazů a během překladu organizoval podprogramy, přiděloval a konvertoval příkazy na vysoké úrovni (v té době pseudokódy) na příkazy stroje.

    Polovina 50. let se vyznačuje rychlým pokrokem v historii programovacích jazyků. Role programování ve strojových příkazech začala klesat. Začal se objevovat nový typ programovacího jazyka, který fungoval jako prostředník mezi stroji a programátory. První a jeden z nejrozšířenějších byl Fortran, vyvinutý skupinou programátorů IBM v roce 1954 (první verze).

    V polovině 60. let Thomas Kurtz a John Kemeny, členové matematického oddělení Dartmouth College, vytvořili specializovaný programovací jazyk, který se skládal z jednoduchých anglických slov. Nový jazyk se jmenoval BASIC.

    Na počátku 60. let bylo možné všechny existující programovací jazyky na vysoké úrovni spočítat na jedné ruce, ale později jejich počet dosáhl tří tisíc. Samozřejmě, že drtivá většina jazyků neobdržela žádnou rozšířenou distribuci v historii programovacích jazyků; v praxi se nepoužívají více než dvě desítky. Vývojáři zaměřili programovací jazyky na různé třídy úloh, do té či oné míry je svázali s konkrétními počítačovými architekturami a implementovali osobní vkus a nápady. V 60. letech v historii programovacích jazyků byly učiněny pokusy překonat tento „rozpor“ vytvořením univerzálního programovacího jazyka. Prvním duchovním dítětem tohoto směru byl PL/I (Programm Language One), 1967. Poté se této role přihlásil ALGOL-68 (1968). Předpokládalo se, že se takové jazyky vyvinou a zdokonalí a vytlačí všechny ostatní. Žádný z těchto pokusů však dosud nebyl úspěšný. Komplexnost jazyka vedla z programátorského hlediska k neopodstatněné složitosti struktur a neefektivitě překladačů.

    Koncem 50. let se v historii programovacích jazyků objevil Algol (ALGOL, z ALGOritmický jazyk - algoritmický jazyk). Algol je určen pro záznam, který je konstruován ve formě sledu postupů používaných k řešení zadaných problémů.

    Vývoj myšlenky Algolu o strukturování vývoje algoritmů se nejvíce odrazil v historii programovacích jazyků s vytvořením jazyka Pascal na počátku 70. let švýcarským vědcem Niklausem Wirthem. Jazyk Pascal byl původně vyvinut jako vzdělávací jazyk a nyní je skutečně jedním z hlavních jazyků pro výuku programování na školách a univerzitách.

    Období od konce 60. do začátku 80. let je v historii programovacích jazyků charakteristické rychlým růstem počtu různých jazyků, který paradoxně provázel softwarovou krizi. Tato krize byla zvláště akutní pro americké vojenské oddělení. V lednu 1975 se Pentagon rozhodl vnést pořádek do chaosu překladatelů a ustavil výbor, který dostal příkaz vyvinout jeden univerzální jazyk. Vítězný jazyk byl nazván ADA.

    Jazyk C (první verze – 1972), který je velmi oblíbený mezi vývojáři softwarových systémů (včetně). C kombinuje funkce jak vysokoúrovňového jazyka, tak strojově orientovaného jazyka, což umožňuje programátorovi přístup ke všem strojovým prostředkům, které jazyky jako BASIC a Pascal neposkytují.

    Po mnoho let byl software postaven na základě operačních a procedurálních jazyků jako Fortran, BASIC, Pascal, Ada, C. Klasické operační a/nebo procedurální programování vyžaduje, aby programátor podrobně popsal, jak problém vyřešit, tzn. formulace algoritmu a jeho speciální notace. V tomto případě obvykle nejsou uvedeny očekávané vlastnosti výsledku. Základní pojmy jazyků těchto skupin jsou operátor a data. V procedurálním přístupu se operátory spojují do skupin – procedur. Strukturované programování jako celek tento směr nepřekračuje, pouze dodatečně zachycuje některé užitečné techniky programovací techniky.

    Zásadně odlišný směr v historii programovacích jazyků je spojen s metodikami (někdy nazývanými „paradigmata“) neprocedurálního programování. Patří mezi ně objektově orientované a deklarativní programování. Objektově orientovaný jazyk vytváří prostředí ve formě mnoha nezávislých objektů. Každý objekt se chová jako samostatný počítač, lze je použít k řešení problémů jako „černé skříňky“, aniž by se museli ponořit do vnitřních mechanismů jejich fungování. Z mezi profesionály populárních objektových programovacích jazyků je třeba nejprve zmínit C++, pro širší spektrum programátorů jsou preferována prostředí jako Delphi a Visual Basic.