Posted By: JiMo (I'm flyiiiiiiing!!!!!!!!!) on 'CZhelp'
Title:     Re: Programovaci jazyk
Date:      Sat Oct 22 19:39:52 2011

Tedy... nekdo tu navrhoval PL/SQL. Absolvolal jsem jej tento tyden na skoleni 
Oraclu, a jsem rozhodne proti. 

Ne, ze by se mi nelibila myslenka "naucit je lepsi tabulky", , ale myslim, ze 
to je cesta do hrobu ve smyslu nejake cistoty programovani a zakladnich 
navyku. 
Take ve smyslu "naucit je algoritmizaci" to neni idealni.

Prijde mi, ze by to chtelo na zacatek neco "cistsiho". Ze stejneho duvodu 
bych nevolil php nebo treba perl, kde je proste dovoleno prilis mnoho.

Z tohoto pohledu se mi libi python, ktery vlastne nuti psat ciste a 
formatovane.

No, a zde podle me nastava problem, co a jak je vlastne chces ucit. Pokud bys 
chtel, aby se naucili programovat, pak bych byl pro ten python. Na druhou 
stranu sam pises, ze programovat vlastne nechteji/nejsou schopni/nebudou, no 
a zde vidim v pythonu potiz v tom, ze - abych tak rekl - co si nenapisi, to 
nebudou mit. Takze pokud je jeste jakas takas nadeje je trochu navnadit tim, 
ze jim vypadne okynko s nejakou aplikaci, ktera bude aspon trochu pekne 
vypadat, pak bych byl pro nejake GUI, a zde asi Java nebo .NET. 
Osobni zkusenost mam s jbuilderem a VisualStudiem a z techto dvou bych byl 
urcite pro to druhe, ale je to vlastne jedno.

Proste jde o to, ze i kdyz v prubehu par hodin napisete aplikaci, ktera bude 
delat kalkulacku, tak ta kalkulacka bude proste "hezka" a i to prostredi ty 
BFUcka na zacatku odradi mene, nez cerny terminal. Navic IntelliSense muze 
zacatecnikum celkem dost pomoct a vyhovovat.

Takze kdyz jsem se nad tim opravdu zamyslel (a aniz bych studoval mistni 
odkazy na vhodne jazyky), tak kdybych mel tento problem resit bez cizi pomoci 
ja, tak nainstaluju free VisualStudio, a pujdu asi takhle:
- na zacatku si reknem neco obecneho a udelame si aplikaci, ktera bude 
generovat okynko se zakladnim menu, ktere bude obsahovat polozku "konec" a 
bude se umet korektne zavrit. Pote si udelame druhou, ktera k tomu bude umet 
kreslit pri kliknuti mysi kolecko a v menu pribude polozka "vycistit plochu".
Pri tom jim proste predstavim prostredi, udelaji par veci, kterym nebudou 
rozumnet, ale ziskaji zakladni predstavu a (snad) je uplne neodradim. 
Na zaver jim reknu rozdil mezi tahanim okynek a "opravdovym" programovanim 
kodu, no a pripravim je na to, ze dal budeme hlavne prgat.
- na dalsich hodinach pak pouzijem prvni aplikaci jen na to, aby nam 
zobrazovala nejake okno a meli jsme kam vypisovat vystup. No a jdeme uz na 
samotne prgani.
Zacnu od promennych, scitani, nejake dalsi pocetni operace, pak nejake 
retezce, pypisovani hlasek (tady se jim bude libit jako zpestreni vypis pred 
System.Out.Messagebox nebo jaxe to jmenuje), no a pak bych sel na podminky a 
cykly.
- pokud mam hodinu tydne, tak nez tohle vsichni pochopi, mam za sebou tak 2-3 
mesice ;) no a proste uvidim, co dal.

Asi by to chtelo uvod do objektu, aby pochopili, co jsou vsechna ta divna 
slova mezi teckama, co jim tam IDE nacpalo, a take, jak treba IntelliSense 
pozna, co vsechno muze nabidnout. Take si ukazem zapouzdreni (jako ze se int 
umi take vypsat), a asi bych se nehnal do dedicnosti ap.
Peknym a jednoduchym objektem je treba zasobnik / fronta.
Pak bych se chvili venoval grafice a temto knihovnam (navic se spojenim se 
zasobnikem pochopi, jak se kreslila na zacatku ta kolecka), no a tu aplikaci 
z pocatku si rozsirite tak, ze se bude krome kolecka kreslit i ctvrtecek, v 
menu bude vyber barvy, a take pribude krome "smazat vse" i "smazat posledni" 
(odebere prvek ze zasobniku). Tohle je "chytlave", "pekne" a pritom uz na tom 
musi umet zakladni praci s objekty, nejaky cyklus (pro vykreslovani), k tomu 
budou umet vyrobit okynko.
A podle me jsme tak v pololeti.

No a pak se fakt uvidi podle toho, jak se budou tvarit a jak dlouho to bude 
trvat. Podle me by pak mohlo byt mozne jit vic do objektova, tj. vylozit 
alespon zaklad dedicnosti a polymorfismu. V kurzu .NET od M$ je nejaka zoo - 
udelame si obecne zviratko, ktere umi jist a spat, pak si ho zdedime a 
udelame si lva, ktery umi navic rvat, a berusku, ktera navic umi letat. Pak 
prijde pretezovani - kdyz zere lev, tak maso, kdyz beruska, tak pyl. 
Mimochodem - krasnym prikladem pretezovani je print (a opet je v tom uzasny 
IntelliSense, ktery krasne nabizi vsechny varianty, ktere se mu daji 
predhodit).

No a pokud pojmou tohle, muzou delat na necem dalsim... ale to uz by prislo 
samo. Udalosti, vyjimky..? Kdo vi. :)

 
jimo:)
                  [ A project manager is a person who thinks
                    nine women can deliver a baby in one month. ]

Search the boards