Úvod do programování
Proč se učit programovat
“Everybody in this country should learn how to program a computer. … because it teaches you how to think”.
(Steve Jobs)
Každý máme nějaký motiv, proč je dobré umět programovat. V hodině budeme rozebírat, co je důvodem právě pro Vás.
V současné době, kdy i do programování hodně zasahují algoritmy umělé inteligence a LLM, by Vás možná na první pohled mohlo napadnout, že umět programovat už nebude potřeba, protože budoucnost leží v low-code nebo no-code. I přesto se však stále domníváme, že je a bude nadále potřeba umět kód minimálně přečíst a porozumět mu. Abychom ale mohli programový kód číst a porozumět mu, musíme alespoň základy samostatně psát.
Samozřejmě přidáme také konkrétní příklady nabídek zaměstnání v pozicích kolem programování – někteří z Vás brzy získají první pracovní zkušenosti, někteří vědí, čemu se věnují a za kolik pracují jejich rodiče, tak abyste uměli porovnat – když se budete programování věnovat, jaká budoucnost Vás může čekat.
Co je to programování
Programování je proces od návrhu řešení problému pomocí digitální techniky až k nasazení spustitelného počítačového programu.
Proces by se dal rozdělit do následujících fází:
- zadání
- analýza
- návrh algoritmu
- kódování
- testování
- nasazení
Zadání je fáze, kdy přebíráme požadavky od zákazníka, od projektového vedoucího nebo od svého team-leadera. Ve fázi analýzy se snažíme porozumět zadání, popsat jej jako souhrn vstupů, postupů a výstupů. Ve fázi návrhu algoritmu již jdeme do detailu a snažíme se krok za krokem popsat, jakým způsobem bude program fungovat.
V následné fází kódování už skutečně píšeme programový kód (pozor – všimněte si, co vše musí předcházet – není možné po vyslechnutí zadání rovnou přecházet na tento bod). Součástí kódování je i základní forma testování (tzv. vývojářské testování) – vývojář by měl svůj kód předat tak, aby splňoval algoritmus (a samozřejmě bez chyb fungoval).
Další fází je testování – to může probíhat už se zástupci zákazníka, kdy část kódu nebo celý proces testuje z pohledu zákazníka. Součástí testování mohou být také technické testy, kdy se testuje responsivita, rychlost, robustnost, atp.
Poslední fází je vlastní nasazení, tj. převedení otestovaného a funkčního řešení do produktivního provozu – v případě programování e-shopu je pod pojmem nasazení chápáno zprovoznění produktivního webu, odblokování pro vyhledávače a prolinkování na webu. Součástí by mělo být též dokončení dokumentace.
Kdo se nachází kolem
Programátor samozřejmě v celém procesu vývoje nového softwarového řešení není sám. Podle velikosti nasazovaného řešení se kolem něj může nacházet celá řada dalších rolí / profesí. Budeme-li hovořit pouze o straně dodavatele, můžeme najít například role jako:
- projektový vedoucí (Project Leader)
- analytik (Analyst)
- programátor front-end (Front-End Coder)
- programátor back-end (Back-End Coder)
- databázový specialista (Database Specialist)
- Key Account Manager
- bezpečnostní specialista (Security Specialist)
- síťový administrator (Network Admin)
- architekt (HW/SW Architect)
- serverový administrátor (Server Admin)
- vedoucí uživatelské podpory (Service Desk Manager)
- operátor uživatelské podpory (Service Desk Operator)
- tester
- UX/UI Designér (User eXperience / User Interface Designer)
- manažer kvality (Quality Manager)
O jednotlivých rolích si více řekneme v hodině a detailně můžeme probírat v předmětu PMI (Project Management in IT).
Co je to programovací jazyk
Programovací jazyk je prostředek pro zápis algoritmů proveditelných pomocí IT techniky.
Je to vlastně komunikační nástroj (jako jakýkoliv jiný jazyk), který slouží pro komunikaci programátora a počítače, kde
- programátor formuluje postup řešení daného problému
- počítač interpretuje program pomocí technických prostředků
Programování dělíme podle úrovně na
- vysokoúrovňové programování (např. programovací jazyky C, C#, Java, JavaScript, PHP, Python)
- nízkoúrovňové programování (např. programovací jazyk Assembler)
Podle způsobu zápisu na
- procedurální (např. C, Pascal)
- objektově orientované (např. C#, Java, JavaScript)
Podle způsobu spouštení na
- kompilované (např. C, Java, Python)
- interpretované (např. Bash, PHP, JavaScript)
Podcast
Generovaný podcast o tomto tématu si můžete poslechnout zde:
Podcast byl automaticky generován na základě této stránky.