Počítačové programovací jazyky: typy, popis, aplikace a recenze. Programovací jazyky na vysoké a nízké úrovni: Které byste se měli naučit?

Není žádným tajemstvím, že programátoři patří mezi nejlépe placené specialisty po celém světě. Rusko není výjimkou. I zde se cení dobří programátoři. A pokud máte zájem o rychle rostoucí a lukrativní kariéru, možná se budete chtít učit a stát se programátorem.

Abych vám pomohl s tímto výběrem, shromáždil jsem údaje z různých stránek pro hledání zaměstnání. I když se nejedná o úplný seznam, poskytuje přehled o nejžádanějších programovacích jazycích (požadovaných zaměstnavateli).

9 nejoblíbenějších programovacích jazyků roku 2016

Není divu, že SQL je na prvním místě v seznamu, protože se používá téměř všude a v širokém rozsahu. Databázové technologie jako MySQL, PostgreSQL a Microsoft SQL se používají na serverech velkých i malých podniků, nemocnic, bank, univerzit atd. Opravdu, téměř každý počítač a osoba s přístupem k databázi se nakonec dotkne SQL. Například všechny telefony a iPhony se systémem Android mají přístup k databázi SQL s názvem SQLite a mnoho mobilních aplikací vyvinutých společnostmi Google, Skype a Dropbox ji přímo používá.

  1. Jáva

Technologická komunita nedávno oslavila 20. výročí Java. Je to jeden z nejrozšířenějších programovacích jazyků, který používá téměř 9 milionů vývojářů a běží na 7 miliardách zařízení po celém světě. Je to programovací jazyk používaný k vývoji všech nativních aplikací pro Android. Popularita Java vývojářů pochází ze skutečnosti, že jazyk má dlouhodobou kompatibilitu, což zajišťuje, že starší aplikace budou nadále fungovat nyní i v budoucnu. Jediným problémem je, že tento jazyk je poměrně obtížné zvládnout, zejména pro začátečníky.

JavaScript je dalším z nejpopulárnějších a nejvýkonnějších programovacích jazyků a používá se k oživení webových stránek tím, že jsou interaktivní. JavaScript lze například použít k přidávání efektů na webové stránky, zobrazování vyskakovacích zpráv nebo vytváření her se základními funkcemi. Za zmínku také stojí, že JavaScript je skriptovací jazyk World Wide Web a je ve výchozím nastavení zabudován do všech hlavních webových prohlížečů, včetně Internet Exploreru, FireFoxu a Safari. Téměř každý web obsahuje některé prvky JavaScriptu, což zvyšuje poptávku po vývojářích JavaScriptu. JavaScript se v posledních letech začal používat také jako základ pro Node.js, technologii na straně serveru, která mimo jiné umožňuje komunikaci v reálném čase.

C# (vyslovováno C-Sharp) je relativně nový programovací jazyk vyvinutý společností Microsoft pro širokou škálu podnikových aplikací, které běží na .NET Framework. Evoluce C a C++, jazyk C# je jednoduchý, moderní, bezpečný a objektově orientovaný.

C++ (vyslovováno C-plus-plus) je obecný objektově orientovaný programovací jazyk založený na jazyce C. C++, vyvinutý Bjarnem Stroustrupem v Bell Labs, byl poprvé vydán v roce 1983. Stroustrup spravuje rozsáhlý seznam aplikací napsaných v C++. Seznam zahrnuje aplikace Adobe a Microsoft, databáze MongoDB, většinu Mac OS/X a je nejlepším jazykem pro studium výkonu kriticky důležitých aplikací, jako je vývoj her typu „twitch“ nebo zpracování zvuku/videa.

Python je univerzální programovací jazyk, který byl pojmenován po Monty Python. Python je jednoduchý a snadno čitelný (pro ty, kteří umí anglicky). Je to skvělý jazyk pro začátečníky i zkušené profesionály. Pro Python je k dispozici mnoho kurzů programování, přičemž 8 z 10 oddělení informatiky vyučuje kódování v Pythonu. Díky použití Pythonu ve vzdělávání existuje mnoho knihoven vytvořených pro Python souvisejících s matematikou, fyzikou, zpracováním vědy atd.

PHP, vytvořené dánsko-kanadským programátorem Rasmusem Lerdorfem v roce 1994, nebylo zamýšleno jako nový programovací jazyk. Místo toho byl vytvořen, aby sloužil jako sada nástrojů, které jeho tvůrci pomáhají udržovat jeho osobní stránku na internetu (v PHP). Dnes je PHP skriptovací jazyk na straně serveru, který lze použít k vytváření webových stránek napsaných ve formátu HTML. PHP je velmi oblíbený jazyk, protože je snadno použitelný pro nové programátory, ale také nabízí mnoho pokročilých funkcí pro zkušenější programátory.

Stejně jako Java nebo jazyk C je Ruby univerzální programovací jazyk. Ruby on Rails se používá k psaní webových aplikací a také poskytuje integraci s webovým serverem a databází. Ruby on Rails má mnoho pozitivních vlastností, včetně rychlého vývoje a široké škály knihoven. Používá jej mnoho společností od malých začínajících až po velké podniky. Hulu, Twitter, Github a Living Social používají Ruby on Rails alespoň pro jednu ze svých webových aplikací.

V roce 2014 se Apple rozhodl vymyslet svůj vlastní programovací jazyk. Výsledkem je Swift, nový programovací jazyk pro vývojáře iOS a OS X. Vývojáři tvrdí, že mnoho částí Swiftu znají z jejich zkušeností s prací v C++ a Objective-C. Mnoho společností na Západě, včetně American Airlines, LinkedIn a Duolingo, přešlo na Swift a jazyk bude v následujících letech stále populárnější.

Každý mistr má celou sadu nástrojů, z nichž každý je vhodný pro konkrétní úkol. Stejně tak u programování nikdy nebude existovat pouze jeden jazyk a každý jazyk se bude časem vyvíjet a zdokonalovat, aby držel krok s inovacemi.

Proto, pokud máte zájem stát se vývojářem, je důležité, abyste se naučili více programovacích jazyků, abyste byli všestranní a přizpůsobiví a mohli se i nadále učit jazyky během své kariéry.

Od začínajících programátorů to zní takto: "S jakým jazykem bych měl začít?" Přizvali jsme naše odborníky, aby odpověděli.

Vše záleží na tom, jakou oblast si vyberete. Pokud chcete pracovat přímo s hardwarem, psát ovladače a různé aplikace vyžadující maximální výkon, pak vám postačí pouze C nebo C++. Pokud jsou vaším cílem aplikace pro mobilní telefony, vyplatí se naučit se Java nebo Objective C, C#. Webové servery vyžadují go, python a php; pro webové aplikace - JavaScript.

Pokud jste se ještě nerozhodli pro oblast, můžete klidně zvolit C/C++, protože se znalostí tohoto jazyka se snadno naučíte jakýkoli jiný. Je důležité si pamatovat pouze jednu věc: stejně jako mluvený jazyk je programovací jazyk zapomenut, pokud není neustále používán, takže je lepší umět plynně jeden nebo dva jazyky, než mít povrchní znalosti velký počet.

Podle mého názoru není skutečný programátor nikdy omezen na znalost pouze jednoho jazyka. A i když se v budoucnu chystáte psát ovladače a systémové aplikace, stále budete potřebovat některý ze skriptovacích jazyků, jako je perl nebo python. Navíc znalost skriptovacích jazyků je nyní prostě nezbytná pro každého programátora, navzdory jeho specializaci.

Propagovat Demote

Python je docela vhodný pro učení obecných konceptů programování. Je to velmi oblíbený jazyk, má mnoho knihoven, syntaxe je dobře čitelná a kód je docela úhledný. Hlavní výhody Pythonu pro začátečníky jsou v tom, že je celkem běžný a snadno se učí. Snadno na něm můžete psát jak webové aplikace, tak běžné desktopové. V závislosti na oblasti předmětu je třeba zvolit objektově orientovaný jazyk. Pokud například děláte systémové programování, pak je nejlepší C++. Pokud vyvíjíte podnikovou aplikaci (podnikové informační systémy), pak je to C# nebo Java.

Propagovat Demote

Svého času jsem začínal s Fortranem a Pascalem, protože jsem je měl v ústavu. Pak tu bylo C/C++, Visual Basic Script, PHP a Visual Basic, pak C#, pak trochu F#.

Na základě mých zkušeností a možnosti výběru mi nejvíce vyhovovalo vyvíjet v C#, a tam bych začal. C++ mi dalo především pochopení algoritmů a operačních mechanismů operačního systému, pro který jsem psal.

Propagovat Demote

Myslím, že nejlepší místo, kde se začít učit, je JavaScript. Díky webovým prohlížečům je tento programovací jazyk de facto standardem pro tvorbu webových aplikací, jedné z nejrychleji rostoucích oblastí vývoje. Je na něm také vynikající bezplatná kniha „Výmluvný JavaScript“, přeložená do ruštiny.

Propagovat Demote

Vše závisí na problému, který chcete vyřešit. Pokud je to však váš první jazyk, doporučil bych vám silně typovaný obecný jazyk (C++, Java, .NET): v žádném případě se s nimi neztratíte a bude snadné přejít na jakýkoli jiný. Dalším zajímavým způsobem, jak zjistit, který jazyk studovat, je jít na GitHub, vyhledat téma, které vás zajímá, a podívat se, co píší ostatní vývojáři.

Propagovat Demote

, technologický evangelista pro Microsoft, docent na MIPT, MAI, učitel na dětském táboře JUNIO-R

Vše záleží na věku. Pokud se rozhodnete učit programovat opravdu od mládí a ještě vám není 12 let, je lepší začít s jednoduchými grafickými jazyky, jako je např. Herní laboratoř Kodu nebo Poškrábat. Předpokládá se, že tradiční programovací jazyky by měly být zvládnuty po 12. Z tradičních jazyků mi byl vždy blízký C# - má dobré vývojové prostředí a můžete naprogramovat vše: od her po Jednota, na webové stránky na ASP .NET nebo elektroniku. Chcete-li se naučit, můžete sledovat video tutoriály nebo si přečíst knihu C# pro školáky.

Propagovat Demote

Doporučil bych začátečníkům, aby nejprve pochopili, že jazyk je pouze nástroj v práci programátora. Ano, samozřejmě, je důležité si tím být jistý, aby bylo možné vytvářet dobré programy, ale na prvním místě by měla být dovednost vývojáře a ne jazyk, ve kterém píše.

Ale protože stále musíte někde začít a studovat stejné algoritmy a datové struktury ve vakuu není příliš pohodlné, mohu k tomu doporučit použít jazyk C. Je dostatečně nízká, aby nezaváděla tuny syntaktického cukru a poskytovala obecné pochopení toho, jak počítač, na kterém běží program, funguje. Ale zároveň to není jazyk symbolických instrukcí, který umožňuje soustředit se na obecné věci bez utrácení Ó Většina duševního úsilí jde do zapamatování všech jmen skoků a hodnot registrů. Pro literaturu doporučuji klasiku

Učebnice se skládá ze dvou částí: teoretické a praktické. Teoretická část učebnice nastiňuje základy moderní informatiky jako komplexní vědní a technické disciplíny, včetně studia struktury a obecných vlastností informací a informačních procesů, obecných zásad pro konstrukci výpočetních zařízení, otázek organizace a fungování výpočetní techniky. informační a počítačové sítě, počítačová bezpečnost a klíčové pojmy algoritmizace a programování, databáze a DBMS. Pro kontrolu získaných teoretických znalostí jsou nabízeny samotestovací otázky a testy. Praktická část se zabývá algoritmy pro základní akce při práci s textovým procesorem Microsoft Word, tabulkovým editorem Microsoft Excel, programem pro tvorbu prezentací Microsoft Power Point, archivačními programy a antivirovými programy. Pro upevnění absolvovaného praktického kurzu je na konci každé části navrženo absolvování samostatné práce.

Rezervovat:

Sekce na této stránce:

8.2. Programovací jazyky

Typy programování

Pokrok výpočetní techniky předurčil proces vzniku nových a různorodých znakových systémů pro záznamové algoritmy - programovacích jazyků. Smyslem vzhledu takového jazyka je vybavená sada výpočetních vzorců s dalšími informacemi, která tuto sadu promění v algoritmus.

Programovací jazyky jsou uměle vytvořené jazyky. Od přirozených se liší omezeným počtem „slov“ a velmi přísnými pravidly pro psaní příkazů (operátorů). Souhrn těchto požadavků tvoří syntaxi programovacího jazyka a význam každého příkazu a konstrukce jiného jazyka tvoří jeho sémantiku.

Programovací jazyky jsou formální jazyky pro komunikaci člověka s počítačem, určené k popisu sady instrukcí, jejichž provedení zajišťuje správné řešení požadované úlohy. Jejich hlavní úlohou je plánovat činnosti zpracování informací. Každý programovací jazyk je založen na systému pojmů a s jeho pomocí může člověk vyjádřit své myšlenky.

Spojení mezi jazykem, ve kterém myslíme/programujeme, a problémy a řešeními, která si dokážeme představit ve své mysli, je velmi těsné. Z tohoto důvodu je omezení vlastností jazyka pouze za účelem eliminace programátorských chyb přinejlepším nebezpečné. Stejně jako u přirozených jazyků má být alespoň bilingvní obrovské výhody. Jazyk poskytuje programátorovi sadu koncepčních nástrojů, pokud nesplňují úkol, pak jsou jednoduše ignorovány. Například závažná omezení konceptu ukazatele nutí programátora používat k implementaci struktur, ukazatelů atd. vektory a celou aritmetiku. Dobrý návrh a bez chyb nelze zaručit pouze jazykovými prostředky.

Může se to zdát překvapivé, ale daný počítač je schopen spouštět programy napsané v jeho rodném strojovém jazyce. Existuje téměř tolik různých strojových jazyků jako počítačů, ale všechny jsou variacemi stejné myšlenky – jednoduché operace prováděné rychlostí blesku na binárních číslech.

Strojově závislé programovací jazyky

Strojově závislé jazyky jsou jazyky, jejichž sady operátorů a vizuálních prostředků výrazně závisí na vlastnostech počítače (vnitřní jazyk, struktura paměti atd.). Tyto jazyky se nazývají nízkoúrovňové programovací jazyky. Jsou zaměřeny na konkrétní typ procesoru a zohledňují jeho vlastnosti. Operátoři takového jazyka mají blízko ke strojovému kódu a jsou zaměřeni na specifické příkazy procesoru, to znamená, že tento jazyk je závislý na stroji. Jazykem nízké úrovně je jazyk symbolických instrukcí. S jeho pomocí se vytvářejí velmi efektivní a kompaktní programy, protože vývojář získá přístup ke všem schopnostem procesoru. Podobné jazyky se používají k psaní malých systémových aplikací, ovladačů zařízení a knihoven. V případech, kdy je množství paměti RAM a ROM malé (v oblasti několika kilobajtů), neexistuje žádná alternativa k assembleru. Právě tyto programovací jazyky vám umožňují získat nejkratší a nejrychlejší programový kód.

Strojově nezávislé programovací jazyky

Strojově nezávislé jazyky jsou prostředkem k popisu algoritmů pro řešení problémů a informací, které mají být zpracovány. Jsou snadno použitelné pro širokou škálu uživatelů a nevyžadují od nich znalost specifik organizace fungování počítače a výpočetního systému.

Takové jazyky se nazývají programovací jazyky na vysoké úrovni. Programy kompilované v těchto jazycích jsou sekvence příkazů strukturované podle pravidel prohlížení jazyka (úkoly, segmenty, bloky atd.). Jazykové příkazy popisují akce, které musí systém provést po překladu programu do strojového jazyka.

Příkazové sekvence (procedury, podprogramy), často používané ve strojových programech, jsou ve vyšších jazycích reprezentovány jednotlivými příkazy. Programátor nebyl schopen detailně popsat výpočetní proces na úrovni strojových instrukcí, ale zaměřit se na hlavní rysy algoritmu.

Programovací jazyky na vysoké úrovni jsou lidem mnohem bližší a srozumitelnější. Neberou v úvahu vlastnosti konkrétních počítačových architektur, to znamená, že tyto jazyky jsou na stroji nezávislé. To umožňuje, aby byl jednou napsaný program v takovém jazyce použit na různých počítačích.

Je možné psát programy přímo ve strojovém jazyce, i když je to obtížné. Na úsvitu komputerizace (na počátku 50. let) byl strojový jazyk jediným jazykem, který do té doby nevynalezl nic jiného. Aby se programátoři zachránili před nástrahami strojového programovacího jazyka, byly vytvořeny jazyky na vysoké úrovni (tj. nestrojové jazyky), které se staly jakýmsi spojovacím mostem mezi lidmi a strojovým jazykem počítače. Jazyky na vysoké úrovni fungují prostřednictvím překladatelských programů, které vkládají „zdrojový kód“ (hybrid anglických slov a matematických výrazů, které čte stroj) a nakonec způsobí, že počítač vykoná odpovídající příkazy zadané ve strojovém jazyce.

Mezi programovací jazyky na vysoké úrovni patří: Fortran, Cobol, Algol, Pascal, Basic, C, C++, Java, HTML, Perl a další.

Pomocí programovacího jazyka se nevytváří hotový program, ale pouze jeho text, který popisuje dříve vyvinutý algoritmus. Chcete-li získat funkční program, musíte buď automaticky přeložit tento text do strojového kódu a poté jej použít odděleně od zdrojového textu, nebo okamžitě provést příkazy jazyka uvedené v textu programu. K tomu slouží překladačové programy.

Existují dva hlavní typy překladačů (obrázek 8.4): tlumočníci, kteří skenují a kontrolují zdrojový kód v jediném kroku, a kompilátory, které skenují zdrojový kód, aby vytvořily programový text ve strojovém jazyce, který se pak spouští samostatně.


Obrázek 8.4. Typy překladatelů

Při použití kompilátorů se celý zdrojový text programu převádí do strojových kódů a právě tyto kódy se zapisují do paměti mikroprocesoru. Při použití interpretru se zdrojový text programu zapíše do paměti mikroprocesoru a při čtení dalšího příkazu se provede překlad. Výkon interpreterů je přirozeně mnohem nižší ve srovnání s kompilátory, protože při použití operátoru ve smyčce je mnohokrát překládán. Při programování v jazyce na vysoké úrovni však může být množství kódu, které je třeba uložit do vnitřní paměti, výrazně menší ve srovnání se spustitelným kódem. Další výhodou použití interpretů je snadná přenositelnost programů z jednoho procesoru na druhý.

Jednou často zmiňovanou výhodou interpretační implementace je, že umožňuje „okamžitý režim“. Přímý režim vám umožňuje položit počítači úkol a vrátí vám odpověď, jakmile stisknete ENTER. Překladače mají navíc speciální atributy, které usnadňují ladění. Můžete například přerušit zpracování programu tlumočníka, zobrazit obsah určitých proměnných, procházet program a pak pokračovat v provádění. Jazyky tlumočníků však mají nevýhody. Je například nutné mít kopii interpretru neustále v paměti, přičemž mnoho schopností interpretru, a tedy i jeho schopností, nemusí být nutné pro spuštění konkrétního programu. Při provádění příkazů programu musí tlumočník nejprve skenovat každý příkaz, aby si přečetl jeho obsah (co mě tato osoba žádá?) a poté provést požadovanou operaci. Operátoři ve smyčkách jsou nadměrně skenováni.

Kompilátor je překladač textu do strojového jazyka, který přečte zdrojový text. Vyhodnocuje jej podle syntaktické struktury jazyka a převádí do strojového jazyka. Jinými slovy, kompilátor nespouští programy, ale vytváří je. Interprety nelze oddělit od programů, které spouštějí, kompilátory dělají svou práci a opouštějí scénu. Při práci s kompilovaným jazykem, jako je Turbo BASIC, zjistíte, že je nutné uvažovat o vašich programech z hlediska dvou hlavních fází jejich života: období kompilace a období běhu. Většina programů poběží čtyřikrát až desetkrát rychleji než jejich ekvivalenty tlumočníků. Pokud budete pracovat na jeho zlepšení, můžete dosáhnout 100x zlepšení výkonu. Odvrácenou stranou mince je, že programy, které většinu času tráví hraním se soubory na disku nebo čekáním na vstup, nebudou schopny vykazovat žádné působivé zvýšení rychlosti.

Proces vytváření programu se nazývá programování.

Existuje několik typů programování.

Algoritmické nebo modulární

Základní myšlenkou algoritmického programování je rozdělit program do sekvence modulů, z nichž každý provádí jednu nebo více akcí. Jediným požadavkem na modul je, aby jeho provádění vždy začínalo prvním příkazem a končilo vždy posledním příkazem (to znamená, aby nebylo možné přistupovat k příkazům modulu zvenčí a přenášet řízení z modulu na jiné příkazy, obcházení poslední).

Algoritmus ve zvoleném programovacím jazyce je napsán pomocí příkazů pro popis dat, výpočet hodnot a řízení sekvence provádění programu.

Text programu je lineární sekvence přiřazení, smyčky a podmíněných příkazů. Tímto způsobem můžete řešit nepříliš složité problémy a vytvářet programy obsahující několik stovek řádků kódu. Poté srozumitelnost zdrojového textu prudce klesá kvůli tomu, že se obecná struktura algoritmu ztrácí za konkrétními jazykovými operátory, které provádějí příliš podrobné, elementární akce. Vzniká mnoho vnořených podmíněných příkazů a operátorů smyček, logika se stává zcela matoucí a při pokusu o opravu jednoho chybného příkazu se zavádí několik nových chyb souvisejících se zvláštnostmi fungování tohoto operátoru, jejichž výsledky jsou často brány v úvahu v různá místa v programu.

Strukturované programování

Při vytváření středně velkých aplikací (několik tisíc řádků zdrojového kódu) se používá strukturované programování, jehož myšlenkou je, že struktura programu by měla odrážet strukturu řešeného problému tak, aby byl algoritmus řešení jasně viditelný. ze zdrojového textu. K tomu potřebujete prostředky k vytvoření programu nejen pomocí tří jednoduchých příkazů, ale také pomocí nástrojů, které přesněji odrážejí specifickou strukturu algoritmu. Za tímto účelem byl do programování zaveden koncept podprogramu – množiny operátorů, které provádějí požadovanou akci a jsou nezávislé na ostatních částech zdrojového kódu. Program je rozdělen do mnoha malých podprogramů (zabírajících až 50 příkazů – kritický práh pro rychlé pochopení účelu podprogramu), z nichž každý provádí jednu z akcí specifikovaných v původní úloze. Kombinací těchto podprogramů je možné vytvořit konečný algoritmus nikoli z jednoduchých operátorů, ale z úplných bloků kódu, které mají určitý sémantický význam, a na takové bloky lze odkazovat jménem. Ukazuje se, že podprogramy jsou nové operátory nebo jazykové operace definované programátorem.

Schopnost používat podprogramy klasifikuje programovací jazyk jako procedurální jazyk.

Přítomnost rutin vám umožňuje navrhovat a vyvíjet aplikaci shora dolů – tento přístup se nazývá design shora dolů. Nejprve je identifikováno několik podprogramů, které řeší nejglobálnější úkoly (například inicializace dat, hlavní část a dokončení), poté je každý z těchto modulů podrobně popsán na nižší úrovni, přičemž se postupně rozděluje na malý počet dalších podprogramy a tak dále, dokud není celý úkol dokončen.

Tento přístup je vhodný, protože umožňuje člověku neustále přemýšlet na úrovni předmětu, aniž by sestupoval ke konkrétním operátorům a proměnným. Navíc je pro některé možné neimplementovat podprogramy okamžitě, ale dočasně je odložit, dokud nebudou dokončeny další části. Pokud je například potřeba vypočítat složitou matematickou funkci, pak je pro takový výpočet přidělen samostatný podprogram, který je však dočasně implementován jedním operátorem, který jednoduše přiřadí předem vybranou hodnotu. Jakmile je celá aplikace napsána a odladěna, můžete tuto funkci začít implementovat.

Důležité také je, že malé podprogramy se mnohem snáze ladí, což výrazně zvyšuje celkovou spolehlivost celého programu.

Velmi důležitou vlastností podprogramů je jejich znovupoužitelnost. Integrované programovací systémy přicházejí s velkými knihovnami standardních rutin, které mohou výrazně zvýšit produktivitu tím, že při vytváření běžně používaných rutin využívají práci někoho jiného.

Existují dva typy podprogramů – procedury a funkce. Liší se tím, že procedura jednoduše provede skupinu příkazů a funkce navíc vypočítá určitou hodnotu a předá ji zpět hlavnímu programu (vrátí hodnotu). Tato hodnota má určitý typ (funkce má prý takový a takový typ).

Podprogramy plní tři důležité úkoly:

Eliminuje potřebu opakovaně opakovat podobné fragmenty v textu programu;

Zlepšit strukturu programu a usnadnit mu pochopení;

Zvyšuje odolnost proti programovým chybám a nepředvídatelným následkům při úpravách programu.

Objektově orientované programování

V polovině 80. let se objevil nový směr v programování založený na konceptu objektu. Do té doby byla hlavní omezení schopnosti vytvářet velké systémy dána nejednotností programu dat a metod jejich zpracování.

Reálné objekty v okolním světě mají tři základní charakteristiky: mají soubor vlastností, jsou schopny tyto vlastnosti různými metodami měnit a reagují na události, které vznikají jak v okolním světě, tak v objektu samotném. Právě v této podobě je v programovacích jazycích implementován koncept objektu jako soubor vlastností (datové struktury charakteristické pro tento objekt), metod pro jejich zpracování (rutiny pro změnu vlastností) a událostí, na které může tento objekt reagovat. a které zpravidla vedou ke změně vlastností objektu.

Vznik schopnosti vytvářet objekty v programech měl kvalitativní dopad na produktivitu programátorů. Maximální objem aplikací, které byly k dispozici pro tvorbu skupinou 10 programátorů, se během několika let zvýšil na miliony řádků kódu, přičemž zároveň bylo možné dosáhnout vysoké spolehlivosti programu a, což je důležité, znovu použít dříve vytvořené objekty v jiné úkoly.

Objekty mohou mít stejnou strukturu a lišit se pouze v hodnotách vlastností. V takových případech program vytvoří nový typ založený na struktuře jednoho objektu. Říká se tomu třída a každý konkrétní objekt, který má strukturu této třídy, se nazývá instance třídy.

Objektově orientovaný programovací jazyk se vyznačuje třemi hlavními vlastnostmi.

Programovací jazyk

Programovací jazyk- formální znakový systém určený pro záznam počítačových programů. Programovací jazyk definuje soubor lexikálních, syntaktických a sémantických pravidel, která definují vzhled programu a akce, které bude performer (počítač) provádět pod jeho kontrolou.

  • Funkce: Programovací jazyk je určen pro psaní počítačových programů, které se používají k přenosu instrukcí do počítače pro provádění konkrétního výpočetního procesu a organizaci řízení jednotlivých zařízení.
  • Úkol: Programovací jazyk se liší od přirozených jazyků v tom, že je určen k přenosu příkazů a dat z osoby do počítače, zatímco přirozené jazyky se používají ke komunikaci mezi lidmi. Definici „programovacích jazyků“ můžeme zobecnit – jde o způsob předávání příkazů, příkazů, jasných pokynů pro jednání; zatímco lidské jazyky slouží také k výměně informací.
  • Provedení: Programovací jazyk může používat speciální konstrukce k definování a manipulaci s datovými strukturami a řízení procesu výpočtu.

Standardizace programovacích jazyků

Programovací jazyk může být reprezentován jako soubor specifikací, které definují jeho syntaxi a sémantiku.

Pro mnoho široce používaných programovacích jazyků byly vytvořeny mezinárodní standardy. Speciální organizace pravidelně aktualizují a zveřejňují specifikace a formální definice odpovídajícího jazyka. V rámci těchto komisí pokračuje vývoj a modernizace programovacích jazyků a řeší se otázky rozšiřování či podpory stávajících i nových jazykových konstrukcí.

Typy dat

Moderní digitální počítače jsou obvykle binární a ukládají data v binárním kódu (ačkoli implementace v jiných číselných soustavách jsou také možné). Tato data obvykle odrážejí informace ze skutečného světa (jména, bankovní účty, míry atd.) představující koncepty na vysoké úrovni.

Speciálním systémem, kterým jsou data organizována v programu, je typový systém programovací jazyk; vývoj a studium typových systémů je známé jako teorie typů. Jazyky lze klasifikovat jako systémy se statickým psaním a jazyky s dynamické psaní.

Staticky typované jazyky lze dále rozdělit na jazyky s povinné prohlášení, kde každá deklarace proměnné a funkce má požadovanou deklaraci typu a jazyky s odvozené typy. Dynamicky typované jazyky se někdy nazývají latentní typizovaný.

Datové struktury

Typové systémy ve vyšších jazycích umožňují definici složitých, složených typů, takzvaných datových struktur. Typicky jsou strukturální datové typy tvořeny jako kartézský součin základních (atomových) typů a dříve definovaných kompozitních typů.

Základní datové struktury (seznamy, fronty, hashovací tabulky, binární stromy a páry) jsou ve vyšších jazycích často reprezentovány speciálními syntaktickými konstrukcemi. Taková data jsou strukturována automaticky.

Sémantika programovacích jazyků

Existuje několik přístupů k definování sémantiky programovacích jazyků.

Nejrozšířenější odrůdy jsou tyto tři: operační, derivační (axiomatická) a denotační (matematická).

  • Při popisu sémantiky uvnitř provozní Obvykle je provádění konstruktů programovacího jazyka interpretováno pomocí nějakého imaginárního (abstraktního) počítače.
  • Odvozovací sémantika popisuje důsledky provádění jazykových konstruktů pomocí jazyka logiky a specifikování pre- a post-podmínek.
  • Denotační Sémantika operuje s pojmy typickými pro matematiku – množiny, korespondence, ale i úsudky, výroky atd.

Paradigma programování

Programovací jazyk je vytvořen v souladu s jedním nebo druhým základním výpočetním modelem a programovacím paradigmatem.

Navzdory skutečnosti, že většina jazyků je zaměřena na imperativní model počítání, definovaný von Neumannovou počítačovou architekturou, existují i ​​jiné přístupy. Zmínit můžeme jazyky se zásobníkovým výpočetním modelem (Forth, Factor, PostScript atd.), dále funkční (Lisp, Haskell atd.) a logické programování (Prolog) a jazyk REFAL, založený na výpočetním modelu. představil sovětský matematik A. Markov ml.

V současné době se také aktivně vyvíjejí problémově orientované, deklarativní a vizuální programovací jazyky.

Způsoby implementace jazyků

Programovací jazyky mohou být implementovány jako kompilované nebo interpretované.

Program v kompilovaném jazyce je pomocí kompilátoru (speciálního programu) převeden (zkompilován) do strojového kódu (souboru instrukcí) pro daný typ procesoru a poté sestaven do spustitelného modulu, který lze spustit ke spuštění. jako samostatný program. Jinými slovy, kompilátor překládá zdrojový kód programu z vysokoúrovňového programovacího jazyka do binárních kódů instrukcí procesoru.

Pokud je program napsán v interpretovaném jazyce, pak interpret přímo provádí (interpretuje) zdrojový text bez předchozího překladu. V tomto případě zůstane program v původním jazyce a nelze jej spustit bez tlumočníka. Počítačový procesor lze v tomto ohledu nazvat interpretem strojového kódu.

Rozdělení na kompilované a interpretované jazyky je podmíněné. Takže pro jakýkoli tradičně kompilovaný jazyk, jako je Pascal, můžete napsat interpret. Většina moderních „čistých“ interpretů navíc neprovádí jazykové konstrukce přímo, ale kompiluje je do nějaké střední reprezentace na vysoké úrovni (například s proměnnou dereferencí a makroexpanzí).

Kompilátor lze vytvořit pro jakýkoli interpretovaný jazyk – například jazyk Lisp, který je nativně interpretován, lze překládat bez omezení. Kód generovaný během provádění programu lze také dynamicky kompilovat během provádění.

Kompilované programy se zpravidla spouštějí rychleji a nevyžadují další programy ke spuštění, protože jsou již přeloženy do strojového jazyka. Zároveň při každé změně textu programu je potřeba jej překompilovat, což zpomaluje proces vývoje. Kromě toho lze zkompilovaný program spustit pouze na stejném typu počítače a obvykle pod stejným operačním systémem, pro který byl kompilátor navržen. Chcete-li vytvořit spustitelný soubor pro jiný typ počítače, je vyžadována nová kompilace.

Interpretované jazyky mají některé specifické doplňkové funkce (viz výše), navíc programy v nich lze spouštět ihned po úpravě, což usnadňuje vývoj. Program v interpretovaném jazyce lze často spustit na různých typech strojů a operačních systémů bez dalšího úsilí.

Interpretované programy však běží znatelně pomaleji než zkompilované a nelze je spustit bez interpretačního programu.

Tento přístup v jistém smyslu umožňuje využívat výhody jak interpretů, tak kompilátorů. Je třeba zmínit, že existují jazyky, které mají jak tlumočníka, tak kompilátor (Forth).

Použité symboly

Moderní programovací jazyky jsou navrženy tak, aby používaly ASCII, tedy dostupnost pro všechny grafický ASCII znaky jsou nezbytnou a postačující podmínkou pro psaní jakýchkoliv jazykových konstrukcí. Manažeři Znaky ASCII se používají v omezené míře: povoleny jsou pouze znaky CR, posun řádku LF a horizontální tabulátor HT (někdy také vertikální tabulátor VT a posun stránky FF).

Rané jazyky, které se objevily v éře 6bitových znaků, používaly omezenější sadu. Fortranská abeceda má například 49 znaků (včetně mezery): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ ":

Pozoruhodnou výjimkou je jazyk APL, který používá spoustu speciálních znaků.

Použití jiných než ASCII znaků (jako jsou znaky KOI8-R nebo znaky Unicode) je závislé na implementaci: někdy jsou povoleny pouze v komentářích a znakových/řetězcových konstantách a někdy v identifikátorech. V SSSR existovaly jazyky, kde byla všechna klíčová slova napsána ruskými písmeny, ale tyto jazyky nezískaly velkou popularitu (výjimkou je vestavěný programovací jazyk 1C:Enterprise).

Rozšíření množiny použitých znaků je omezeno skutečností, že mnoho projektů vývoje softwaru je mezinárodních. Bylo by velmi obtížné pracovat s kódem, kde jsou názvy některých proměnných psány ruskými písmeny, jiné arabsky a další čínskými znaky. Zároveň pro práci s textovými daty podporují programovací jazyky nové generace (Delphi 2006, Java) Unicode.

Kurzy programovacích jazyků

Viz také

Poznámky

Literatura

  • Hal Abelson, Gerald Jay Sussman. Struktura a interpretace počítačových programů
  • Robert W. Šebesta. Základní pojmy programovacích jazyků = Concepts of Programming Languages ​​/ Překl. z angličtiny - 5. vyd. - M.: Williams, 2001. - 672 s. - 5000 výtisků.
  • - ISBN 5-8459-0192-8 (ruština), ISBN 0-201-75295-6 (anglicky) Wolfenhagen V.E.
  • Konstrukce programovacího jazyka. Popis techniky. - M.: Center YurInfoR, 2001. - 276 s. - ISBN 5-89158-079-9 Paronjanov V.D.
  • Jak zlepšit svou mysl. Algoritmy bez programátorů - je to velmi jednoduché! - M.: Delo, 2001. - 360 s. - ISBN 5-7749-0211-0 Průkopníci programování. Dialogy s tvůrci nejoblíbenějších programovacích jazyků. - Petrohrad. : Symbol-Plus, 2010. - 608 s. - ISBN 978-5-93286-170-7

Odkazy

  • Seznam jazyků (angličtina) - více než 2500 jazyků se stručnými popisy
  • Historie počítačových jazyků (anglicky) - historie programovacích jazyků (od roku 1954 do května 2004) (obsahuje pravidelně aktualizovanou tabulku)
  • Příklady (anglicky) - příklady programování ve 162 jazycích
  • Popularita programovacího jazyka (angličtina) - studie popularity programovacích jazyků za rok 2004
  • 10 programovacích jazyků, které stojí za to se naučit (2006)
  • Programming Community Index (anglicky) - pravidelně aktualizovaný žebříček oblíbenosti programovacích jazyků
  • Computer Language Shootout Benchmarks (anglicky) - porovnání programovacích jazyků podle efektivity
  • Programovací jazyky, které jsou milovány (anglicky) - srovnání programovacích jazyků podle „lásky“ a „nenávist“ k nim

Nadace Wikimedia.

Nalézt

Klasifikace programovacích jazyků

Na úsvitu počítačové éry 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.

Stávající programovací jazyky lze rozdělit do dvou skupin: procedurální a neprocedurální (viz obr. 4.1).

Procedurální (neboli algoritmické) programy jsou systémem instrukcí pro řešení konkrétního problému. Role počítače je redukována na mechanickou implementaci těchto instrukcí.

Procedurální jazyky se dělí na jazyky nízké a vysoké úrovně. Různé typy procesorů mají různé instrukční sady. Pokud je programovací jazyk zaměřen na konkrétní typ procesoru a zohledňuje jeho vlastnosti, pak se nazývá
nízkoúrovňový programovací jazyk.

To znamená, že operátoři jazyka mají blízko ke strojovému kódu a zaměřují se na konkrétní příkazy procesoru.

Nízkoúrovňové (strojově orientované) jazyky umožňují vytvářet programy ze strojového kódu, obvykle v hexadecimální podobě. Je obtížné s nimi pracovat, ale programy vytvořené s jejich pomocí vysoce kvalifikovaným programátorem zabírají méně místa v paměti a běží rychleji. Pomocí těchto jazyků je pohodlnější vyvíjet systémové programy, ovladače (programy pro ovládání počítačových zařízení) a některé další typy programů.

Nízkoúrovňový (strojově orientovaný) jazyk je Assembler, který jednoduše představuje každou instrukci strojového kódu, nikoli jako čísla, ale pomocí symbolických zápisů
mnemotechnické pomůcky.

Nízkoúrovňové jazyky vytvářejí velmi efektivní a kompaktní programy, protože vývojář má přístup ke všem možnostem procesoru.

Programovací jazyky na vysoké úrovni mnohem bližší a srozumitelnější člověku než počítači. Nejsou v nich zohledněny zvláštnosti konkrétních počítačových architektur, proto jsou vytvořené programy na úrovni zdrojového textu snadno přenositelné na jiné platformy, pro které je překladač tohoto jazyka vytvořen. Je mnohem snazší vyvíjet programy v jazycích na vysoké úrovni pomocí jasných a výkonných příkazů a při vytváření programů se dělá mnohem méně chyb.

Hlavní výhodou algoritmických jazyků na vysoké úrovni je schopnost popsat programy pro řešení problémů ve formě, která je pro lidské vnímání co nejpohodlnější. Ale protože každá rodina počítačů má svůj specifický vnitřní (strojový) jazyk a může provádět pouze ty příkazy, které jsou napsány v tomto jazyce, používají se k překladu zdrojových programů do strojového jazyka speciální překladačové programy.

Práce všech překladatelů je založena na jednom ze dvou principů: interpretaci nebo kompilaci.

Výklad znamená překlad příkazu po příkazu a následné provedení přeloženého příkazu zdrojového programu. V tomto ohledu lze zaznamenat dvě nevýhody interpretační metody: za prvé, tlumočnický program musí být v paměti počítače po celou dobu provádění původního programu, tj. zabírat určité množství paměti; za druhé, proces překladu stejného operátoru se opakuje tolikrát, kolikrát musí být tento příkaz v programu vykonán, což výrazně snižuje výkon programu.

Přes tyto nedostatky, překladatelé-tlumočníci se staly poměrně rozšířenými, protože jsou vhodné pro vývoj a ladění zdrojových programů.

Na sestavení procesy překladu a provádění jsou časově odděleny: nejprve je zdrojový program kompletně přeložen do strojového jazyka (poté je přítomnost překladače v RAM zbytečná) a poté lze přeložený program spustit mnohokrát. V důsledku toho pro stejný program poskytuje překlad pomocí metody kompilace vyšší výkon výpočetního systému při současném snížení požadované paměti RAM.

Velká složitost při vývoji kompilátoru ve srovnání s interpretem ze stejného jazyka je vysvětlena skutečností, že kompilace programu zahrnuje dvě akce: analýzu, tj. určení správnosti zdrojového programu v souladu s pravidly pro konstrukci jazykových konstrukcí vstupu. jazyk a syntéza - generování ekvivalentních programů ve strojových kódech. Vysílání metodou kompilace vyžaduje opakované „sledování“ vysílaného programu, tzn. překladatelé-kompilátoři jsou víceprůchodové: při prvním průchodu kontrolují správnost syntaxe jazykových konstrukcí jednotlivých operátorů nezávisle na sobě, při následném průchodu správnost syntaktických vztahů mezi operátory atp.

Zavolá se program získaný jako výsledek překladu pomocí metody kompilace objektový modul, což je ekvivalentní program ve strojovém kódu, ale není „vázán“ na konkrétní adresy RAM. Proto musí být objektový modul před spuštěním zpracován speciálním programem operačního systému (Editor odkazů) a převeden na nakládací modul.

Spolu s výše uvedenými překladateli-tlumočníky a překladateli-kompilátory se v praxi používají také překladatelé překladače-překladače, které spojují výhody obou principů překladu: ve fázi vývoje a ladění programů překladač pracuje v režimu tlumočníka a po dokončení procesu ladění je zdrojový program znovu přeložen do objektového modulu (tj. pomocí metody kompilace ). To umožňuje výrazně zjednodušit a zrychlit proces skládání a ladění programů a následným získáním objektového modulu zajistit efektivnější provádění programu.

Klasické procedurální programování vyžaduje, aby programátor poskytl podrobný popis, jak problém vyřešit, tedy formulaci algoritmu a jeho speciální notaci. 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 nepřesahuje tento směr, pouze dodatečně zachycuje některé užitečné techniky
programovací technologie.

Zásadně odlišný směr v programování 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 jej 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 objektových programovacích jazyků populárních mezi profesionály je třeba nejprve zmínit C++, pro širší spektrum programátorů jsou preferována prostředí jako Delphi a Visual Basic.



Při použití deklarativního jazyka programátor specifikuje výchozí informační struktury, vztahy mezi nimi a jaké vlastnosti má mít výsledek. Zároveň programátor nevytváří postup pro jeho získání („algoritmus“) (alespoň v ideálním případě). Tyto jazyky nemají pojem „operátor“ („příkaz“). Deklarativní jazyky lze rozdělit do dvou rodin – logické (typickým představitelem je Prolog) a funkční (Lisp).

Pojďme si charakterizovat nejznámější programovací jazyky.

1.Fortran(systém FORmula TRANslating – systém překladu vzorců); nejstarší jazyk, který se dodnes aktivně používá při řešení problémů matematické orientace. Jedná se o klasický jazyk pro počítačové programování matematických a inženýrských problémů.

2.ZÁKLADNÍ(Beginner's All-purpose Symbolic Instruction Code - univerzální symbolický instrukční kód pro začátečníky i přes mnoho nedostatků a množství špatně kompatibilních verzí je nejoblíbenější z hlediska počtu uživatelů. Široce používaný při psaní jednoduchých programů).

3.ALGOL(ALGOritmický jazyk - algoritmický jazyk); hrál velkou roli v teorii, ale nyní se téměř nikdy nepoužívá pro praktické programování.

4.PL/1(PL/1 Programming Language – první programovací jazyk); víceúčelový jazyk; nyní téměř nepoužívané.

5.Pascal(Pascal – pojmenovaný po vědci Blaise Pascalovi); extrémně populární jak při výuce programování, tak mezi profesionály. Vytvořil na počátku 70. let švýcarský vědec Niklaus Wirth. 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. Jeho celkové kvality se však ukázaly být tak vysoké, že jej profesionální programátoři ochotně využívají. Neméně působivého, včetně finančního, úspěchu dosáhl Philip Kahn, Francouz, který vyvinul systém Turbo Pascal. Podstatou jeho myšlenky bylo spojit po sobě jdoucí fáze zpracování programu – kompilaci, editaci odkazů, ladění a diagnostiku chyb – do jediného rozhraní. Verze Turbo Pascalu zaplnily téměř všechny vzdělávací instituce, programovací centra i soukromé společnosti. Na základě jazyka Pascal bylo vytvořeno několik výkonnějších jazyků (Modula, Ada, Delphi).

6.COBOL(COMmon Business Oriented Language - jazyk orientovaný na všeobecné podnikání); se z velké části přestal používat. Byl koncipován jako hlavní jazyk pro hromadné zpracování dat v oblastech řízení
a podnikání.

7.ADA;je vítězným jazykem (květen 1979) univerzální jazykové soutěže Pentagonu od roku 1975. Vývojáři jsou skupina vědců vedená Jean Ikhbia. Vítězný jazyk byl nazván ADA na počest Augusty Ady Lovelace. Jazyk ADA je přímým potomkem jazyka
Pascal. Tento jazyk je určen pro tvorbu a dlouhodobou (dlouhodobou) údržbu velkých softwarových systémů, umožňuje paralelní zpracování, řízení procesů v reálném čase a mnoho dalšího, čehož je pomocí jednodušších jazyků obtížné nebo nemožné.

8.Si(C – „si“); široce používané při vytváření systémového softwaru. Zanechal velký otisk v moderním programování (první verze byla v roce 1972) a je velmi oblíbený mezi vývojáři softwarových systémů (včetně operačních systémů). C kombinuje vlastnosti 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í.

9.C++(C++ objektově orientované rozšíření jazyka C vytvořené Bjarnem Stroustrupem v roce 1980). Mnoho nových výkonných funkcí, které dramaticky zvýšily produktivitu programátorů, bylo překryto určitou nízkoúrovňovou povahou zděděnou z jazyka C.

10.Delphi(Delphi); objektově orientovaný „vizuální“ programovací jazyk; v současnosti velmi populární. Jazyk Delphi vytvořený na základě jazyka Pascal specialisty Borland, jazyk Delphi, který má sílu a flexibilitu jazyků C a C++, je předčí v pohodlí a jednoduchosti rozhraní při vývoji aplikací, které poskytují interakci s databázemi a podporu různých typy práce v rámci podnikových sítí a internetu .

11.Jáva(Jáva); Objektově orientovaný programovací jazyk nezávislý na platformě, který je mimořádně účinný pro vytváření interaktivních webových stránek. Tento jazyk byl vytvořen společností Sun na počátku 90. let na základě SI++. Je navržen tak, aby zjednodušil vývoj aplikací založených na C++ tím, že z něj odstraní všechny nízkoúrovňové funkce.

12.Lisp(Lisp) je funkcionální programovací jazyk. Zaměřuje se na datovou strukturu ve formě seznamu a umožňuje organizovat efektivní zpracování velkých objemů textových informací.

13.Prolog(PROgramování v LOGicu - logické programování). Hlavním účelem jazyka je vývoj inteligentních programů a systémů. Prolog je programovací jazyk vytvořený speciálně pro práci se znalostními bázemi založenými na faktech a pravidlech (jeden z prvků systémů umělé inteligence). Jazyk implementuje mechanismus zpětného sledování k provedení zpětného řetězce uvažování, ve kterém se předpokládá, že určité závěry nebo závěry jsou pravdivé, a poté jsou tyto předpoklady porovnány se znalostní bází obsahující fakta a pravidla vyvozování.
Pokud se předpoklad nepotvrdí, provede se návrat a nový předpoklad. Jazyk je založen na matematickém modelu teorie predikátového počtu.

Programovací jazyky pro internet:

1. HTML. Známý jazyk pro přípravu dokumentů. Je velmi jednoduchý a obsahuje základní příkazy pro formátování textu, přidávání obrázků, nastavení písma a barev, organizaci odkazů a tabulek.

2. PERL. Byl navržen jako prostředek pro efektivní zpracování velkých textových souborů, generování textových zpráv a správu úloh.
Perl je výrazně výkonnější než jazyky jako C. Obsahuje mnoho často používaných funkcí pro práci s řetězci, poli, správu procesorů a práci se systémovými informacemi.

3. Tcl/Tk. Tento jazyk je zaměřen na automatizaci rutinních procesů a skládá se z výkonných příkazů. Je nezávislý na systému a stále umožňuje vytvářet programy s grafickým rozhraním.

4. VRML. Vytvořeno pro organizaci virtuálních trojrozměrných rozhraní na internetu. Umožňuje popisovat různé trojrozměrné scény, osvětlení a stíny a textury v textové podobě.

Volba programovacího jazyka závisí na mnoha faktorech: účel, snadnost psaní zdrojových programů, efektivita výsledných objektových programů atd. Rozmanitost problémů řešených počítačem určuje rozmanitost programovacích jazyků.

Bezpečnostní otázky

1. Co jsou programovací systémy a do jaké třídy programů patří?

2. Co je součástí programovacích systémů?

3. V jakém programovacím jazyce byly vytvořeny první programy?

4. Na jaké jazyky se dělí procedurální jazyky?

5. Popište nízkoúrovňové jazyky.

6. Který jazyk je jazykem nízké úrovně?

7. Výhody nízkoúrovňových jazyků.

8. Popište jazyky vyšší úrovně.

9. Výhody vysokoúrovňových jazyků.

10. Uveďte příklady jazyků vyšší úrovně.

11. K čemu jsou překladače určeny?

12. Jak se liší kompilátor od interpreta?

13. Nevýhody tlumočení (jako typ překladatele).

14. Jaký je proces sestavení programu?

15. Jaké akce se provádějí během kompilace?

16. Jak se liší zaváděcí modul od objektového?

17. Jak se liší procedurální programování od neprocedurálního programování?

18. Jaké typy programování jsou neprocedurální?
programování?

19. Vlastnosti deklarativních jazyků.

20. Stručně popište programovací jazyky: Fortran, BASIC, Pascal, Cobol.

21. Stručně popište programovací jazyky: Ada, C, C++, Delphi, Java.

22. Uveďte příklady objektově orientovaných jazyků.

23. Do jaké třídy jazyků patří jazyk Lisp?

24. Do jaké třídy jazyků Prolog patří?




Nahoru