S čím začať programovať - update

Autor: Adrián Lachata | 16.7.2011 o 21:10 | (upravené 16.7.2011 o 22:38) Karma článku: 3,48 | Prečítané:  999x

Za svojich nedávnych mladých búrlivých čias som napísal článok S čím začať programovať. Je milé, že ho niekto otvorí aj dnes. Ale zároveň pre mňa aj trochu smutné, lebo za ten čas sa už na celú vec dívam trochu ináč. No, došiel čas na update.

Mám rád veci rozumne, a tak si čitateľa predstavujem ako samouka alebo mladú myseľ, ktorá jednoducho chce skúsiť programovať, či už sama vie alebo nevie prečo. Dôvod je prostoduchý. Keď budete v blízkej dobre absolvovať nejaký kurz programovania, asi najrozumnejšie bude ísť podľa neho.

A teda, mladá myseľ, vitaj! Milo vitaj!

Úvod by mal byť pekný a povzbudivý. Tak začnem. Od ľudí programujúcich v Google a podobne viem, že je v podstate úplne jedno s čím a ako začneš programovať. Ak Ťa to baví, je to OK!

Odbočka. Na počiatku počítačových sietí boli dva hlavné prístupy. Jeden tvz. OSI model. V skratke ide o úplne dokonalé riešenie, kde sa na všetko myslelo, všetko predpokladalo a všetko implementovalo. Chcelo sa chytrú sieť a hlúpe koncové uzly (napríklad sieťové karty). Bolo to strašne dráhe, nepružné a už od začiatku šialene komplikované. Druhé riešenie bolo tzv. TCP/IP, ktoré si zvolilo iba zopár hlavných potrebných požiadaviek, aby to vôbec nejako mohlo fungovalo a tie implementovali. Oproti OSI modelu sa začalo naozaj jednoducho, a potom podľa skutočných potrieb sa vymýšľali nové veci, ktoré by sa hodili. Chceli chytré uzly a hlúpu sieť. Vďaka čomu mohol byť prenos dát rýchly, a celá technológia oveľa pružnejšia aj výrazne lacnejšia. Netrvalo dlho a v praxi sa začal OSI model dívať na zadok TCP/IP, na ktorom dnes funguje celý Internet. V prípade hlbšiemu záujmu vrelo odporúčam earchiv od Peterky (prednášky na MFF UK). Pre mňa bol ten celý boj medzi OSI a TCP/IP veľmi poučný a ukázal mi, aký prístup ma reálne väčšiu šancu fungovať.

Tým som Vás chcel navnadiť, aby ak Ti niekto začne rečniť o tom, aký jazyk je ten najlepší na začiatok, ako sa najlepšie treba učiť a vôbec budeš cítiť, že má niekto to jediné dokonalé riešenie, aby si mu smelo ale slušne ukázal zadok. Slušnosť je fajn.

Hm, teda, čo môžem vravieť ja, aby si mi neukázal zadok. Poviem Ti pár drobných príbehov, ako začínali moji známi i priatelia.

Aby ma písanie tohto článku čo najdlhšie bavilo, začnem mojím najmilším priateľom Ivom. Malý milý smejúci sa rebel (nie je rebel, ale rád si myslí, že je) vždy rád rozmýšľal a bavilo ho hrať počítačové hry s podobným zámerom. Ak prešiel jednú hru (čoskoro zistím akú), pri záverečných titulkách si všimol, že bola vytvorená v Game Maker. Zaujalo ho to, a keď zistil, že sa v tom dajú rýchlo a jednoducho programovať hry, tak si takto nadšene začal programovať vlastné hry. Občas ak ma chuť, opráši svoje znalosti z jeho aj dnes.

Miloša vždy zaujímala akákoľvek technika, neskôr programoval vlastné hry pre mobily pre prvé mobily, ale začínal tak, že si niekde prečítal o Quick Basicu na MS-DOS a príkaze help, vďaka ktorému skúmal ostatné príkazy a díval sa na cudzie programy, v ktorých sa tiež hrabal. Dnes, pokiaľ bežíš na Windowse, program Visual Basic by bol možno podobný začiatok.

Ak sa bavíme o programovaní v C, je viac ľudí proti ako za. Hlavným argumentom je to, že v C sa človek musí najviac starať o netriviálne technické veci, pričom v každom modernom jazyku sa o podobné veci starať nemusí. Hm, C je tu 30 rokov, stále je po ňom dopyt a programátori v ňom sa stávajú čoraz vzácnejší.

Na margo C Vám prerozprávam krásny diskusný príspevok neznámeho autora. Ten autor programoval v C a aj to učil na nejakých kurzoch. Prišiel za ním jeho syn, že nech mu ukáže to programovanie, čo je to vlastne zač.. Otec mu naprogramoval triviálny program, ktorý sa užívateľa opýta na meno a ako odpoveď vypíše zadané meno a doplní, „si blb.“ Čo bola strašná sranda, najmä, ak ten chlapec takto nachytal všetkých svojich kamošov. Bolo to triviálne, a tak ho časom omrzelo, chcel program vylepšiť, pričom sa pýtal otca viac a viac. Otec si nebral servítku pred ústa a odpovedal chlapcovi to, na čo sa pýtal. Chlapec v ôsmich rokoch zvládol pointrovú aritmetiku a iné veci, ktoré jeho otec vysvetľoval 18 ročným študentom mesiace. Autor príspevku tým chcel povedať to, že netreba sa báť sa aj malé deti učiť C, lebo je to jednoduchý jazyk, ak človek uvažuje jednoducho, čo dieťa z princípu robí.

Mimochodom na vysokej škole sa ukázalo, že študovaný človek ľahšie najprv pochopí iterátory a cez nie pointrovú aritmetiku ako naopak. Pritom pointrová aritmetika je vážne taká jednoduchá vec, že nie je tam ani nad čím premýšľať.

Ono počítač z principiálneho hľadiska (nie fyzikálneho) skutočne nie je nič zložité, ak sa človek díva na veci jednoducho. Len si myslím, že čím sme starší a čím viac škôl máme, tak vieme toho toľko, že už máme problém jednoducho uvažovať. Geniálnym dôkazom toho je dnešná doba, kde 10 roční žiaci vedia lepšie ovládať počítač ako ich učitelia s rodičmi.

Moje programátorské začiatky sa týkajú jemného nátlaku. Totiž prinútil som učiteľa, aby mi na leto požičal knihu o Pascale. Ak samozrejme nepočítam kreslenie na PMD.

Peťko chcel robiť webové stránky, tak začal programovať PHP a MySQL.

Asi najviac mojich známych začali programovať strednej škole, často v Pascale, chytilo ich to a začali na sebe pracovať. Všetci moji priatelia nejako začali. Čo je to najťažšie, začať. Časom vyskúšali niekoľko programovacích jazykov, až im na jazyku postupne prestalo záležať. Ak majú niečo programovať, vyberú si jazyk podľa toho, ktorý je na daný problém vhodný a pre nich najpohodlnejší.

Preto sa aj ja začínam prikláňať k názoru, že je úplne jedno, s akým jazykom začneš programovať, ak Ťa to bude baviť. Hlavne, že začneš. Neskôr sa aj tak budeš ďalej kryštalizovať podľa vlastných potrieb a záujmu.

Často padne otázka, keby budem profesionálny programátor. No rozdiel medzi amatérom a profesionálom je ten, že profesionál na tom zarába. Ešte otázka, že kedy budeš vlastne vedieť programovať.. Jeden môj známy v Google, dlhoročný programátor v C++ a riešiteľ problémov vraví, že v programovaní sa ma ešte veľa čo učiť. Teda v najkrajšom prípade nikdy.

Môže sa Ti zdať, že vravím o programovaní s takou ľahkosťou a študujú sa na to celé vysoké školy. Ono, sú rôzne modely učenia, ale väčšinou každému sadne niečo iné. Ak žiak chce a ma dobrého učiteľa, ktorý ho vie vnímať, tak učenie ide úplne inou rýchlosťou. Aha! … Vážne to funguje, môžete sa opýtať mojich žiakov. Už ich je dosť.

Milá mladá túžiaca myseľ, pokiaľ by si chcela programovať ale ešte si nezačala, či už nevieš ako alebo Ťa nenapáda, čo by si mohla robiť, ak chvíľu počkáš, skúsim v ďalšom článku načrtnúť pár možnosti, ktoré by vážne nemuseli byť stratou času. Lebo som zistil, že Pascal už dnes vážne patrí do starého železa. Ale neviem, či to má zmysel. Keď si myslíš, že hej, môžeš napísať do diskusie, čim ma trochu povzbudíš. Čo bude fajn.. Vďaka!

Nazdar!

 

Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

Minúta po minúte: Výbuch plynu v prešovskej bytovke má zatiaľ päť obetí

Na miesto výbuchu smeruje premiér Peter Pellegrini

Kočnerova Threema: Sudca Sklenka sa vzdal funkcie

S mafiánom Kočnerom si cez Threemu vymenili vyše 8000 správ.

Andreja Kisku obvinili v súvislosti s firmou KTAG

Je to politická kampaň, reaguje Kiska.


Už ste čítali?