Re: Jaký programovací jazyk ve výuce?

Petr Zahradnik clexpert@clexpert.cz
Čtvrtek Září 15 19:40:44 CEST 2005


Puvodni zprava ze dne 15.9.2005:

> Abych prave tebe osobne nedrazdil, tak dale v diskuzi pouzivam jen a jen
> spravny nazev:).

Dekuji, to ocenuji.

> Ok, nejen Kosta bude asi nadseny, ze je nedospely, nevyspely a
> infantilni, stejne tak mnoho dalsich zde diskutujicich, vcetne meho
> kolegy z informatiky, ktery Pascal temer miluje, ale stejne mu říká
> Packal:))).

Kosta se s tim nejak porve a jiste to skousne. To bych neresil. Ja
svuj nazor nezmenim, je to muj nazor, pripada mi to proste infantilni.

> Pascal neni zivouci osoba a jako takovouto nezivou a soucasne
> neinteligentni entitu ji nelze urazit:).

Ale jo, urazit lze i nezivou vec - treba hrdlo lahve od Whisky muzes
urazit o berlinskou zed apod. :-)

> // Nyni tedy k tomu duvodu - mohl bys byt tedy uplne konkretni a napsat
> // mi, v cem sam sobe Pascal hazi klacky pod nohy?

> OOP v TP7.0, pokud bych se jej v tomto jazyku ucil, tak dnes bych
> nic v C++ ani jinem objektovem jazyku nic nevykuckal:).

Ja ovladam OOP v TP7 a nemam s tim problem. Ale jak pisu - prosim
konkretne. Porad jsme se nedostali k jadru veci. Ja tu mam dneska
velky bordel a nemuzu najit tu kristalovou kouli, ktera se mi tu nekde
valela. Bud uplne konkretni, nejkonkretnejsi, nahod presny priklad.

Ja pak za odmenu se treba muzu pokusit vyhrabat nejaky objektovy kus
C++ z me ery programovani Psiona a to se teprve pobavime...

> // A mohl bys byt jeste pridat aspon jeden konkretni argument pro tve
> // tvrzeni, ze Pascal je zpusob, jak studenty odradit?

> Uz jsem jich několik uvedl, za chvili si zacnu pripadat jak
> papousek, který se zasekl pri krakani jednoho slova a porad dokola
> se s nim muci:).

Jezis, ale kde jsou? To nekde mizi, ja nic konkretniho nevidim. A ctu
to snad pozorne. Nevidim fakt nic konkretniho.

> Proti vyuce Delhpi bych nic nemel, ale TP 7.0 je z tohoto pohledu k
> nicemu, protoze studentik si maximalne vypise par hvezdicek do okna
> nebe neco vypocita, ale tim to konci a zklamani zustane tam, ze se
> ani trosku nepriblizil profi aplikaci, ktera by prave poskytla i v
> Delphi lepsi vysledek a hlavne vetsi zaujeti. Navic by hned museli
> alespon na nejake jednoduche urovni pochopit udalostmi rizene
> programovani a to je dnes trend kazdeho moderniho OS pro pracovni
> stanice, coz je prave studentikum na SS velmi blizko:).

Aha. Takze ja to uz chapu. Respektive Tebe chapu. Ty mas totiz zcela
jinou predstavu o vyuce programovani. Takze znovu a polopate. Vyuka
programovani zacatecniku, to neni tvorba jakekoliv kompletni aplikace
majici GUI apod. Vyuka programovani proste neni o tom vzit Delphi a
nahazet tam ty komponenty a naklikat udalosti. To se nikdo ani ucit
nemusi, to dokaze udelat prumerne inteligentni orangutan posazeny pred
monitor. Vyuka programovani je o tom programovani, ktere je zcela
nezavisle na pouzitem jazyku. Naucit se programovat muzes klidne na
papire, s pouzitim Basicu, nebo treba jestli pamatujes na program
KAREL. Proste vyuka programovani zacatecnika neni o jazyku.

A kdyz se chces naucit programovat, zacnes u stupidnich ukolu, ktere
pro svoji reprezentaci nepotrebuji zadne GUI. Staci ti treba Basic
prikazy INPUT, PRINT. Nejde o to udelat program pro vedeni ucetnictvi
(ono jaksi toto treba ani neni moc o programovani), ale naucit se
jistym zpusobem myslet. Nevim, proc bys jako nemohl v TP7 napsat
program na Pythagorovu vetu, hledani prvocisel, nejake pitome rovnice
apod. A vo tom to je...

> // Tak bud konkretni prosim. Tyto recicky v obecne rovine jsou uplne na
> // nic, dej sem konkretni argumenty.

> Pro mne je to treba cas k zavedeni modulu do projektu.

Jakeho modulu? Myslis jednotky, unity? Jako napsat "uses neco"? V C#
to snad nedelas?

> V GCC to udelam za chvilku vcetne zverejneni obsahu modulu v
> hlavicce.

Jo myslis v te unite okopirovat hlavicky procedur a funkci a hodit je
nahoru do sekce interface? Nebo tam hodit definici tridy? V C# to snad
nedelas?

> V Pascalu mi to zabere delsi cas dik nabubrele syntaxi.

Jake nabubrele syntaxi? Co? Fakt to nechapu, ja fakt potrebuji
konkretni priklad, prosim napis sem kus toho nabubreleho kodu. Mohu Te
o to poprosit?

> Bacha nemluvim o Delphi, tam je to zas jednoduzsi, ale o tom TP 7.0 ...

Uff, co je jednodussi? Je to stejne, ne?

> // Ano, v tom s tebou naprosto souhlasim. Jenze zapominas na dalsi dve
> // veci. Za prve zalezi take na tom "co hazis" a za druhe zalezi take na
> // tom "kdo hazi".

> Pro studenta tyhle meritkaneplati, tam je hlavni podminkou udrzeni
> zajmu a to v pripae TP 7.0 v desni době nekonzolovych aplikaci bude
> safra namaha:).

Ale neplet do vyuky programovani zacatecniku jeji vizualni cast. To
nema s tou vyukou vubec nic spolecneho. Jinak v TP7 byl Turbo Vision,
pokud si vzpominam, velmi propracovany system vizualniho zobrazeni,
menu, dialogova okna apod. Na svou dobu super vec. Dale v TP7 lze
ovladat graficke rozhrani (malovani graficky) a to je zase super pro
vyuku objektoveho programovani (malovat body, cary, trojuhelniky,
obdelniky, kruhy...). No nevim, co se ti nelibi. Ja bych Te zfleku na
TP7 naucil strukturovane i objektove programovani a nevidim v tom ani
ten nejmensi duvod. Tedy pokud bys nebyl tupoun, ale to by ses stejne
nenaucil vubec nic.

> Ok, priste budu krotit sve narky provolavane k Bohu, ve ktereho
> neverim:).

Ja taky ne.

> Ale zkuste ptesvedcit mne a uvedte, jak chcete studenta udrzet u
> vyuky Pascalu v TP 7.0 ! Ja vidim jen jedno reseni pouzitelne pro
> vetsinu studentu: Je to mus a ty to musis studente prekousnout!

No ja nevim, co Ti na to mam rict. Nemam s tim nejmensi problem. Sve
deti klidne naucim programovat na TP7. Nebo treba na papire. To preci
je uplne mimo misu. Ja nevim, co by sis predstavoval. Jako myslis, ze
C# a rolnicky do kazdeho rohu LCD monitoru udrzi pozornost u vyuky?

> // Ja opravdu nechapu, o cem to porad mluvis. Jaka nabubrela syntaxe
> // Pascalu? Co je tohle za hovadiny? Jako mluvime oba dva tomtez? Bud
> // konkretni, protoze tohle nema asi smysl diskutovat v tak obecne
> // rovine. Co je tedy presne nepochopitelne a nabubrele?

> Hlavicky funkci/procedur(uz toto samotne deleni je zbytecnost) a hlavicky
> modulu.

To neni zadna zbytecnost. To je dobra vec, zadna nabubrelost. Totez
hlavicky v OOP, coz jsou definice trid. To take neni zbytecnost.
Definujes tridu, jeji vlastnosti a metody a viditelnosti a pak teprve
obsah metod apod. Co je na tom za problem? Okopirovat tu hlavicku do
interface?

Nehlede na to, ze pro vyuku programovani v Pascalu nepotrebujes vubec
nic z tohoto. Proste napises jednoduchou aplikaci na vypocet prvocisel
a nepotrebujes psat zadne sve jednotky a interfacy apod.

> // Si jako myslis, ze ja jsem nebyl zacatecnik pred 25 lety? Si jako
> // myslis, ze tenkrat v pocatku mikropocitacu byly nejake dostupne
> // materialy nebo skoly nebo ucitele? Ja zacinal na Basicu v papirovem
> // pocitaci v ABC jako samouk. A bylo mi jedno, co to je, hlavne jsem mel
> // radost, ze to funguje.

> Ale to jsi delal z vlastniho zajmu, ne donuceni skolo predpokladam.

No jiste. Ja delam vzdycky jen to, co me bavi. Jako chces ucit
programovat nekoho, kdo se to nechce naucit? Tak to ho nenaucis ani
jezdit na sankach, kdyz nebude chtit... to ti nepomuze zadny jiny
jazyk :-)

> Ale ja prece C a C++ zavrhl na ukor C#, ktery mi pripadne pro vyuku
> lepsi, protoze se snaz dela s GUI a proto, ze neni tak zhovadily
> jako VB 6.0:).

Na vyuku programovani zacatecnika nepotrebujes zadne GUI. GUI se bude
delat az na poslednim miste. Nejdrive se musi naucit myslet a psat
zakladni programy.

> Ukolem stredniho skolstvi neni odchovavat programatory.

Ale "klikace" ve Visual Studio v C#.NET? To snad ne...

Proc my jsme na stedni skole tedy delali Basic a Assembler? Proc jsme
programovali "kufry"? No tak, neblbni - bud chce nekdo ucit
programovani a pak odchova programatory, nebo chce nejak zaplnit
ucebni hodinu a pak holt muzou hrat karty...

> // Pri vyuce programovani _nejde_ o GUI a vizualni navrh. Naplacat
> // komponenty na formular v Delphi, Visual Basic, Visual Studio, to umi
> // kazdy mamlas, to neni o programovani.

> Pokud se bavime o informatice na VS, pak mas pravdu, pokud se bavime
> o par hodinach na SS, pak ne. Na SS jde o to, aby vyuka udrzela
> maximalni procento studentu aktivnich v hodine a když to bude s
> pomoci placani komponent na na formular, tak proc ne.

Ehm, ted jsi me dostal. :-) Na to fakt nemam argument :-)

> Cim rychleji se nauci tyto jednoduche blbosti, tim driv se dostanou
> k pochopeni udalostim rizeneho programovani. Tim drive se dostanou k
> jadru programovani a pochopi, ze komponenty za ne nevyresi vsechno,
> ale jsou jednim usnadnujicim prostredkem k jejich cili.

Ne, ne, to je na hlavu postavene, to je uplne obracene, uplne spatne.
Takovyhle programator se nikdy nenauci programovat a bude plodit
hruzy, takovych programatoru jsou haldy. Jejich programy stoji za prd.

> // Nebo jinak, co tedy je tou sveraci kazajkou v pripade Pascalu?

> Myslim, ze jsem odpovedel jiz nekolikrat na nekolikrat polozenou
> otazku:).

Ja nevidim zadny velky rozdil mezi kodem v C# a v Pascalu, proto se
porad ptam dokolecka, proste nevidim tu kazajku, nevidim.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, 400 07 Usti nad Labem
telefon: 475 501 627, mobil: 602 409 601, fax: 475 511 338
web: http://www.clexpert.cz, e-mail: clexpert@clexpert.cz
ICQ: 21215917, MSN: clexpert@clexpert.cz
==========================================================
 





Další informace o konferenci Hw-list