DiProgramovací paradigmata jsou různé styly, různé „způsoby“ programování. Existuje mnoho různých paradigmat, včetně některých populárních, jako je procedurální programování, objektově orientované programování, funkcionální programování atd. A některá, která nejsou tak populární, například imperativní programování, deklarativní programování, programování řízené událostmi atd. Pokud vás to zajímá, velmi dobrý přehled programovacích paradigmat najdete zde. V tomto příspěvku se budeme zabývat jedním z populárních, kterým je procedurální programování.
Tl; dr;
Procedurální programování je jedním z nejpopulárnějších programovacích paradigmat. Při dodržování procedurálního programování rozdělujeme kód do menších celků nazývaných funkce nebo procedury, takže je snadněji opakovaně použitelný a tok provádění probíhá shora dolů. Tento styl je snadno pochopitelný a implementovatelný. Díky tomu se často vyučuje v kurzech úvodu do programování.
Další příspěvky na blogu z této série:
Programovací paradigmata – je lepší objektově orientované programování?
Co je procedurální programování?
Procedurální programování je způsob programování, který má podporu rozdělení funkcí do řady procedur. Při procedurálním programování je rozsáhlý program rozdělen na menší zvládnutelné části nazývané procedury nebo funkce. Prioritu zde mají spíše funkce než data. V procedurálním programovacím jazyce se program v podstatě skládá z posloupnosti instrukcí, z nichž každá říká počítači, aby něco udělal, například přečetl vstupy od uživatele, provedl potřebný výpočet, zobrazil výstup.
def add_number(a, b): return a + b# workflow starts here# call function add_number() to add 1 and 2 together and print the result to screenprint(add_number(1, 2))# execute add_number() function 5 times and print the result to screenfor i in range(5): print(add_number(i, 1))# workflow ends here
Když je program větší, je pak rozdělen na menší celky nazývané procedury nebo funkce. Předpokládá se, že pro splnění určitého úkolu bude napsána řada funkcí. Tyto funkce neumožňují duplikaci kódu kvůli volání stejné funkce z více míst. Tato technika je vhodná pouze pro středně velké softwarové aplikace
V procedurálním programování se používají dva typy dat lokální a globální. Data uvnitř funkce se nazývají lokální data a data a která nejsou uvnitř žádné funkce, se nazývají globální data. Lokální data jsou přístupná pouze té funkci, ve které jsou deklarována. Každá funkce tedy může přistupovat ke svým lokálním i globálním datům.
// this is a global variable$globalVar = 1;function addNumber($a, $b) { // this is a local variable $randomNumber = rand(); return $globalVar + $randomNumber + $a + $b;}
Lokální data jedné funkce nejsou přístupná jiným funkcím. Mají-li k některým datům přistupovat dvě nebo více funkcí, měla by být globální. Globální data jsou však náchylná k tomu, aby je jiný programátor nevědomky změnil. Oddělené uspořádání dat a funkcí špatně modeluje věci v reálném světě. Proto procedurální přístup k programování nemodeluje reálný systém dokonale.
COBOL, FORTRAN, C, Pascal jsou některé programovací jazyky, které mohou implementovat procedurální programování.
Charakteristika procedurálního programování
Rozsáhlý program je rozdělen na malé zvládnutelné procedury nebo funkce. Tím se snižuje duplicita kódu, což zlepšuje jeho čitelnost a udržovatelnost.
Různé funkce mohou sdílet data prostřednictvím globálních proměnných. Funkce jsou zcela izolované, proto pokud chceme sdílet data, musíme je deklarovat ve vyšším oboru.
Funkce mohou měnit globální data. Protože se globální data přenášejí z funkce do funkce; v průběhu transformace se mohou globální data v řetězcích funkcí měnit.
Metodika shora dolů. Jak již bylo uvedeno, procedurální programování se řídí metodikou shora dolů, pracovní postup probíhá shora dolů.
Výhody procedurálního programování
- Kódování je snadné a jednoduché.
- Kódy mají možnost opakovaného použití v několika částech programu.
- Programovací paradigma spotřebovává méně paměti počítače.
- Je snazší sledovat tok kódů v programu napsaném v procedurálním programovém paradigmatu.
- Programové paradigma je považováno za nejvhodnější pro obecné programování k naučení a implementaci.
Omezení nebo nevýhody procedurálního programování
- Zaměřuje se spíše na funkce než na data.
- V rozsáhlém programu je obtížné určit příslušnost globálních dat.
- Používání globálních dat je náchylné k chybám a může být překážkou v případě údržby a vylepšování.
- Modifikace globálních dat vyžaduje modifikaci těch funkcí, které je používají.
- Udržování a vylepšování programového kódu je kvůli globálním datům stále obtížné.
- Paradigma procedurálního programování příliš dobře nemodeluje reálný problém, protože funkce jsou orientovány na akce a ve skutečnosti neodpovídají prvkům problému.
Shrnutí
Procedurální programování jistě nabízí mnoho kladů, jedním z nich jsou snadné učení a implementace. Noví programátoři mohou začít svou cestu tím, že se naučí psát kód procedurálním stylem. To jim pomůže pochopit, jak určitý programovací jazyk funguje.
V reálných aplikacích se však kvůli jeho omezení procedurální programování nepoužívá. Proto se studenti budou muset naučit jiná paradigmata, aby se mohli seznámit s problémy reálného života.
Děkuji vám za přečtení. Další příspěvky o technologiích si můžete prohlédnout zde.
By Tuan Nguyen