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. ]