Jaké typy programátorů existují. Typy programovacích jazyků

Procedurální (imperativní) programování je odrazem architektury tradičních počítačů. Program v procedurálním programovacím jazyce se skládá z posloupnosti operátorů (instrukcí), které specifikují postup řešení problému. Tím hlavním je operátor přiřazení, který slouží ke změně obsahu paměťových oblastí. Koncept paměti jako úložiště hodnot, jehož obsah lze aktualizovat příkazy programu, je v imperativním programování zásadní. Procedurální programovací jazyk umožňuje programátorovi definovat každý krok v procesu řešení problému. Zvláštností takových programovacích jazyků je, že úkoly jsou rozděleny do kroků a řešeny krok za krokem. Imperativní programování je nejvhodnější pro malé dílčí úlohy, kde je velmi důležitá rychlost provádění na moderních počítačích.

Mezi procedurální programovací jazyky patří: Ada, Basic (verze od Quick Basic po Visual Basic), C, COBOL, Fortran, Modula- 2, Pascal, PL / 1, Rapier, REXX.

Strukturované programování- metodika vývoje softwaru, která je založena na prezentaci programu ve formě hierarchické struktury bloků sestavené ze tří typů základních struktur: sekvenční provádění, větvení a smyčka.

Objektově orientované programování je metodologie programování, která je založena na reprezentaci programu jako kolekce objektů, z nichž každý je implementací určité třídy (datového typu zvláštního druhu) a třídy tvoří hierarchii založenou na principech dědičnosti.

Objekty znamenají spojení dat a procedur, které je zpracovávají, do jediného celku. Objekty si mohou vyměňovat zprávy mezi sebou. Když objekt obdrží zprávu, spustí se odpovídající handler, jinak nazývaný metoda... Objekt má asociativní kontejner, který vám umožňuje přijímat prostřednictvím zprávy jeho metodu pro jeho zpracování. Objekt má navíc objekt předka. Pokud není nalezena žádná metoda pro zpracování zprávy, bude zpráva předána nadřazenému objektu. Tato struktura jako celek (tabulka handlerů + předků) je z důvodu efektivity alokována do samostatného objektu tzv třída tohoto objektu. Samotný objekt bude mít odkaz na objekt reprezentující jeho třídu. Objekty interagují výhradně prostřednictvím vzájemného zasílání zpráv.

Je důležité zdůraznit následující tři hlavní vlastnosti objektů.

Zapouzdření (ochrana dat)- mechanismus, který integruje data a metody, které s těmito daty manipulují, a chrání je před vnějšími zásahy.


Dědictví je proces, při kterém jeden objekt může zdědit vlastnosti jiného objektu a přidat mu jedinečné vlastnosti. Vztah dítě-předek ve třídách se nazývá dědičnost.

Polymorfismus je vlastnost, která umožňuje nahradit objekt jiným objektem s podobnou strukturou třídy. Pokud tedy v jakémkoli scénáři interakce s objektem nahradíte libovolný objekt jiným, který dokáže zpracovat stejné zprávy, scénář bude také implementován.

Deklarativní programování... Důraz v deklarativním programování je na tom, co dělat, ne jak to dělat (v imperativních jazycích). Hlavní je zde přesná formulace problému a volba a aplikace potřebného algoritmu pro jeho řešení je problémem provádějícího systému, nikoli však programátora. Například webové stránky HTML jsou deklarativní v tom, že popisují, co by stránka měla obsahovat, nikoli to, jak se stránka zobrazuje na obrazovce. Tento přístup se liší od imperativních programovacích jazyků, které vyžadují, aby programátor specifikoval algoritmus pro provádění.

Existují dvě větve deklarativního programování: funkční, založené na matematickém konceptu funkce, která nemění své prostředí, na rozdíl od funkcí v procedurálních jazycích, které umožňují vedlejší efekty, a logické, ve kterém jsou programy vyjádřeny jako vzorce matematická logika a počítač pro řešení problému se z nich snaží odvodit logické důsledky.

Logické programování založené na matematické logice. Nejznámějším logickým programovacím jazykem je ale Prolog. Program PROLOG obsahuje dvě složky: fakta a pravidla. Fakta jsou data, se kterými program pracuje, a souhrn faktů tvoří databázi PROLOG, která je ve skutečnosti relační databází. Hlavní operací prováděnou s daty je operace párování, nazývaná také operace sjednocení nebo sesouhlasení.

Stejně jako u jiných deklarativních jazyků programátor při práci s ním popisuje situaci (pravidla a fakta) a formuluje cíl (dotaz), čímž umožňuje interpretovi PROLOGU najít pro něj řešení problému. Interpret PROLOGUE je chápán jako mechanismus řešení problému pomocí jazyka PROLOGUE. Program PROLOG je soubor faktů a (možná) pravidel. Pokud program obsahuje pouze fakta, pak se nazývá databáze. Pokud obsahuje i pravidla, pak se často používá termín znalostní báze.

Na rozdíl od programů napsaných v procedurálních jazycích, které předepisují sekvenci kroků, které musí počítač provést k vyřešení problému, v PROLOGU programátor popisuje fakta, pravidla, vztahy mezi nimi a také požadavky na problém. Nejtypičtější aplikací PROLOGU jsou expertní systémy.

Samotestovací otázky

1. Co je to program? Co znamená interpret?

2. Co je strojový kód?

3. Co je to překladatel? Uveďte typy překladatelů.

4. Jak pracuje tlumočník? Jaké jsou jeho výhody?

5. Jaká je výhoda kompilátorů?

6. Jaké komponenty jsou součástí integrovaného programovacího systému?

7. Co se rozumí datovou strukturou, jaká je klasifikace datové struktury?

8. Co se rozumí datovými poli a jaké operace s nimi lze provádět?

9. Jaké jsou algoritmy pro řazení polí?

10. Jaký je účel podprogramů?

11. K čemu slouží knihovna rutin?

12. Jaké typy programování existují?

Literatura

1. Stavrovsky A.B., Karnaukh T.A. První kroky k programování. Samoučná kniha. - M .: Williams, 2006 .-- 400 s.

2. Okulov S. Základy programování Vydavatel: Binom. Vědomostní laboratoř, 2008 .-- 383 s.

3. Kantsedal S.А. Základy algoritmizace a programování. - M .: Fórum, 2008 .-- 351 s.

4.httn // www myfreesoft ru / default-windows-nroprams html - standardní programy Windows

5.httn // khni-iin nork kharkiv edu / lihrary / datastr / hook / nrt01 html # lb11 - modely a datové struktury

6.httn: //www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 – modely a datové struktury

7.http: //inf.1sentemher.ru/2007/15/00.htm - encyklopedie učitele informatiky

8.http: //www.delnhi.int.ru/articles/119/ - podprogramy.

9.httn // inroc ru / narallel-nroPramminP / lection-5 / - třídění haldy.

Programovací jazyk- formální znakový systém určený k popisu algoritmů ve formě, která je vhodná pro umělce (například počítač). Programovací jazyk definuje soubor lexikálních, syntaktických a sémantických pravidel používaných při sestavování počítačového programu. Umožňuje programátorovi přesně určit, na jaké události bude počítač reagovat, jak budou data ukládána a přenášena a také jaké akce by se s nimi měly za různých okolností provádět.

Od vytvoření prvních programovatelných strojů lidstvo vynalezlo již více než dva a půl tisíce programovacích jazyků. Každý rok se jejich počet doplňuje o nové. Některé jazyky zná jen malý počet jejich vlastních vývojářů, jiné se stávají známými milionům lidí. Profesionální programátoři někdy při své práci používají více než tucet různých programovacích jazyků.

Tvůrci jazyků interpretují tento koncept odlišně programovací jazyk... Mezi běžná místa, která většina vývojářů uznává, jsou následující:

· 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í určitého výpočetního procesu a organizování ří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í pouze pro vzájemnou komunikaci lidí. V zásadě je možné definici „programovacích jazyků“ zobecnit – jde o způsob předávání příkazů, příkazů, jasný návod k 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.

3. Fáze řešení problému na počítači.

Nejúčinnější aplikace VT byla nalezena v pracovně náročných výpočtech ve vědeckém výzkumu a technických výpočtech. Při řešení problému na počítači stále patří hlavní role člověku. Stroj pouze plní své úkoly podle vyvinutého programu. role člověka a stroje je snadno pochopitelná, pokud je proces řešení problému rozdělen do níže uvedených fází.

Formulace problému. Tato fáze spočívá ve věcné (fyzické) formulaci problému a stanovení konečných řešení.

Sestavení matematického modelu. Model by měl správně (adekvátně) popisovat základní zákonitosti fyzikálního procesu. Konstrukce nebo výběr matematického modelu z existujících vyžaduje hluboké porozumění problému a znalost příslušných úseků matematiky.

Vývoj mistrovství světa. Protože počítač může provádět jen ty nejjednodušší operace, „nerozumí“ zadání problému, a to ani v matematické formulaci. K jeho vyřešení je třeba najít numerickou metodu, která umožní redukovat problém na nějaký výpočetní algoritmus. V každém konkrétním případě je nutné zvolit vhodné řešení z již vyvinutých standardních.

Vývoj algoritmů. Proces řešení problému (výpočetní proces) je zapsán ve formě sledu elementárních aritmetických a logických operací vedoucích ke konečnému výsledku a nazývá se algoritmus řešení problému.

Programování. Algoritmus pro řešení problému je napsán v jazyce srozumitelném pro stroj ve formě přesně definované sekvence operací - programu. Proces se obvykle provádí pomocí nějakého mezijazyka a jeho překlad provádí samotný stroj a jeho systém.

Ladění programu. Zkompilovaný program obsahuje nejrůznější chyby, nepřesnosti a tiskové chyby. Ladění zahrnuje ovládání programu, diagnostiku (vyhledávání a určování obsahu) chyb a jejich odstraňování. Program je testován řešením kontrolních (testovacích) úloh pro získání důvěry ve spolehlivost výsledků.

Výpočty. V této fázi jsou připravena počáteční data pro výpočty a výpočet je proveden podle odladěného programu. zároveň pro omezení ruční práce na zpracování výsledků lze široce využívat pohodlné formy vydávání výsledků ve formě textových a grafických informací v podobě srozumitelné člověku.

Analýza výsledků. Výsledky výpočtů jsou pečlivě analyzovány, je vypracována vědecká a technická dokumentace.

4. K čemu jsou programovací jazyky?

Proces práce počítače spočívá ve vykonávání programu, tedy sady přesně definovaných příkazů v přesně definovaném pořadí. Strojový tvar instrukce skládající se z nul a jedniček udává, jakou akci má centrální procesor provést. To znamená, že abyste mohli počítači sdělit sekvenci akcí, které musí provést, musíte zadat sekvenci binárních kódů odpovídajících příkazů. Programy strojového kódu se skládají z tisíců instrukcí. Psaní takových programů je obtížné a zdlouhavé. Programátor si musí zapamatovat kombinaci nul a jedniček binárního kódu každého programu a také binární kódy datových adres použitých při jeho provádění. Je mnohem snazší napsat program v nějakém jazyce, který je bližší přirozenému lidskému jazyku, a svěřit počítači práci na překladu tohoto programu do strojových kódů. Takto vznikly jazyky navržené speciálně pro psaní programů - programovací jazyky.

K dispozici je mnoho různých programovacích jazyků. K vyřešení většiny problémů lze ve skutečnosti použít kteroukoli z nich. Zkušení programátoři vědí, který jazyk je lepší použít pro řešení každého konkrétního problému, protože každý z jazyků má své vlastní schopnosti, orientaci na určité typy problémů, svůj vlastní způsob popisu pojmů a objektů používaných při řešení problémů.

Všech mnoho programovacích jazyků lze rozdělit do dvou skupin: jazyky nízké úrovně a jazyky na vysoké úrovni.

Mezi jazyky nízké úrovně patří jazyky assembleru (z angličtiny toassemble - shromažďovat, sestavovat). Jazyk symbolických instrukcí používá symbolický zápis příkazů, které jsou snadno srozumitelné a rychle zapamatovatelné. Místo posloupnosti binárních kódů příkazů se zapisují jejich symbolická označení a místo binárních datových adres použitých při provádění příkazu programátorem zvolené symbolické názvy těchto dat. Jazyk symbolických instrukcí se někdy nazývá mnemokód nebo autokód.

Většina programátorů používá k psaní svých programů jazyky na vysoké úrovni. Stejně jako běžný lidský jazyk má i takový jazyk svou vlastní abecedu – soubor symbolů používaných v jazyce. Z těchto symbolů jsou složena tzv. jazyková klíčová slova. Každé z klíčových slov plní svou funkci, stejně jako v jazyce, na který jsme v našem jazyce zvyklí, mohou slova složená z písmen abecedy daného jazyka plnit funkce různých slovních druhů. Klíčová slova na sebe navazují ve větách podle určitých syntaktických pravidel jazyka. Každá věta definuje určitou sekvenci akcí, které musí počítač provést.

Jazyk na vysoké úrovni hraje roli prostředníka mezi člověkem a počítačem a umožňuje člověku komunikovat s počítačem pro člověka známějším způsobem. Tento jazyk vám často pomůže vybrat správnou metodu řešení problému.

Před napsáním programu v jazyce vyšší úrovně musí programátor sestavit algoritmusřešení problému, tedy akční plán krok za krokem, který je nutné dokončit, aby se tento problém vyřešil. Proto se často nazývají jazyky, které vyžadují předběžnou kompilaci algoritmu algoritmické jazyky.

5. Jaké programovací jazyky existují

1.1 Fortran

Programovací jazyky se začaly objevovat již v polovině 50. Jedním z prvních jazyků tohoto typu byl jazyk FORTRAN (FORTRAN od FORmulaTRANslator - překladač vzorců), vyvinutý v roce 1957. Fortran se používá k popisu algoritmu pro řešení vědeckých a technických problémů pomocí digitálního počítače. Stejně jako první počítače byl tento jazyk určen především pro provádění přírodovědných a matematických výpočtů. Ve vylepšené podobě tento jazyk přežil až do naší doby. Mezi moderními jazyky na vysoké úrovni je jedním z nejpoužívanějších ve vědeckém výzkumu. Nejběžnější varianty jsou Fortran-II, Fortran-IV, EASICFortran a jejich zobecnění.

1.2 ALGOL

Po Fortranu v letech 1958-1960 se objevil jazyk Algol (Algol-58, Algol-60) (anglicky ALGOL z ALGOrithmicLanguage - algoritmický jazyk). Algol byl vylepšen v letech 1964-1968 - Algol-68. ALGOL byl vyvinut komisí, která zahrnovala evropské a americké vědce. Patří k jazykům vysoké úrovně a umožňuje snadno překládat algebraické vzorce do programových příkazů. Algol byl populární v Evropě, včetně SSSR, zatímco srovnatelný Fortran byl rozšířen ve Spojených státech a Kanadě. Algol měl znatelný vliv na všechny později vyvinuté programovací jazyky, a zejména na jazyk Pascal. Tento jazyk, stejně jako Fortran, byl určen k řešení vědeckých a technických problémů. Kromě toho byl tento jazyk využíván jako prostředek výuky základů programování – umění programování.

Pojem Algol obvykle znamená jazyk ALGOL-60, zatímco ALGOL-68 považován za samostatný jazyk. I když se jazyk Algol téměř přestal používat pro programování, stále zůstával oficiálním jazykem pro publikování algoritmů.

1.3 Cobol

V letech 1959 - 1960 byl vyvinut jazyk Cobol (anglicky COBOL z COMmom Business Oriented Language). Jedná se o programovací jazyk třetí generace určený především pro vývoj podnikových aplikací. Kobol byl také určen pro řešení ekonomických problémů, zpracování dat pro banky, pojišťovny a další instituce tohoto druhu. Grace Hopper ( Babička Kobola).

Cobol je obvykle kritizován pro svou mnohomluvnost a těžkopádnost, protože jedním z cílů tvůrců jazyka bylo přiblížit konstrukce co nejvíce anglickému jazyku. (Dosud je Cobol považován za programovací jazyk, ve kterém bylo napsáno nejvíce řádků kódu). Cobol měl přitom na svou dobu výborné nástroje pro práci s datovými strukturami a soubory, což mu alespoň ve Spojených státech zajistilo dlouhou životnost v podnikových aplikacích.

1.4 Lisp

Téměř současně s Cobolem (1959 - 1960) vznikl na Massachusettském technologickém institutu jazyk Lisp (LISP od LIStProcessing). Lisp je založen na reprezentaci programu systémem lineárních seznamů znaků, které jsou navíc hlavní datovou strukturou jazyka. Lisp je po Fortranu považován za druhý nejstarší programovací jazyk na vysoké úrovni. Tento jazyk je široce používán ke zpracování symbolických informací a používá se k vytváření softwaru, který napodobuje činnost lidského mozku.

Jakýkoli program Lisp se skládá ze sekvence výrazy(formuláře). Výsledkem programu je vyhodnocení těchto výrazů. Všechny výrazy jsou psány jako seznamy jsou jednou ze základních struktur Lisp, takže je lze snadno vytvořit pomocí jazyka samotného. To vám umožní vytvářet programy, které upravují jiné programy nebo makra, což vám umožňuje výrazně rozšířit možnosti jazyka.

Hlavní smysl programu Lisp "život" v symbolickém prostoru: pohyb, kreativita, zapamatování, vytváření nových světů atd. Lisp jako mozková metafora, symbol, signální metafora: „Jak se biologická analýza signálů mozkem, jako vnějšího faktoru – fyzikálního a chemického vlivu, který je pro tělo dráždivý, mění v biologicky významný signál, často vitální, určující veškeré chování člověka nebo zvířete;a jak dochází k dělení různých signálů na pozitivní, negativní a indiferentní, indiferentní.signál je již integračním pojmem.je identifikačním znakem skupiny,komplexních podnětů , propojené společnou historií a kauzálními vztahy.V tomto komplexu je systém podnětů, samotný signální podnět je také konstitučním prvkem a za jiných okolností může jeho role připadat jinému podnětu z komplexu. minulá zkušenost zvířete nebo člověka.

1.5 ZÁKLADNÍ

V polovině 60. let (1963) byl na Dartmouth College (USA) vytvořen jazyk BASIC (BASIC z Beginner's Allpurpose Instruction Code). Postupem času, jak se začaly objevovat další dialekty, se tomuto „původnímu“ dialektu začalo říkat Dartmouth BASIC. Jazyk byl založen částečně na Fortranu II a částečně na Algolu-60, s dodatky, díky nimž byl vhodný pro sdílení času a později pro zpracování textu a maticovou aritmetiku. BASIC byl původně implementován na sálovém počítači GE-265 s podporou více terminálů. Na rozdíl od všeobecného přesvědčení to byl v době svého vzniku kompilovaný jazyk.

BASIC byl navržen tak, aby studenti mohli psát programy pomocí terminálů pro sdílení času. Byl navržen jako řešení složitosti starších jazyků. Byl určen pro „jednodušší“ uživatele, které ani tak nezajímala rychlost programů, ale prostě možnost využít počítač k řešení svých problémů. Díky jednoduchosti jazyka BASIC s ním začíná svou cestu v programování mnoho začínajících programátorů.

1.6 Pevnost

Koncem 60. - začátkem 70. let se objevil jazyk Fort (anglicky FOURTH - čtvrtý). Tento jazyk se začal používat v problémech ovládání různých systémů poté, co v něm jeho autor Charles Moore napsal program určený k ovládání radioteleskopu arizonské observatoře.

Řada vlastností, jmenovitě interaktivita, flexibilita a snadnost vývoje, činí Forth velmi atraktivním a efektivním jazykem pro aplikovaný výzkum a vývoj nástrojů. Zřejmými oblastmi použití tohoto jazyka jsou vestavěné řídicí systémy. Také najde uplatnění při programování počítačů s různými operačními systémy.

1.7 Pascal

Jazyk Pascal, který se objevil v roce 1972, byl pojmenován po velkém francouzském matematikovi 17. století, vynálezci prvního aritmetického stroje na světě, Blaise Pascalovi. Tento jazyk vytvořil švýcarský informatik Niklaus Wirth jako jazyk pro výuku metod programování. Pascal je univerzální programovací jazyk.

Zvláštností jazyka je striktní typizace a dostupnost strukturálních (procedurálních) programovacích nástrojů. Pascal byl jedním z prvních takových jazyků. Jazyk by měl podle N. Wirtha přispívat k disciplíně programování, proto jsou spolu se silným psaním v Pascalu minimalizovány případné syntaktické nejednoznačnosti a samotná syntaxe je intuitivně jasná již při prvním seznámení s jazykem.

Jazyk Pascal učí nejen správně napsat program, ale také jak správně vyvinout metodu řešení problému, zvolit způsoby prezentace a organizace dat použitých v problému. Od roku 1983 byl jazyk Pascal zaveden do učebních osnov informatiky na amerických středních školách.

1.8 Peklo

V roce 1983 vznikl jazyk Ada pod záštitou amerického ministerstva obrany. Jazyk je pozoruhodný v tom, že ve fázi kompilace lze odhalit mnoho chyb. Kromě toho podporuje mnoho aspektů programování, které jsou často ponechány na milost a nemilost operačního systému (souběh, zpracování výjimek). V roce 1995 byl přijat jazykový standard Ada 95, který navazuje na předchozí verzi, přidává objektovou orientaci a opravuje některé nepřesnosti. Oba tyto jazyky nejsou široce používány mimo vojenské a jiné rozsáhlé projekty (letectví, železniční doprava). Hlavním důvodem je obtížnost osvojení jazyka a poměrně těžkopádná syntaxe.

Bezprostředními předchůdci Ady jsou Pascal a jeho deriváty, včetně Euclid, Lis, Mesa, Modula a Sue. Bylo použito několik konceptů z ALGOL-68, Simula, CLU a Alphard.

Hlavním zájmem vývojářů Ada bylo:

· Spolehlivost a výkonnost programů;

· Programování jako druh lidské činnosti;

· Účinnost.

Stůl 1 ukazuje hlavní charakteristiky jazyka Ada z pohledu objektového přístupu.

Tabulka 1. Ada.

1.9 Si

V současnosti je mezi programátory oblíbený jazyk C (C je písmeno anglické abecedy). Jazyk C pochází ze dvou jazyků – BCPL a B. V roce 1967 Martin Richards vyvinul BCPL jako jazyk pro psaní systémového softwaru a kompilátorů. V roce 1970 Ken Thompson použil B k sestavení raných verzí operačního systému UNIX na počítači DEC PDP-7. V BCPL i B nebyly proměnné rozděleny do typů - každá datová hodnota zabírala v paměti jedno slovo a odpovědnost za rozlišení např. celých a reálných čísel zcela ležela na bedrech programátora. Byl vyvinut jazyk C ( založený na B) od Dennise Ritchieho z Bell Laboratories a byl poprvé implementován v roce 1972 na počítači DEC PDP-11. C získal slávu jako jazyk operačního systému UNIX. Téměř všechny dnešní hlavní operační systémy byly napsány v C nebo C++. Po dvou desetiletích je C k dispozici na většině počítačů. Je nezávislý na hardwaru. Koncem 70. let se C vyvinulo v to, co nazýváme „tradiční C“. V roce 1983 byl vytvořen jednotný standard pro tento jazyk americkým výborem pro národní standardy pro počítače a zpracování informací. Tento jazyk má bohaté prostředky, umožňuje psát flexibilní programy, které využívají všechny možnosti moderních osobních počítačů.

1.10 Prolog

Další jazyk, který je považován za jazyk budoucnosti, byl vytvořen na počátku 70. let skupinou specialistů z univerzity v Marseille. Toto je jazyk Prolog. Svůj název získal podle slov „PROGRAMOVÁNÍ V JAZYKU LOGICKY“. Tento jazyk je založen na zákonech matematické logiky. Prolog je stejně jako jazyk Lisp využíván především ve výzkumu v oblasti softwarové simulace činnosti lidského mozku. Na rozdíl od jazyků popsaných výše tento jazyk není algoritmický. Patří mezi tzv popisný(z angličtiny deskriptivní - popisný) - popisné jazyky. Popisný jazyk nevyžaduje, aby programátor vyvíjel všechny fáze úkolu. Místo toho musí programátor v souladu s pravidly takového jazyka popsat databázi odpovídající řešenému problému a sadu otázek, na které je třeba odpovědět pomocí dat z této databáze.

V posledních desetiletích programování vzniklo a prošlo výrazným vývojem objektově orientovaný přístup. Jedná se o metodu programování, která napodobuje obraz skutečného světa: informace použité k vyřešení problému jsou reprezentovány jako soubor vzájemně se ovlivňujících objektů. Každý z objektů má své vlastní vlastnosti a chování. Interakce objektů se provádí pomocí přenosu zpráv: každý objekt může přijímat zprávy od jiných objektů, pamatovat si informace a zpracovávat je určitým způsobem a naopak odesílat zprávy. Stejně jako v reálném světě, objekty ukládají své vlastnosti a chování společně, přičemž některé z nich zdědí od svých nadřazených objektů.

Objektově orientovaná ideologie se používá ve všech moderních softwarových produktech, včetně operačních systémů.

První objektově orientovaný jazyk Simula -67 byl vytvořen jako nástroj pro simulaci činnosti různých zařízení a mechanismů. Většina moderních programovacích jazyků je objektově orientovaná. Mezi nimi jsou nejnovější verze jazyka Turbo - Pascal , C ++, Ada jiný.

Systémy jsou nyní široce používány vizuální programování Vizuální Základní , Vizuální C ++, Delphi jiný. Umožňují vám vytvářet komplexní balíčky aplikací s jednoduchým a pohodlným uživatelským rozhraním.

1.11 Java

Od roku 1995 se rozšířil nový objektově orientovaný programovací jazyk Java, který cílí na sítě počítačů a především na internet. Syntaxe tohoto jazyka je podobná syntaxi jazyka C++, ale tyto jazyky mají jen málo společného. Java je interpretovaný jazyk: je pro ni definována interní reprezentace (bytecode) a interpret pro tuto reprezentaci, které jsou již implementovány na většině platforem. Tlumočník zjednodušuje ladění programů napsaných v jazyce Java, zajišťuje jejich přenositelnost na nové platformy a adaptabilitu na nová prostředí. Umožňuje eliminovat vliv programů napsaných v jazyce Java na jiné programy a soubory dostupné na nové platformě, a tím zajistit bezpečnost při spouštění těchto programů. Tyto vlastnosti jazyka Java umožňují jeho použití jako hlavního programovacího jazyka pro programy distribuované po sítích (zejména po internetu).

1.12 Object Pascal

Object Pascal byl vytvořen zaměstnanci Apple Computer (někteří z nich byli přispěvatelé Smalltalku) s Niklausem Wirthem, tvůrcem jazyka Pascal. Object Pascal existuje od roku 1986 a je prvním objektově orientovaným programovacím jazykem, který byl zahrnut do Macintosh Programmer's Workshop (MPW), vývojového prostředí pro počítače Macintosh společnosti Apple.

V tomto jazyce nejsou žádné metody tříd, proměnné třídy, vícenásobná dědičnost a metatřídy. Tyto mechanismy jsou záměrně vyloučeny, aby se jazyk snadno naučil pro začínající „objektové“ programátory.

Stůl 2 ukazuje obecnou charakteristiku Object Pascalu.

Tabulka 2. Objekt Pascal.

V posledních letech se tento jazyk stal velmi populárním díky systému Borland Delphi.

1.13 Systém vizuálního objektově orientovaného návrhu Delphi.

Příchod Delphi nemohl zůstat bez povšimnutí mezi mnoha uživateli počítačů. Hodnocení odborníků zkoumajících možnosti tohoto nového produktu Borland jsou obvykle podbarvena nadšením. Hlavní výhodou Delphi je, že jsou zde implementovány nápady na vizuální programování. Vizuální programovací prostředí promění proces tvorby programu v příjemnou a snadno srozumitelnou konstrukci aplikace z velké sady grafických a strukturálních primitiv.

Systém Delphi umožňuje řešit mnoho problémů, zejména:

· Vytvářejte kompletní aplikace pro Windows pro širokou škálu účelů: od čistě výpočetních a logických až po grafické a multimediální.

· Rychle vytvořte (dokonce i pro začínající programátory) profesionálně vypadající rozhraní v okně pro jakoukoli aplikaci.

· Vytvořte výkonné systémy pro práci s místními a vzdálenými databázemi

· Vytvořte systémy nápovědy (soubory .hlp) pro vaše aplikace a další. Dr.

Delphi je extrémně rychle rostoucí systém. První verze, Delphi 1.0, byla vydána v únoru 1995 a poté byly každoročně vydávány nové verze.

Každá další verze Delphi doplňovala tu předchozí Většina verzí Delphi je k dispozici v několika verzích: Standard - standardní, Professional - profesionální, Klient / Server - klient / server, Enterprise - vývoj databází tematických oblastí. Varianty se liší především v různých úrovních přístupu k systémům pro správu databází. Posledními možnostmi jsou Client / Server a Enterprise, které jsou v tomto ohledu nejvýkonnější.

Delphi je kombinací několika kritických technologií:

Vysoce výkonný kompilátor strojového kódu

Objektově orientovaný komponentový model

Vizuální (a tedy i vysokorychlostní) budování aplikací ze softwarových prototypů

Škálovatelné nástroje pro vytváření databází

Struktura obrazovky v prostředí Delphi.

Po vyvolání Delphi se ve Windows objeví několik oken (obr. 1):

Hlavní okno,

Okno formuláře,

Okno inspektora objektů,

Okno stromu objektů,

Okno programového kódu.


Obr. 1. Struktura obrazovky v prostředí Delphi.

Uvažujme grafické menu systému Delphi umístěné v horní části obrazovky, složené z ikon.Na levé straně grafického menu je panel nástrojů. Nástroje provádějí některé příkazy hlavního menu - takováto duplikace se často praktikuje v prostředí nástrojů.Tento panel má zejména tlačítko pro uložení projektu na disk, tlačítko pro otevření projektu, tlačítko pro spuštění programu ke spuštění.

Další částí grafické nabídky je paleta komponent, uspořádaná do podoby sad ikon. Kolekce sad tvoří Visual Component Library (VCL). Existuje několik kategorií komponent, z nichž každá je spojena s jinou kartou. Pomocí palety komponent vytvoříme instanci komponent (nebo objektů) na formuláři.

Chcete-li umístit objekt do formuláře, musíte "kliknout" na odpovídající tlačítko na paletě a poté kliknout do okna formuláře: na zadané místo formuláře bude vložen objekt - instance komponenty vybraný typ.

Okno Object Inspector je okno, které zobrazuje vlastnosti buď formuláře, nebo objektu umístěného na formuláři. V našem případě je aktuální komponentou formulář, takže okno vlastností na obrázku ukazuje vlastnosti formuláře.

Okno vlastností má dvě záložky - Vlastnosti a Události, pomocí kterých lze v okně získat řádky (pole) pro nastavení, resp. Události. Vlastnost definuje atribut komponenty, jako je velikost tlačítka nebo font štítku. Událostí se rozumí například akce, jako je kliknutí na tlačítko nebo zavření okna.

Okno stromu objektů se objevilo ve verzi 6 a je určeno pro vizuální zobrazení vazeb mezi jednotlivými objekty umístěnými na aktivním formuláři nebo v aktivním datovém modulu.

Okno programového kódu je určeno pro vytváření a editaci programového textu. Zpočátku obsahuje minimální zdrojový kód.

Projekty Delphi. Projekt Delphi se skládá z formulářů, modulů, nastavení parametrů projektu, zdrojů atd. Všechny tyto informace jsou umístěny v souborech. Mnoho z těchto souborů automaticky generuje Delphi při sestavování aplikace. Zdroje, jako jsou bitmapy, ikony a tak dále, se nacházejí v souborech, které získáte z jiných zdrojů nebo které vytvoříte pomocí mnoha nástrojů a editorů zdrojů, které máte k dispozici. Kromě toho kompilátor generuje také soubory.

Soubory vytvořené během procesu návrhu jsou uvedeny v tabulce. 3.

Hlavní částí aplikace je soubor projektu (.dpr), který obsahuje kód Object Pascal, který spouští program a inicializuje další moduly. Vytváří a upravuje jej Delphi automaticky během vývoje aplikace. Název přidělený souboru projektu během procesu ukládání se stane názvem spustitelného souboru.

Soubor projektu (.dpr) Tento textový soubor se používá k ukládání informací o formulářích a modulech. Obsahuje příkazy pro inicializaci a spouštění programů pro spuštění
Soubor modulu (.pas) Každý formulář, který vytvoříte, má odpovídající textový soubor modulu, který se používá k uložení kódu. Můžete vytvářet moduly, které nesouvisejí s formuláři. Mnoho funkcí a procedur Delphi je uloženo v modulech.
Soubor formuláře (.dfm) Jedná se o binární nebo textový soubor, který Delphi vytváří pro ukládání informací o formulářích. Každý soubor formuláře má odpovídající soubor modulu (.pas)
Soubor možností projektu (.dfo) Tento soubor ukládá nastavení parametrů projektu
Zdrojový soubor (.res) Tento binární soubor obsahuje ikonu používanou projektem a další zdroje.
Záložní soubory (. ~ Dpr,. ~ Dfm,. ~ Pas) Jedná se o záložní soubory pro projekt, formulář a soubory modulu. Pokud je v projektu něco beznadějně poškozeno, můžete přípony těchto souborů příslušně změnit a vrátit se tak k předchozí nepoškozené verzi.
Soubor konfigurace okna (.dsk) Soubor ukládá konfiguraci všech oken vývojového prostředí
Spustitelný soubor (.exe) Toto je spustitelný soubor aplikace. Jedná se o samostatný spustitelný soubor, který nevyžaduje nic jiného, ​​pokud nepoužívá knihovny obsažené v knihovnách DLL, OCX atd.
Soubor objektu modulu (.dcu) Toto je kompilovaný soubor modulu (.pas), který je propojen do konečného spustitelného souboru.

Tabulka 3. Soubory vytvořené během procesu návrhu.


Aktuálně byla vydána 7. verze systému Delphi. V rekordním čase se stal jedním z nejpopulárnějších programovacích systémů na světě. Mnoho vývojářů po celém světě je pevně odhodláno používat Delphi jako nástroj pro vytváření vysoce efektivních klient/server aplikací.

Programovací evoluční strom

Obrázek 1 Vývojový strom programování

6. Bibliografie:

1. I.T. Zaretskaya, B.G. Koloďažnyj, A.N. Gurzhiy, A.Yu. Sokolov. Informatika třída 10-11. - К .: "Fórum", 2001

1. Struktura obrazovky v prostředí Delphi (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Patrikeev Yu. N. "Objektově orientovaný design" (http://www.object.newmail.ru/oop1.html)

3. S. Nemnyugin, L. Perkolab "Studium TurboPascal" - SPb.: Peter, 2002.

2. H.M. Daytel. Jak programovat v S. - M .: "Binom", 2000

3. Internetová stránka: http://ru.wikipedia.org/wiki/LISP

Učebnice se skládá ze dvou částí: teoretické a praktické. Teoretická část učebnice vytyč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 principů stavby výpočetních zařízení, pojednává o organizaci a fungování informací a počítačové sítě, počítačová bezpečnost, představuje klíčové pojmy algoritmizace a programování, databáze a DBMS. Pro kontrolu získaných teoretických znalostí jsou nabízeny otázky k samozkoušce a testy. Praktická část pokrývá algoritmy základních akcí 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. Jako upevnění absolvovaného praktického kurzu na konci každého oddílu je navrženo provedení 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 celé řady nových znakových systémů pro algoritmy psaní – programovacích jazyků. Smyslem vzhledu takového jazyka je vybavená sada výpočetních vzorců pro další informace, 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 dalších jazykových konstrukcí je jeho sémantika.

Programovací jazyky jsou formální jazyky komunikace mezi osobou a počítačem, určené k popisu sady instrukcí, jejichž implementace poskytuje správné řešení požadovaného problému. Jejich hlavní úlohou je plánovat činnosti zpracování informací. Jakýkoli programovací jazyk je založen na systému pojmů a s jeho pomocí může člověk vyjádřit své myšlenky.

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

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

Strojově závislé programovací jazyky

Strojově závislé jazyky jsou jazyky, jejichž sady operátorů a grafických prostředků v podstatě 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 zvláštnosti. Operátoři takového jazyka mají blízko ke strojovému kódu a jsou zaměřeni na konkrétní instrukce procesoru, to znamená, že tento jazyk je závislý na stroji. Nízkoúrovňovým jazykem je Assembly. S jeho pomocí se vytvářejí velmi efektivní a kompaktní programy, protože vývojář získá přístup ke všem schopnostem procesoru. Tyto jazyky se používají k psaní malých systémových aplikací, ovladačů zařízení, 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 vhodné pro použití pro širokou škálu uživatelů a nevyžadují, aby znali specifika organizace fungování počítače a výpočetního systému.

Takové jazyky se nazývají programovací jazyky na vysoké úrovni. Programy napsané v těchto jazycích jsou sekvence příkazů strukturované podle pravidel daného jazyka (úkoly, segmenty, bloky atd.). Operátoři jazyka popisují akce, které musí systém provést poté, co byl program přeložen do strojového jazyka.

Příkazové sekvence (procedury, podprogramy), často používané ve strojových programech, jsou v jazycích vyšší úrovně reprezentovány samostatnými příkazy. Programátor dostal příležitost nepopsat detailně 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 zvláštnosti konkrétních počítačových architektur, to znamená, že tyto jazyky jsou strojově nezávislé. To umožňuje používat jednou napsaný program v takovém jazyce 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 informatizace (na počátku 50. let 20. století) byl strojový jazyk jediným jazykem, větší člověk do té doby nevynalezl. Aby se programátoři zachránili před drsným strojovým programovacím jazykem, 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řekladových programů, které vkládají „zdrojový kód“ (hybrid anglických slov a matematických výrazů, které přečte stroj) a nakonec přinutí počítač provést příslušné instrukce, které jsou zadávány 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 nevzniká hotový program, ale pouze jeho text popisující 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 se používají překladatelské programy.

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


Obrázek 8.4. Typy překladatelů

Při použití kompilátorů se veškerý zdrojový kód 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ý kód programu zapíše do paměti mikroprocesoru a překlad se provede při načtení dalšího operátoru. Rychlost tlumočníků je přirozeně mnohem nižší ve srovnání s kompilátory, protože když je operátor použit ve smyčce, je mnohokrát překládán. Při programování v jazyce vysoké úrovně však může být množství kódu, které je třeba uložit do vnitřní paměti, výrazně menší než u spustitelného kódu. Další výhodou použití interpretů je snadná přenositelnost programů z jednoho procesoru na druhý.

Jednou z často citovaných výhod implementace tlumočníka je to, že umožňuje „přímý režim“. Okamžitý režim vám umožňuje zeptat se počítače na problém a vrátí vám odpověď, jakmile stisknete klávesu 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 ve vykonávání. Interpretované jazyky však mají nevýhody. Je například nutné mít neustále v paměti kopii tlumočníka, přičemž mnoho schopností tlumočníka a potažmo jeho schopností nemusí být pro spuštění konkrétního programu nutné. Při provádění programových příkazů musí tlumočník nejprve naskenovat každý příkaz, aby si přečetl jeho obsah (co po mně tato osoba žádá?), a poté provést požadovanou operaci. Operátoři ve smyčkách jsou příliš skenováni.

Kompilátor je překladač strojového jazyka, který čte zdrojový text. Vyhodnocuje jej podle syntaktické konstrukce 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 kompilačním jazykem, jako je Turbo BASIC, budete muset přemýšlet o svých 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 discích nebo čekáním na vstup, nebudou schopny prokázat žá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í

Hlavní 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 tím nejnovějším (tj. nelze se k příkazům modulu dostat zvenčí a přenést ří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í posloupnost 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 skládat 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 provádějícími příliš podrobné, elementární akce. Objevuje se mnoho vnořených podmíněných a cyklických příkazů, logika se stává zcela matoucí, 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 příkazu, jejichž výsledky jsou často brány v úvahu na různých místech 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 operátorů, ale také pomocí prostředků, 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 nejsou závislé na jiný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í poskytovaných původní úlohou. 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čitou sémantickou zátěž, a na takové bloky můžete odkazovat podle názvu. Ukazuje se, že podprogramy jsou nové operátory nebo operace jazyka definované programátorem.

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

Podprogramy vám umožňují navrhovat a vyvíjet aplikaci shora dolů – tento přístup se nazývá návrh shora dolů. Nejprve je vybráno několik podprogramů, které řeší ty 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, čímž se postupně rozdělí na malý počet dalších podprogramů. , a to se děje, dokud není dokončen celý úkol.

Tento přístup je vhodný v tom, že umožňuje člověku neustále přemýšlet na úrovni předmětu, aniž by se zastavoval u konkrétních operátorů a proměnných. 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. Když 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. Velké knihovny standardních rutin jsou dodávány s integrovanými programovacími systémy, které mohou výrazně zvýšit produktivitu využitím práce někoho jiného k vytvoření často používaných rutin.

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á nějakou hodnotu a přenese ji zpět do hlavního programu (vrátí hodnotu). Tato hodnota je určitého typu (o funkci se říká, že je toho a takového typu).

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

Eliminujte potřebu opakovat podobné fragmenty v textu programu mnohokrát;

Zlepšit strukturu programu a usnadnit mu pochopení;

Zvyšte odolnost vůči 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í možnosti vytvářet velké systémy dána nejednotností programu dat a způsobů jejich zpracování.

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

Vznik možnosti tvorby objektů v programech má kvalitativní dopad na produktivitu programátorů. Maximální objem aplikací, které byly k dispozici pro tvorbu skupinou 10 programátorů, se v průběhu 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ých úkolech.

Objekty mohou mít stejnou strukturu a lišit se pouze v hodnotách vlastností. V takových případech je v programu vytvořen nový typ založený na jediné objektové struktuře. Ří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:

1. Zapouzdření - kombinování dat s metodami v jedné třídě;

Generace programovacích jazyků

Potřeba programování vznikla ještě před programovatelnými počítači. Je známo, že například od 18. století existovaly tkalcovské stavy programované dřevěnými prkny, do kterých se dělaly otvory na správných místech.

Vývoj programování podpořila myšlenka Johna Von Neumanna, publikovaná v roce 1945, ve které popsal počítač, kde je samotný program uložen v paměti spolu s daty.

Programovacím jazykem první generace je strojový kód. Strojový kód se skládá z instrukcí, které může počítač (procesor) provést (a také z dat, která k těmto instrukcím patří). Při programování ve strojovém kódu musel programátor napsat svůj program v binárním kódu, aby mu procesor rozuměl a mohl jej provést. Takové programování v podstatě vyžaduje dobrou znalost a pochopení hardwaru, protože v procesu programování je nutné vědět, co procesor umí, kde jsou umístěna vstupně-výstupní zařízení a také jak s nimi komunikovat. kolik času stráví ta či ona operace. Strojový kód je tedy velmi těsně propojen s hardwarem, na kterém poběží příslušný program. Do dnešního dne strojový kód z počítačů nezmizel, všechny akce na nízké úrovni (hardwarové úrovni) se stále vyskytují ve strojovém kódu, tzn. Ať už je program napsán v jakémkoli programovacím jazyce, je nakonec přeměněn na strojový kód, kterému hardware rozumí.

Assemblery jsou považovány za jazyky druhé generace. V případě strojového kódu probíhalo veškeré programování v binárním kódu, a proto bylo čtení a ladění časově velmi náročné. Při programování v jazyce symbolických instrukcí jsou instrukce předkládány osobě ve srozumitelné formě. Samotné programování je velmi podobné programování ve strojovém kódu, protože instrukce jsou stejné jako ve strojovém kódu (jen v jiné podobě – ve formě slov). Program napsaný v assembleru je něco jako následující:

MOV AL, 19

PŘIDAT AL, 4

VEN 2

Tento kus kódu přiřadí registru AL hodnotu 19 (obvykle jsou hodnoty reprezentovány čísly v šestnáctkové soustavě), přidá číslo 4 k hodnotě registru AL a poté odešle číslo 2 na výstup 2. Napsaný program je přeložen z assembleru do strojového kódu a poté může procesor spustit jeho provádění ...

Jazyky symbolických instrukcí a strojový kód jsou považovány za jazyky nízké úrovně.

Programovací jazyky třetí generace se již nazývají jazyky na vysoké úrovni. Takové programovací jazyky nejsou příliš spojené s hardwarem. To znamená, že programátor již nemusí velmi přesně znát zařízení a vlastnosti hardwaru, ale může být relativně nezávislý na hardwaru, načež se tento program převede pomocí různých nástrojů do podoby, kterou hardware dokáže rozumět. Přesněji, jak se to dělá, bude popsáno později.

Většina známých a používaných programovacích jazyků patří mezi jazyky třetí generace, například:

FORTRAN (The IBM Mathematical FORmula TRANslating System) je programovací jazyk vyvinutý v 50. letech 20. století pro matematické výpočty a vědecké účely.

COBOL (Common Business Oriented Language) - objektově orientovaný programovací jazyk, vytvořený v roce 1959, hlavně pro psaní programů, které uspokojují potřeby obchodu.

BASIC (Beginner's All-purpose Symbolic Instruction Code) – Jazyk vyvinutý v roce 1963, který byl původně vytvořen proto, aby inženýři mohli provádět různé simulace na počítačích.

Pascal – programovací jazyk vytvořený v 70. letech 20. století, který byl vytvořen pro výuku programování.

C - název pochází ze skutečnosti, že tento jazyk vycházel především z jazyka zvaného B. Byl vytvořen pro psaní operačních systémů (v tomto jazyce je napsáno mnoho operačních systémů kompatibilních s UNIXem), je dlouhodobě jedním z nejoblíbenějších programovacích jazyků .

C++ je objektově orientované C.

Java je programovací jazyk vyvinutý na bázi C++.

Visual Basic, Delphi, Python, C # jsou všechny jazyky třetí generace. Mnoho programovacích jazyků třetí generace je mladších (novějších) než některé jazyky čtvrté a páté generace.

Programovací jazyky IV. generace jsou navrženy tak, aby se daly snadno naučit a používat. Tyto jazyky mají tendenci být neprocedurální zaměřené na jednu aplikaci. Příkladem programovacího jazyka čtvrté generace je SQL (Structured Query Language). Říká více o „co dělat“ a méně o „jak to udělat“. Jazyky páté generace byly vytvořeny pro vývoj systémů umělé inteligence a pro řešení problémů souvisejících s tímto tématem.

Základní typy programovacích jazyků.

Na rozdíl od generací programovacích jazyků základní typy popisují, jak lze jazyk naprogramovat. Mezi hlavní základní typy patří: procedurální, funkcionální a objektově orientované programovací jazyky.

V procedurálních programovacích jazycích programovací jazyk popisuje akce a pořadí jejich provádění a také jsou tyto akce rozděleny do skupin (podprogramů). Procedury zase tvoří struktury kódu, které lze znovu použít. Ve funkcionálních programovacích jazycích je celé řešení popsáno pomocí funkcí. V objektově orientovaných programovacích jazycích se problém řeší pomocí funkcí a datových struktur popsaných ve třídách (English Class). Z každé třídy můžete vytvořit objekt, který bude mít sadu vlastností a/nebo metod.

Vlastnosti jsou hodnoty, které může objekt obsahovat a které mohou ovlivnit chování objektu. Například na základě třídy "okno konzoly" můžete vytvořit objekt "console1", který bude viditelný pro uživatele jako jediné okno konzoly. Tento objekt má některé vlastnosti (zobrazeno, skryto, šířka, výška, barva textu v okně konzoly, barva pozadí atd.), změnou těchto vlastností můžete v tomto konkrétním případě změnit vzhled objektu.

Ve stejném příkladu může mít objekt nějaké metody, například odkazem na odpovídající metodu můžete napsat nějaký text do okna konzoly, přečíst text zadaný uživatelem do nějaké proměnné atd.

Druhým příkladem je třída "textová proměnná", na základě této třídy vytvoří objekt "ProstoText", vytvoří jednu textovou proměnnou, jejíž hlavní vlastností je uložená textová hodnota, ale ve skutečnosti má tento objekt více vlastností ( například délka uložené textové hodnoty ). Také textová proměnná musí mít určitou sadu metod (změnit znaky uložené hodnoty na malá, velká, odstranit některé znaky atd.).

Popisováním tříd a manipulací s objekty je tedy možné skládat velmi složité programy a provádět různé akce.

Interpretované a kompilované jazyky

Než může počítač spustit program napsaný v jazyce vyšší úrovně, musí být „přeložen“ do jazyka, kterému počítač rozumí, tzn. strojový kód. Tento proces překladu se nazývá překlad a překladatelský software se nazývá překladač. Překladatelé se dělí na dvě třídy: kompilátory a tlumočníky.

Kompilace je, když program ve strojovém kódu (nazývaný kompilátor) převádí jiný program napsaný v programovacím jazyce na strojový kód. Poté se provede výsledný strojový kód programu. Příklady kompilovaných jazyků zahrnují C, Fortran, Pascal.

Interpretace je taková, že program ve strojovém kódu (interpret) zapíše soubor programu do vnitřní paměti a začne jej provádět řádek po řádku. Příkladem je starý jazyk BASIC.

Interpretace programu je asi 10-200krát pomalejší než provádění kompilovaného kódu. Naproti tomu ladění (odstranění chyb z programu) interpretovaného programu je obvykle jednodušší než v případě přeloženého programu. V některých vhodných případech a při dostupnosti nástrojů mohou být tyto rozdíly mnohem menší. Dobrým příkladem je Java s kódem, který je optimalizován a kompilován na střední úrovni, který je za běhu překládán kompilátorem Just-in-Time tak, aby vyhovoval konkrétnímu hardwaru.

V zásadě lze program napsaný v jakémkoli jazyce jak interpretovat, tak kompilovat.

V současné době existuje mnoho směrů v programování. Každý si může najít to své, ale k tomu musíte vědět, co přesně budete ve svém oboru dělat.

Vývoj webových aplikací

Tento směr je zaměřen na vývoj webových aplikací (jinými slovy webů, ale v současné době mají weby tak bohatou funkcionalitu, že je lze nazvat plnohodnotnými aplikacemi).

Webové programování lze rozdělit na backend (psaní skriptů na straně serveru - PHP, Python, Ruby) a frontend (vývoj uživatelského rozhraní - Javascript, HTML, CSS).

Vývoj desktopových aplikací

Vývoj softwaru pro různé operační systémy. Veškerý rozmanitý software, který používáme v každodenním životě. Pokud si chcete napsat svůj vlastní fotoprocesor, audio přehrávač nebo textový editor, pak je toto místo pro vás.

Vývoj serverových aplikací

Jedná se o různé herní servery (vaše oblíbená Dotka, CS:GO), IM-služby (serverová část Skype, ICQ, MSN), bankovní databáze.

Vývoj mobilních aplikací

Spousta Java aplikací. VK, Viber, Yandex.Maps, překladatelé, elektronické čtečky.

Vestavěné programování

Zajímavé odvětví programování pro různé domácí spotřebiče: vysavače, ledničky, pračky, přehrávače, navigátory, elektronické váhy. Zahrnuje vědecký vývoj pomocí specializovaných jazyků, jako je MATLAB.

Systémové programování

Psaní různých ovladačů pro hardware, programování "jádra" operačních systémů. Mimochodem, je zde také zahrnuta tvorba kompilátorů a interpretů pro programovací jazyky.

Vývoj hry

Obří průmysl. To zahrnuje vývoj her pro PC, konzole a mobilní zařízení.

Programování olympiád a řešení problémů

Programování v různých "nepraktických" a ne běžných jazycích (Pascal, Delphi) pro řešení některých originálních problémů, které vyžadují nestandardní přístup, vynalézavost a IQ nad 160.

Programování pro účetní a finanční produkty

"1C: Enterprise". Veškeré účetnictví v Rusku je vázáno na tento produkt. Nestačí ale umět jen jazyk samotný, důležité je rozumět základům účetnictví. Plusem je, že je s tím hodně práce a bez chleba nezůstanete.

Programování databáze

Vážný směr. Pokud chcete vyvíjet databáze schopné ukládat miliardy řádků informací o všech uživatelích VKontakte nebo Facebooku a zároveň nezpomalit – jste tady.

Věda

Věda a ta mluví za vše. Neuronové sítě, modelování struktury DNA, vypouštění satelitů, simulace velkého třesku.

Mimochodem, nedávno web NASA zveřejnil zprávu o hledání programátora ve „starověkém“ jazyce Fortran, starém více než 60 let. Programátor byl požádán, aby vyvinul programy pro řízení automatických sond Voyager 1 a Voyager 2, jejichž software byl napsán v Assembleru, Fortranu a COBOLu již v 70. letech 20. století. Nikdy nevíte, jaké znalosti se mohou hodit.