V roce 1206Al-Džazárí postavil a ve své knizeKniha znalostí důmyslných mechanických zařízení popsal programovatelný automat, bubeníka, který natočením vaček měnil rytmy a vzory bubnování.[4]
V roce 1801 řídilJoseph Marie Jacquard svůj tkalcovský stav pomocí sadyděrných štítků, které představovaly tkaný vzor. Jacquardův tkalcovský stav tak mohl produkovat s různými sadami děrných štítků naprosto odlišné vzory.[5][6]
Jako programovací paradigma se označuje základní přístup k tvorbě programu. Zahrnuje programovou strukturu, způsob formulace problémů a metodologii jejich řešení, metodiku zpracování apod.
Logické programování – směs imperativního a deklarativního paradigmatu; při jeho použití jsou počítači předložena fakta a pravidla, pomocí kterých se rozhoduje při řešení úloh.
Kaskádový (téžvodopádový) způsob je jeden z prvních způsobů vývojesoftwaru a probíhá prakticky ve sledu: Návrh (analýza) → programování → nasazení u zákazníka (údržba).
Jednotlivé fáze se neprolínají, ale jedna navazuje na druhou. Tato vlastnost je i hlavní nevýhodou této metody – u velkých a časově náročných projektů může být čas potřebný pro provedení příslušné etapy tak dlouhý, že podmínky, do kterých je výsledný software nasazen, si žádají zcela jiné požadavky, než byly identifikovány na začátku projektu.
Dnešní moderní programování vychází z principu, že při psaní mohou vzniknout chyby (a vznikají), a dále z toho, že některé myšlenky je vhodné si ověřit v praxi, než se zahrnou do projektu. Proto se využívá postup: návrh (analýza) → programováni → testování.
Etapy známé z vodopádového modelu platí i zde, ale aplikují se na mnohem menší části projektu (např. dílčí funkcionalitu, jednotlivé moduly). Nově identifikovaný požadavek je ihned analyzován, implementován a podroben revizi (testování). Z pohledu celého projektu se jeví, že příslušné fáze probíhají současně. Např. programátor si chce ověřit funkčnost návrhu, a proto vytvoří tzv. „minimální implementaci“ dané části (programování předbíhá návrhu). Nebo se při testování zjistí, že datová prostupnost aplikace je nižší než požadovaná, a proto se daná část přeprogramuje. V ideálním případě se testování účastní i zákazník, který zhotovení programu zadal. Z tohoto principu pak vycházejí a dále ho rozšiřují další metody programování: aspektové, agilní a extrémní.
Pod pojmemprogramovací jazyk rozumíme prostředek pro zápisalgoritmů, jež mohou být provedeny na počítači. Je komunikačním nástrojem meziprogramátorem, který v programovacím jazyce formuluje postup řešení daného problému, apočítačem, který program interpretuje technickými prostředky.
Související informace naleznete také v článku CASE nástroje.
Programovací nástroje jsou programy, které programátorům usnadňují vývoj programů. Nejčastějšími nástroji jsoupřekladače,vývojová prostředí. Další jsou nástroje pro řešení speciálních úkolů (např. automatické generování kódu):bison,flex,yacc.
↑BEBBINGTON, Shaun.What is coding [online]. 2014 [cit. 2014-03-03].Dostupné online. (anglicky)
↑BEBBINGTON, Shaun.What is programming [online]. 2014 [cit. 2014-03-03].Dostupné online. (anglicky)
↑SAMPLE, Ian.Mysteries of computer from 65BC are solved [online]. The Guardian, 2006-11-30 [cit. 2014-03-03].Dostupné online. (anglicky)
↑DALAKOV, Georgi.The Arabic Automata [online]. History of Computers.Dostupné online. (anglicky)
↑Jacquard Loom [online]. The Great Idea Finder.Dostupné online. (anglicky)
↑ESSINGER, James.Jacquard's Web: How a Hand-Loom Led to the Birth of the Information Age. [s.l.]: Oxford University Press, USA, 2004-12-01.Dostupné online.ISBN978-0-19-280577-5. (anglicky)