Programování je proces vytváření počítačových programů .
Slovy jednoho ze zakladatelů programovacích jazyků Niklause Wirtha „Programy = algoritmy + datové struktury “ [1] [2] .
Programování je založeno na použití programovacích jazyků , ve kterých jsou psány zdrojové texty programů.
205 př.nl _ E. [3] (150 př . n. l . [4] ) – Antikythérský mechanismus ze starověkého Řecka byl kalkulačkou , která používala ozubená kola různých velikostí a konfigurací, díky čemuž fungovala [5] ke sledování metonického cyklu , který se stále používá v lunárních slunečních kalendářích [ 6] .
1206 - Al-Jazari postavil programovatelný humanoidní automat . Jeden systém zapojený do těchto zařízení používal svorky a vačky umístěné na určitých místech v dřevěné krabici, které postupně ovládaly páky , které zase ovládaly bicí nástroje. .
1804 – žakárový tkalcovský stav postavený Josephem Mariem Jacquardem , který způsobil revoluci v tkalcovském průmyslu tím, že umožnil programovat vzory na tkaninách pomocí děrných štítků , někdy je považován za první programovatelné zařízení .
19. července 1843 - Charles Babbage navrhl (ale nepodařilo se mu postavit) analytický stroj , první programovatelné výpočetní zařízení. .
19. července 1843 - Hraběnka Ada Augusta Lovelace , dcera anglického básníka George Byrona , napsala první program analytického motoru v historii lidstva. Tento program vyřešil Bernoulliho rovnici, která vyjadřuje zákon zachování energie v pohybující se tekutině. Ve své první a jediné vědecké práci se Ada Lovelace zabývala velkým množstvím problémů. Řada jí vyjádřených obecných ustanovení (princip úspory pracovních paměťových buněk , spojení opakujících se vzorců s cyklickými výpočetními procesy) si zachovala zásadní význam pro moderní programování. .
V Babbageových materiálech a Lovelaceových komentářích jsou nastíněny takové koncepty jako podprogram a knihovna podprogramů, modifikace instrukcí a indexový registr, které se začaly používat až v 50. letech 20. století . . Žádný z programů napsaných Adou Lovelace však nebyl nikdy spuštěn. .
První široce známý a úspěšný vysokoúrovňový programovací jazyk byl Fortran , vyvinutý v letech 1954 až 1957 týmem výzkumníků IBM vedeným Johnem Backusem . Úspěch Fortranu vedl k vytvoření komise vědců, která měla vyvinout „ univerzální “ počítačový jazyk. Samostatně John McCarthy z MIT vyvinul programovací jazyk Lisp ( založený na počtu lambda ), první jazyk, který se objevil na akademické půdě a dosáhl úspěchu. S úspěchem těchto počátečních snah se programovací jazyky staly aktivním výzkumným tématem v 60. letech 20. století a dále.
První knihy o programování v SSSRPrvní sovětskou otevřenou knihou o programování, elektronických počítačích a jejich různých aplikacích byla monografie „ Elektronické digitální stroje “ od Anatolije Ivanoviče Kitova [7] [8] vydaná počátkem roku 1956 . Poslední třetina této knihy je věnována "Nearitmetickému využití počítačů" - využití počítačů pro řízení výrobních procesů, řešení ekonomických problémů , umělé inteligenci , strojovém překladu atd. Kniha byla přeložena do několika cizích jazyků a publikovány v USA , Číně , Polsku , Československu a dalších zemích. Předseda Akademie věd SSSR G. I. Marchuk o této knize napsal: „Kniha A. I. Kitova „Electronic Digital Machines“, vydaná v roce 1956, ve skutečnosti způsobila revoluci v myslích mnoha výzkumníků. Vynikající moderní vědec V. M. Glushkov poznamenal: „A. I. Kitov je uznávaným průkopníkem kybernetiky , který položil základy národní školy programování a využití počítačů pro řešení vojenských a národohospodářských problémů. Sám jsem, stejně jako desítky tisíc dalších specialistů, získal první počítačové znalosti z jeho knihy „Electronic Digital Machines“ – první tuzemské knihy o počítačích a programování. Profesor Michiganské univerzity John Carr (John Carr, USA) ve své monografii „ Lectures on Programming “ ( 1958 , USA) napsal, že poté, co analyzoval asi 150 knih vydaných v té době ve světě na toto téma, otázky manuální i automatické programování nejlépe popisuje kniha Anatolije Kitova.
O šest měsíců později, ve stejném roce 1956, byla vydána kniha pod vedením A. I. Kitova (A. I. Kitov, N. A. Krinitsky a P. N. Komolov ) „ Programovací prvky “ (pro elektronické počítače). Tato téměř třísetstránková kniha se stala druhou veřejnou počítačovou monografií v SSSR. V závěru této knihy je deklarováno: „Rozšířené používání těchto strojů (počítačů) pozvedne všechny druhy výroby u nás na novou nebývale vysokou úroveň, dramaticky zvýší hmotný blahobyt našich lidí a výrazně posílit obranné schopnosti naší vlasti." Tyto dvě knihy pokryly obrovský nedostatek literatury o počítačích a programování, který v té době v Sovětském svazu existoval.
Kniha Electronic Digital Machines and Programming , vydaná v roce 1959 (Kitova A.I. a Krinitsky N.A.), byla první oficiální učebnicí počítačů a programování v SSSR, oficiálně schválenou Ministerstvem školství SSSR pro výuku na univerzitách a univerzitách . O této knize prezident Akademie věd SSSR G. I. Marchuk napsal: „V roce 1959 se objevila další zásadní práce A. I. Kitova, napsaná společně s N. A. Krinitským - „Elektronické digitální stroje a programování“. Byla to vlastně encyklopedie informatiky . S pomocí této nádherné knihy získalo mnoho generací studentů univerzit a univerzit v zemi základní vzdělání a stali se prvotřídními vědci v mnoha oblastech vědění. Knihy A. I. Kitova, napsané na počátku éry počítačů u nás, by neměly být zapomenuty.“ Tato kniha byla vydána v Rumunsku , Maďarsku , Německé demokratické republice a několika dalších zemích. Druhé stereotypní vydání Elektronických digitálních strojů a programování se objevilo v roce 1961 . Celkový náklad zahraničních a dvou sovětských publikací činil přes 130 000 výtisků. O této učebnici-encyklopedii ve svých pamětech veterán katedry počítačového inženýrství Moskevského energetického institutu (první počítačová katedra v zemi), doktor technických věd, profesor A.K. N. A. Krinitsky "Elektronické digitální stroje a programování" ( 1959) byl v té době nejlepší na světě. .
Většina práce programátorů souvisí s psaním zdrojového kódu , testováním a laděním programů v některém z programovacích jazyků . Zdrojové texty a spustitelné soubory programů podléhají autorským právům a jsou duševním vlastnictvím jejich autorů a držitelů autorských práv .
Různé programovací jazyky podporují různé styly programování ( programovací paradigmata ). Výběr správného programovacího jazyka pro některé části algoritmu vám umožní zkrátit dobu psaní programu a vyřešit problém s popisem algoritmu co nejefektivněji. Různé jazyky vyžadují, aby programátor při implementaci algoritmu věnoval různou úroveň pozornosti k detailům, což často vede ke kompromisu mezi jednoduchostí a výkonem (nebo mezi „ časem programátora“ a „ časem uživatele“ ).
Jediný jazyk přímo vykonávaný počítačem je strojový jazyk (také nazývaný strojový kód a jazyk strojových instrukcí ). Zpočátku byly všechny programy napsány ve strojovém kódu, ale nyní se to již prakticky nedělá. Místo toho programátoři píší zdrojový kód v konkrétním programovacím jazyce, pak jej pomocí kompilátoru přeloží v jedné nebo více fázích do strojového kódu připraveného ke spuštění na cílovém procesoru nebo do přechodné reprezentace , kterou může spustit speciální interpret - virtuální stroj . To však platí pouze pro jazyky na vysoké úrovni . Pokud je vyžadována úplná nízkoúrovňová kontrola nad systémem na úrovni strojových instrukcí a jednotlivých paměťových buněk, jsou programy psány v jazyce symbolických instrukcí , jejichž mnemotechnické instrukce jsou převedeny jedna ku jedné do odpovídajících instrukcí strojového jazyka cíle. počítačový procesor (z tohoto důvodu jsou překladače z jazyků symbolických instrukcí získávány algoritmicky nejjednoduššími překladateli) .
Některé jazyky namísto strojového kódu generují interpretovaný binární kód „virtuální stroj“, nazývaný také bajtový kód . Tento přístup se používá ve Forth , některých implementacích jazyků Lisp , Java , Perl , Python , pro .NET Framework .
Textový editor programovacího prostředí může mít specifické funkce, jako je indexování názvů , zobrazení dokumentace (např . Doxygen ), zvýraznění syntaxe , nástroje pro vytváření vizuálního uživatelského rozhraní . Pomocí textového editoru programátor píše a upravuje text vytvářeného programu, který se nazývá zdrojový kód . Programovací jazyk definuje syntaxi a počáteční sémantiku zdrojového kódu .
V procesu programování jsou v současné době široce používána integrovaná vývojová prostředí [9] [10] , která obvykle zahrnují:
Slovníky a encyklopedie | ||||
---|---|---|---|---|
|
informatiky | Hlavní směry|
---|---|
Matematické základy | |
Teorie algoritmů | |
Algoritmy , datové struktury | |
Programovací jazyky , kompilátory | |
Souběžné a paralelní výpočty , distribuované systémy | |
Softwarové inženýrství | |
Architektura systému | |
Telekomunikace , sítě | |
Databáze | |
Umělá inteligence |
|
Počítačová grafika | |
Interakce člověka s počítačem |
|
vědecké výpočty | |
Poznámka: Informatiku lze také rozdělit do různých témat nebo oborů podle ACM Computing Classification System . |
Programovací jazyky | |
---|---|
|
Vývoj softwaru | |
---|---|
Proces | |
Koncepty na vysoké úrovni | |
Pokyny |
|
Vývojové metodiky | |
Modelky |
|
Pozoruhodné postavy |
|