Programovanie a skriptovanie

Programovanie - postup časom

Ako malý som sa rýchlo zoznámil s počítačom, ktorý sme mali doma, vtedy ešte "Sinclair ZX spectrum". No a trochu neskôr prišlo PC (CPU celeron 266MHz). Najprv som sa iba hrával, ale neskôr som zistil, že sa dajú vo Worde robiť projekty do školy. Takto som postupne prešiel od "iba hry" po "dajaká činnosť".

Neskôr som si začal robiť ikony a rôzne animované kurzory, ešte trochu neskôr (som mal asi 8) začal spolužiak programovať. Mňa vtedy nadchlo asi to, že nejaká aplikácia môže niesť moje meno. To mi stačilo k tomu aby som sa tiež začal dačo učiť. Začal som s jazykom Visual Basic 6.0. Moju tvorbu (jej časť) je možné stiahnuť aj na tejto stránke (konkrétne podstránka download).

No a neviem či sa to dá nazvať programovanie, ale viem aj makrá v Exceli (VB for Application je veľmi podobný Visual Basicu 6.0).

Keď už som si robil programy, chcel som sa o ne podeliť, a tak som sa naučil tvoriť stránky. Taký základ HTML mi časom nestačil, pretože som chcel napríklad počítadlo na stránke, čo ma priviedlo k PHP. Na oživenie stránok som sa naučil poupravovať JavaScripty z iných stránok a nejaké tie CSS. oboje len tak, aby som si dokázal skopírovať script z inej stránky, pochopiť ho a s použitím návodov (prevažne na internete) dotvoriť podľa svojich potrieb.

Tieto vedomosti som celkom využil ku koncu základnej školy, kedy som spolu s pár kamarátmi (áno, aj ten čo ma na samom začiatku priviedol k programovaniu, akurát tento krát som ja ovládal technológiu a on sa ju učil) robili školskú stránku do súťaže, a robili sme ju práve v PHP. Tematika stránky bola "Korene školy", trochu škoda, že dnes už nie je on-line.

Keď už spomínam základnú školu, mal by som spomenúť ja výuku informatiky na nej. Zo začiatku teda nič moc, zapnúť PC, vyhľadať niečo na internete (Google ešte nebol tak používaný) a základné použitie balíku MS Office. Jeden rok som mal možnosť účastniť sa predmetu kde sme programovali stavebnicu LEGO DACTA. Bol to veľmi zaujímavý predmet, ale hodinová dotácia nepostačovala na to sa niečo rozumné naučiť a zostrojiť. Ku koncu školy sa ešte vyučovalo Comenius Logo. Celkom zaujímavý nástroj, no už som nemal pocit, že by som sa dozvedal niečo nové.

Medzičasom som nastúpil na Gymnázium Ľudovíta Štúra, kde nás učili programovať v jazyku Pascal, ako prostredie sme používali prevažne Borland Pascal a Turbo Pascal 7. Okrem Pascalu, ktorý bol súčasťou výuky som sa doučil MySQL, pretože som zistil že hotové DB systémy sú rýchlejšie a niekedy použiteľnejšie, než keď si všetko riešim cez súborový systém sám. Ku koncu gymnázia sme s kamarátom robili jeden projekt, ktorý bol písaný v C#, takže som sa tak narýchlo naučil syntax a niečo z tohto jazyka, vtedy v prostredí Visual Studia 2005 Express.

Po gymnáziu prišla MFF CUNI v Prahe kde som sa snažil o Bakalársky titul, tu už bola výuka širšieho zámeru. Študenti tu majú možnosť zvoliť si, ktoré predmety chcú študovať v ktorom semestri, takže nasledujúce odstavce odpovedajú môjmu výberu. Predmety sú prevažne nezávislé od jazyka či platformy, proste učenie algoritmov, ich zefektívňovanie a tak. Na toto sme používali v prvom semestri Pascal (prostredie Borland Pascal alebo Free Pascal).

V druhom semestri sme prešli na jazyk C# .NET. Ďalej sme v tomto semestri mali prednášku nazvanú Úvod do UNIXu, kde sme sa naučili základy obsluhovania UNIX based OS, orientovať sa v shell a bash, ďalej používať sed, awk a iné veci na vytvorenie krátkych obslužných skriptov, prípadne malých programov.

V treťom semestri nám pribudli jazykovo špecifické predmety, v mojom prípade C++ a C# .NET, ktoré boli zamerané na špecifiká daného jazyka. Programovalo sa v prostredí MS Visual Studio 2010. Ďalej sme mali špecifický predmet na databázové systémy, ich návrhy a všetko okolo toho. V rámci predmetu Pravdepodobnosť a štatistika sme mali za úlohu vypracovať štatistickú úlohu v prostredí R, svojim spôsobom aj to sa dá nazvať programovanie.

V štvrtom semestri som si vybral pokračovacie predmety Pokročilé programování pro .NET, kde sme si priblížili rôzne detaily tejto platformy, niečo aj priamo v MSIL kóde a Pokročilé programování v C a C++, kde sme si priblížili (toho času ešte nevydanú) normu C++0x. Oba tieto predmety sa trochu prelínajú jazykom C++/CLI, takže som ho mal z oboch strán. Tiež sme mali predmet Neprocedurální programování, orientovaný na trochu iný princíp programovania, preberané jazyky boli Prolog, LISP (Scheme dialect) a Haskell. Neprocedurálne programovanie je určite zaujímavý koncept, ale zatiaľ my viac vyhovuje štandardné imperatívne programovanie (najlepšie objektovo orientované a udalosťami riadené).

Piaty semester nebol až tak orientovaný priamo na programovanie. Pokračoval som vo svojej bakalárskej práci PDDL Studio a okrem toho som absolvoval predmety:

Šiesty semester bol prevažne o dokončovaní bakalárskej práce a prípravách na štátnice. Počas týchto príprav som si ešte dokončil ostávajúce dva CCNA Exploration certifikáty:

Hlavne sa mi tento semester podarilo kompletne dokončiť bakalárku PDDL Studio, dopracovať ju do stavu, kedy bola prijatá ako system demonstration demo na ICAPS2012 a konečne: úspešne ukončiť bakalárske štúdium získaním titulu Bc.

Hneď po bakalárskom štúdiu som nastúpil na magisterské štúdium, tiež na MFF CUNI v Prahe. No ešte pred začiatkom semestra som mal prázdniny (po dlhej dobe bez školských povinností), tak som po túto dobu pracoval pre Fischer software, kde sme pracovali s C#, ASP.NET a napojené sme to mali na MSSQL databázu.

V prvom semestri magisterského štúdia som si naskladal trochu viac predmetov z cieľom odľahčiť si tie ostatné. Mimo iné som si doplnil predmet na jazyk Java, nech mám celú trojicu. Niektoré ďalšie predmety boli zamerané buď na teóriu okolo algoritmov a ukladania dát, alebo analýzu kódu. Celkom zaujímavý predmet bol Evolučné algoritmy, keď už som mal vyriešený problém, som sa ešte niekedy zabával s riešením a spôsobom ako k nemu doevolovať rýchlejšie, ale stále dostatočne presne.

V druhom semestri som plánoval menej predmetov ako v prvom, no Programování v paralelním prostředí spolu s Vestavěné systémy a systémy reálného času zabrali viac času než som pôvodne čakal. Ďalej som si dal predmet Doporučené postupy v programování, nakoľko mi ho dosť ľudí odporúčalo ako vhodný predmet, a keď už sa chcem týmto živiť, tak to vyzeralo na dobrý nápad.

Tretí a štvrtý semester boli velmi intenzívne a rýchle. Nakoniec sa nášmu týmu podarilo dokončiť a obhájiť SW projekt, mne dokončiť a obhájiť diplomku a úspešne ukončiť štúdium získaním titulu Mgr.

Krátko po škole som sa zamestnal v Barclays.