V tomto článku bych chtěl napsat pár myšlenek ohledně toho, jak člověk může začít s programováním. Programovat se může člověk naučit prakticky v jakémkoliv věku, vše je to jen o odhodlání, a hlavně o hlavě, která bude řešit (vymýšlet) jednoduché i komplexní řešení.
Je pro mě programování to pravé?
Tuto otázku by si měl na začátku položit každý zájemce o naučení se programovat. Programování není nijak fyzicky náročné, avšak hlavou budete myslet stále na 110 %. Jak mi jeden z mých profesorů na střední škole připomínal, tak „IT není práce na celý život, z toho zmagoříš“. Proto spousta ajťáků končí v různých odvětvích (stavebnictví, zemědělství) a u manuálních prací, které s IT nemají příliš společného, mnohdy se syndromem vyhoření.
Je dobré si hned na začátku říci, zda chcete sedět za počítačem celý život. Na jednu stranu získáte práci – programování, kterou můžete provozovat prakticky odkudkoliv na světě a díky dnešní době můžete komunikovat a výsledky předávat či ukazovat online, na druhou stranu budete neustále sedět za počítačem a sledovat monitor. Je dobré také popřemýšlet nad bolavými krčními páteřemi, tinitusem, karpálními tunely apod.
Na konci možná zjistíte, že sedění celý den za počítačem s představou toho, že řešíte několik dní v kuse opakující se problém s částí kódu či algoritmu, který se nedaří neustále vyřešit, není pro Vás. Pokud Vás však IT zajímá, líbí se Vám, jak fungují například mobilní aplikace a chtěli byste si nějakou takovou aplikaci vytvořit, pokračujte ve čtení.
Než začnete v programování
Já sám jako naprostý základ považuji psaní na klávesnici všemi deseti. Nemyslete si, že půjde efektivně programovat a psát kód ťukáním dvou prstů na klávesnici. Na střední škole jsme měli kolem roku 2000 předmět Obchodní korespondenci, kde jsme se učili psát všemi deseti pomocí programu Zaviačič (ZAV). Pan Jaroslav Zaviačič je borec v psaní na stroji, který dokonce získal titul vicemistra světa, tudíž jeho software považuji jako správnou volbu, pokud se chcete naučit psát efektivně všemi deseti na klávesnici počítače.
Když už budete u psaní všemi deseti na klávesnici, je dobré si také přizpůsobit své pracovní místečko k tomu, aby nedocházelo k bolesti zad, krční páteře, kloubů a k problémům s karpálním tunelem.
Na mysli mám především volbu kvalitní židle, která podpoří záda v celodenní sedavé práci. Já sám mám od dětství dle vyjádření doktorů záda křivá jak paragraf, nedostatek sportu a pohybu a k tomu se nyní přidal tinitus. Věnujte tedy pozornost výběru správné židle, pracovního stolu, nastavení monitoru i prostředí, kde budete programovat. Z krátkodobého hlediska Vám stačí na práci židle u kuchyňského stolu, ale z dlouhodobého hlediska si zaděláváte na zdravotní problémy.
Co chci programovat
Nyní, když víte, že se chcete naučit programovat, je potřeba si rozmyslet, co by Vás bavilo programovat a následně jakém programovacím jazyku byste chtěli programovat.
Na výběr máte řadu typů aplikací, pro které v budoucnu můžete programovat aplikace. Běžně se stává, že začnete jedním typem aplikací a postupně si osvojíte další typy aplikací. Je dobré mít alespoň základní přehled různých typů aplikací a programů, jelikož díky získaným zkušenostem pak můžete čerpat u budoucích zakázek.
Webové aplikace
Jedná se o aplikace přístupné pomocí internetového prohlížeče ať již na počítači, mobilu či jiném zařízení. Když budete chtít programovat webové aplikace, je potřeba si uvědomit jednu důležitou věc a to, že webové aplikace se skládají z několika částí, které bude třeba pochopit k tomu, abyste mohli programovat plnohodnotné webové aplikace.
V případě webových aplikací se budete muset naučit základy HTML (Hypertext Markup Language). Jedná se o značkovací jazyk (obsahem jsou značky – klíčová slova, které tvoří kód), pomocí kterého tvoříte obsah webových stránek. HTML je základní kostrou webových aplikací a jeho znalost je pro tvorbu webových aplikací naprosto nezbytná. V HTML se budete muset naučit jednotlivé značky (tagy), co dělají, jak se tvoří formuláře, tlačítka a další.
Další věcí, kterou se v případě webových aplikací budete muset naučit jsou CSS (Cascading Style Sheet) – kaskádové styly. Jedná se zjednodušeně řečeno o kód, který popisuje, jak bude Váš HTML kód vypadat. Jakou barvu budou mít tlačítka v HTML, jak velký se zobrazí obrázek, jakou barvu bude mít text na stránce apod. Bez použití CSS by HTML bylo pouze jednoduché zobrazení výchozího vzhledu jednotlivých prvků (tlačítek, formulářů) na webové stránce.
V poslední řadě se při tvorbě webových stránek neobejdete bez znalosti JavaScriptu. JavaScript je klientský skriptovací jazyk, pomocí kterého můžete ovládat jednotlivé prvky na stránce a zpracovávat události, které návštěvník na stránce provádí. JavaScript běží v prohlížeči na Vašem zařízení a jedná se tedy o Client Side programovací jazyk (běží na straně klienta, a ne na vzdáleném serveru).
Pomocí JavaScriptu můžete jednoduše reagovat například na kliknutí na tlačítko nebo obrázek na stránce, dále můžete pohybovat s jednotlivými prvky na stránce pouhým tažením myši a mnoho dalšího.
Když to tedy shrneme, u webových aplikací počítejte s tím, že budete muset ovládat minimálně základy HTML, CSS + Javascript. Pro někoho nového v programování je to hodně hned na začátek, proto doporučuji začít postupně a postupně se seznamovat s jednotlivými možnostmi.
Mobilní aplikace
Mobilní aplikace na běžných mobilních platformách jako je Google Android, Apple iOS patří mezi velmi rozšířené typy aplikací, na kterých lidé začínají s programováním.
Pro programování mobilních aplikací je třeba si zvolit programovací jazyk, ve kterém budete aplikace tvořit. Díky tomu pak můžete tvořit aplikace pro celou řadu zařízení od mobilních telefonů, tabletů až po televize.
- Platforma Android
Pro tvorbu aplikací na platformě Android se nejčastěji používá programovací jazyk Java a stále rozšířenější Kotlin. Samozřejmě jde mobilní aplikace pro platformu Android psát i v jiných jazycích – volba vždy záleží na každém, co upřednostní. Výhodou toho, pokud se začnete učit programování v jazyce Java, můžete uplatnit své znalosti následně i při tvorbě webových a desktop aplikací napsaných také v Javě.
Já osobně jsem zvolil programovací jazyk Java pro tvorbu mobilních aplikací na platformě Android.
- Platforma Apple iOS
Pro programování na platformě Applu můžete v současné době využít nejpoužívanější jazyky jako je Objective-C a Swift. Programovací jazyk Objective-C byl vyvinutý původně pro NeXTSTEP operační systém a položil základy budoucímu Apple macOS i iOS. Stále rozšířenější variantou je programovací jazyk Swift, který se objevil jako alternativa pro programování aplikací na platformě Applu.
Na platformě Applu jsem si vybral programovací jazyk Objective-C, který mi svou podobností s jazykem C seděl nejvíce.
PLC zařízení
Programování PLC (Programmable Logic Controller), které na základě vstupů (senzory, čidla, měřidla) zpracovávají výstupy (relé atd) je díky IoT (Internet of Things) stále rozšířenějším typem programování. Díky volbě programování v PLC jste schopni si naprogramovat fungování například chytrého domu (systém Loxone), řídit výrobu strojů (Siemens PLC), číst teplotu z teplotních senzorů a reagovat na výkyvy teploty + mnoho dalšího.
U PLC doporučuji začít u mikropočítačů jako je vývojová platforma Arduino. Arduino je open-source platforma na mikrokontrolerech ATmega od firmy Atmel. Relativně za pár peněz jste ve vývojářské sadě obsahující základní komponenty schopni vytvořit si automatickou závlahu v závislosti na vlhkosti, monitorování objemu nádrže a mnoho dalšího.
Já osobně jsem díky Arduinu vytvořil grafický display pro čtení stavu automobilu přes OBD port, sledování teploty oleje v motoru a další. Díky znalostem jazyka Java jste schopni si programování s Arduinem velmi rychle osvojit a psát kvalitní aplikace
Desktop aplikace
Desktop aplikace, které běží na běžných počítačích Apple, Microsoft a jinými jsou velmi žádanou oblastí programování a vývoje software. Mezi tento typ aplikací patří uživatelské rozhraní na správu čehokoliv, systémové služby běžících na pozadí a zpracovávajících data i další typy aplikací.
Doporučuji otestovat si tvorbu grafického prostředí GUI, jelikož na moderních vývojových platformách je to relativně jednoduché a jsou za Vámi hned vidět výsledky.
V čem chci programovat
Dnešní moderní doba nabízí mnoho možností při volbě toho, na jaké vývojové platformě budete chtít začít programovat. Já osobně začínal před rokem 2000 v programovacím jazyce PHP, který slouží převážně pro tvorbu webových aplikací. Jedná se o ideální volbu, pokud právě s programováním začínáte a postupně si tak osvojíte základy myšlení a tvorby algoritmů (podmínky, cykly, …).
Microsoft .NET
Další možností je vývojová platforma Microsoft .NET. Já osobně programuji na této platformě od úplného začátku od verze .NET Framework 1.0 Beta 2 a osobně ji považuji za ideální řešení pro vývoj, jak webových, tak desktop a mobilních aplikací.
Microsoft .NET je vývojová platforma, pomocí které můžete vytvářet nejen webové aplikace, a to pomocí různých programovacích jazyků, mezi které patří například C#.
Jazyk C# je nyní jeden z nejrozšířenějších programovacích jazyků, který vychází z podobnosti s jazykem Java a jazykem C. Je současně pokračovatelem jazyka Visual Basic, ve kterém se programovali aplikace i před příchodem .NET platformy.
Dříve panovaly obavy s tím, že .NET je uzavřená platforma, což se řadě lidí nelíbilo. Nově je .NET Open-Source, běží i na operačních systémech Linux a MacOS díky podpoře Mono, tudíž většina těchto obav již není aktuálních.
Pro více informací o jazyce C# doporučuji navštívit web https://dotnet.microsoft.com/en-us/learn/csharp, kde získáte informace, návody a videa o programování v tomto programovacím jazyce.
Java
Další velmi rozšířenou volbou je programovací jazyk Java. Tento programovací jazyk najde uplatnění na mnoha operačních systémech (Android, Windows atd.) a u mnoha typů aplikací (webové aplikace, desktop aplikace a jiné).
S volbou jazyka Java neuděláte chybu, jelikož tento programovací jazyk je stále populární a používaný pro bankovní aplikace i v průmyslu. Pomoci Javy budete také schopni napsat mobilní aplikace pro operační systémy Android.
Ať již si vyberete jakoukoliv platformu nebo programovací jazyk, budete při programování potřebovat notnou dávku trpělivosti a zvídavosti. Odměnou za to vše Vám bude práce, která je stále víc a víc populární a vcelku hezky se s ní uživíte.
Pokud by Vás ještě něco zaujalo, napište nám na email a rádi to probereme.