Vlákno názorů k článku František Fuka: FFFilm mě celkem štve od Vítězslav Novák - Pokud se FF narodil v 68. tak na...

  • Článek je starý, nové názory již nelze přidávat.
  • 4. 8. 2004 17:05

    Vítězslav Novák (neregistrovaný)
    Pokud se FF narodil v 68. tak na FEL mohl přijít tak v 86. mnejdřív. Dávno před tím se programování vyučovalo nejen na FELu, ale taky na matfyzu, na ekonomce, na VŠCHT a nepochybuju, že i leckde jinde.

    Na FELu Mařík už léta vyvíjel FEL-Expert a měl několik aplikací včetně medicínských. Diplomky byly běžné.
    Na VŠE byl přinejmenším Jiroušek, kdo dělal na expertních systémech.

    Život nezačal s vaší první holkou, pánové!
  • 4. 8. 2004 18:20

    woodstock (neregistrovaný)
    Ja teda prisel na FEL v r. 1990 a vyuka programovani byla absolutne tragicka, patlali jsme se s Pascalem, ucil nas to nejakej zmatenej akademik (pochybuju, ze kdy neco praktickeho naprogramoval) co mi tvrdil, ze nejakou rutinu jsem nemel napsat jako funkci, ale jako proceduru, protoze funkce maj pouze provadet nejakej vypocet. Rekl jsem, ze takhle se mi s tim lip pracuje a ze by me zajimalo, co by si pocal s Cckem a pak jsem vystudoval uplne jinou VS. Cili geekove, ktery v 15 programovali v assembleru cehokoliv, ale pajecku nedrzeli v zivote v ruce, byli v tech dobach na FEL dost vyvedeny z miry :].
  • 4. 8. 2004 18:41

    tsunami (neregistrovaný)
    no, ono to ted neni o moc lepsi :-(
    zalezi koho clovek chyti na cvika a apodobne
  • 5. 8. 2004 11:02

    Vítězslav Novák (neregistrovaný)
    Kdo se naučil programovat na Pascalu, naučil se programovat slušně, protože v něm jdou prasárny dělat těžko. No..., hůř než psát pořádně. A ví, že i v céčku by měl dobře vědět, proč dělá prasárnu, pokud ji dělá.

    Já začínal na FORTRANu - a to byste nevěřili, v tom starým před IV se jinak než čuněcky programovat ani nedalo. Odnaučit se to bylo těžší než se to naučit pořádně rovnou. Vlastní (krušná) zkušenost.
    Zlatej Pascal! Mnozí dnešní programátoři vyrostlí na scriptovačkách (takže spíš skriptéři, nemotat se striptéry!) by měli povinně v Pascalu aspoň rok programovat.

    Jenom jsem chtěl připomenout, že v 80. letech tady nepobíhali medvědi a neprogramovali jsme pazourkem do břidlice. I když do štítků leckdo leckde ano.

    ps - oddělení funkcí a procedur v Pascalu je perfektní věc a v céčku mi trochu chybí. Zejména kontrola na použití návratové hodnoty. Zase by každý měl vědět, proč něco vrací nebo proč toho vrací víc.
  • 5. 8. 2004 11:24

    Michal Kubeček (neregistrovaný)
    Moje řeč, chce se mi plakat, když vidím některé dotazy na Intervalu typu "existuje funkce, která udělá (zjistí) XY", kde se jedná o "problém" na 2-3 řádky. Oni vlastně neprogramují, jen lepí hotové funkce, jak není hotová funkce, jsou ztraceni.
  • 5. 8. 2004 19:51

    Martin Kalenda (neregistrovaný)
    to ja mam veselejsi, nejaky novy admin vykrad s projektu co jsme dodavali kusy kodu a mel tu drzost si napsat o radu proc to nechodi :)
    to jsou ti co skriptovani orpavdu jen LEPI odtut vemu prihasovani odtud editor a hup ono to nejak bude fungovat.
  • 6. 8. 2004 1:26

    shrek (neregistrovaný)
    No, Pascal se podle mě příliš nehodí ani k praktickému programování a ani k jeho výuce. To už ty Vámi opovrhované skriptovací jazyky, zejména Python a asi i třeba Ruby jsou mnohem vhodnější. BTW, ty různé kontroly je možné vyřešit nástroji typu lint. Nevidím důvod, aby na tom bazíroval samotný jazyk...
  • 6. 8. 2004 1:53

    mike (neregistrovaný)
    Pascal byl k vyuce programovani primo navrzen. Ucelem vyuky je naucit se urcitemu zpusobu mysleni, v tomto pripade strukturovanemu programovani. K tomu se Pascal hodi vyborne. Kdyz to clovek zvladne, neni problem prejit na jakykoli jiny jazyk zalozeny na podobnych principech, treba C. Klidne i assembler (ktery se stale jeste pouziva, ac tomu skripteri asi nebudou verit :), pricemz opacny postup by byl mnohem horsi. Pascalu chybi prostredky pro OOP, coz ovsem odpovida dobe vzniku. Tady jde taky o zpusob mysleni, ktery neni v rozporu se strukturovanym programovanim, spis se da brat jeho dalsi uroven a dobry programator programuje objektove v jakemkoli jazyce. K vyuce se da pouzit treba rozsireni Pascalu firmy Borland.

    S praktickym programovanim je to horsi; puvodni Pascal opravdu moc vhodny neni, ale byl to opet Borland, ktery ho udelal pouzitelnym.

    Ke skriptovacim jazykum jsem pomerne skepticky. Svemu ucelu zajiste slouzi, ale prece jen si pod pojmem programovani predstavuju neco trochu jineho. Dost nerad bych pracoval na projektu o statisicich radcich kodu vyvijenem v tymu nekolika lidi a psanem v podobnem jazyce.
  • 6. 8. 2004 13:16

    PaJaSoft (neregistrovaný)
    Jenze Borland Pascal neni akademicky projekt, zkuste se ucit programovat v tom skutecne Wirthove Pascalu - neudelate ani zakladni pitomost s I/O... Pokud toto Vas ma naucit necemu, pak hlavne tomu, jak sediva je teorie a jak zeleny strom zivota, nic vic...

    PS: My jsme meli jeden projekt na ten "oficialni" pascal - pak se to pres p2c prohanelo ceckem...:-) - fakt posusnanicko...

  • 6. 8. 2004 23:09

    mike (neregistrovaný)
    No, ja se v nem ucil. Zacinali jsme na prenosnem topidle s nazvem IQ 151. Pak nastesti prisla PC a ten Turbo Pascal. Pokud vim, komercni prekladace jsou na VS bezne dostupne a pro vyuku se pouzivaji.
  • 8. 8. 2004 0:42

    Dan Lukes (neregistrovaný)
    No, ja v nem programoval. Na salovem pocitaci a s davkovym zpracovanim. Nejenze si troufam konstatovat, ze to jde, i kdy zadnej zvlastni sex to neni, ale troufam si tvrdit, ze se na tom skutecne daji dobre naurcit urcite znalosti, ktere se hodi znat (i kdy se je treba v konkretnim pripade rozhodnete explicitne ignorovat) pri psani v prakticky jakemkoliv proceduralnim programovacim jazyku. Samozrejme - tytez veci se daji naucit i jinymi zpusoby - jako vetsinou - i tady existuji ruzne cesty k podobnym cilum. Troufam si ale tvrdit, ze PASCAL stale svoji vyukovou cenu ma. Coz by nemelo byt zameneno za konstatovani, ze (jen) s pomoci PASCALU se lze naucit programovat. Setkani s PASCALEM je sice (IMHO) dulezite, ale presto je to pouze jedna z mnoha etap na ceste k tomuto umeni ...
  • 9. 8. 2004 12:49

    PaJaSoft (neregistrovaný)
    Tak to by mne opravdu hluboce zajimalo, kdyz mam jen (blokovaci) funkci GET/PUT, jak zjistim, zda-li se to povedlo precit/zapsat, zda-li na vstupu uz nic neni a mohu pokracovat (a nezaseknout se na nikdy jiz neprichazejici znak) apod... souborove operace nejsou definovany, mam jen stream a ten ctu, jak ale mam poznat, ze uz je prazdny? Pokud si dobre pamatuji, tak operace GET a PUT jsou definovany Wirthem prave tak, ze to ani poznat neslo a muselo se to obchazet jenze tak, ze to uz zase neodpovidalo tomu ANSI pascalo nebo jakou to melo normu. Skoro vsechno v nem napsat slo, nerikam ze ne, ale I/O bylo velmi silne problematicke - zejmena z terminalu. Na podrobnosti uz radsi ani vzpominat nebudu.
  • 9. 8. 2004 14:10

    Petr Klimovic (neregistrovaný)
    Ale pascal vas prece nema naucit praci s i/o operacemi. Pascal vas ma naucit strukturovanemu programovani. Tedy umeni rozlozit problem na podminky, smycky, datove struktury, apod.
  • 9. 8. 2004 14:15

    PaJaSoft (neregistrovaný)
    Ale vzdyt nejsme ve sporu, ja to chapu IMHO dobre, jen kdyz Dan pronesl, ze na mainframech ci kde v tom programoval, tak by mne zajimalo ciste prakticky, jak osetroval takove ty prakticke realne stavy, se kterymi se Wirth v ramci edukacni cinnosti nezaobiral...
  • 10. 8. 2004 15:14

    Dan Lukes (neregistrovaný)
    Ja ale nerikal, ze v tom jazyku lze napsat jakykoliv program, nebo, dokonce, ze je vhodny na reseni jakehokoliv problemu. Jen jsem tvoje prohlaseni, ze v tom neudelate ani zakladni pitomost s I/O pochopil jako prohlaseni takrka ekvivalentni "je to jazyk na nic, programovat se v tom neda". Zrejme jsem to pochopil spatne. Pokud jsi tim chtel rict, ze dokazes sestrojit zadani, ktere v tomto jazyce nepujde naprogramovat, pak s tebou plne souhlasim. A troufam si tvrdit, ze to ja dokazu pro kazdy programovaci jazyk, nejen pro PASCAL ...

    Mozna to vzniklo z toho, ze ty interaktivni komunikaci s uzivatelem prisuzujes jiny vyznam nez ja. Moje programy s uzivatelem prakticky nikdy nekomunikuji - nejen interaktivne, ale radeji vubec. Proto mi tebou naznacene omezeni nijak zvlast nevadilo a takovou vahu jako ty mu zdaleka neprikladam. To uz jsme ale znovu u toho, ze pro ruzne problemy jsou vhodne ci pouzitelne ruzne nastroje a u toho, ze ne kazdy nastroj je vhodny na vsechno ...

  • 6. 8. 2004 14:19

    Vítězslav Novák (neregistrovaný)
    Vy byste na takovém projektu nerad pracoval...
    Mě na něco podobného (desetitisíce řádek v PERLu, několik desítek modulů, dělalo na tom tak 20-30 lidí, každý pochopitelně PERLovský guru, každý pochopitelně úplně jiný guru, každý psal jinak a všichni vepřově) přidělili! Pochopitelně to funguje jen občas, pochopitelně je to provázaný přes veškerý možný volání a implicitní hodnoty, všechno bylo parametrizovatelný, jenže jak se čas krátil, tak se přecházelo na magic values v kódu, prostě hnus fialovej.

    Protože to nedokázali rozchodit, tak postupně poutíkali, ale peněz už je v tom tolik, že když jsem prohlásil, že nejlepší řešení je Zpátky na stromy a začínáme znovu, tak to nejde. Osobně si myslím, že celý to přepsat do něčeho slušnýho, nebo aspoň slušně třeba i do toho zatrr... PERLu, vyšlo by to nakonec levnějc.

    Tak se nedivte, že ke skriptérům bez elemntárních programátorských návyků neplanu láskou. Mít je tady, prdel bych jim rozkopal a až by se zahojila, tak by psali rok projekt v Pascalu, v neděli večer kontrolní den. A pak by možná byli použitelní na programování. Možná.

    Jak jsem psal, začínal jsem na FORTRANu, ještě tom IF () 120, 130, 140, ne IF THEN ELSE. Odnaučit se prasárny s neustálým hupsem huptam, začít myslet strukturovaně, joj, to byla robota! Pascalisti to maj zadarmo...
  • 6. 8. 2004 20:43

    shrek (neregistrovaný)
    Což by se pochopitelně u projektu psaného v Pascalu nemohlo stát, že. Navíc jsem Perl záměrně explicitně nezmiňoval. Například v Pythonu patří čitelné a srozumitelné programování a dodržování konvencí k základům slušného vychování, ale to je jedno. Za selhání projektu je zodpovědný jeho vedoucí, Perl nePerl a vepřové nevepřové.
  • 6. 8. 2004 23:19

    mike (neregistrovaný)
    Uprimnou soustrast. V takovem pripade muze byt opravdu lepsi a levnejsi vsechno zahodit a zacit od zacatku. Vim dobre, jak je tezke neco takoveho v praxi prosadit. Nekdy je nutne trochu riskovat a postavit vedeni pred hotovou vec, kdyz uz neni cesty zpatky.

    Jo jo, kdyz jsem zacinal, chodili kolem nas "profici" se zvednutym nosem a tvrdili, ze opravdovy programator pouziva jedine FORTRAN a Pascal nebo C se nikdy pouzivat nebudou. Kde je jim konec...
  • 9. 8. 2004 11:57

    Vítězslav Novák (neregistrovaný)
    No, už se mi stalo, že jsme s kolegy něco takového udělali - kompletní přepis do Javy. Samozřejmě mnohem kratší, elegantnější, udržovatelné, protože čitelné. A protože v Javě nejde jen tak sednout a začít mastit kód bez předchozí analýzy, tak taky rozmyšlené a tudíž modulární a rozšiřitelné.

    Co myslíte, jaký byl výsledek? Kdepak, to by bylo moc práce, to nejde. Že to už je? A jak to, že to je, kdo vám zadal tu práci, jak to, že jste pracovali na něčem bez zadání? Že po práci? Že ze zájmu? Tak takové partyzánštiny nebudemem podporovat!

    Jebem takú robotu! Už si nenaběhnu. Co když managor toho původního "projektu" povýšil a teď jsme mu šlápli na kuří voko?
  • 7. 8. 2004 8:31

    Lamír (neregistrovaný)
    :) a já stále co mne na Basicu tak imponovalo a dneska marně hledám ....
  • 6. 8. 2004 20:59

    shrek (neregistrovaný)
    Mohl byste mi říci, z jakého důvodu máte obavy z projektu psaného v "podobném jazyce"? Na to, aby se pohlídala kvalita kódu slouží kvalitní metodologie a dodržování konvencí. Spoléhání na kontrolu prostředky jazyka je podle mého názoru do jisté míry naivní. "Podobné jazyky" mají nicméně daleko lepší vyjadřovací schopnosti než jazyky "klasické", takže je možné spoustu úloh zvládnout rychleji a zároveň v lepší pohodě.

    K tomu Pascalu - když jsem přecházel z TP na TC, byl jsem překvapen, kolik má jazyk C (v rámci ANSI nebo Posixu) standardních funkcí v knihovnách. Když už jsem nějaký ten rok programoval v C a C++, pomáhal jsem jednomu známému se školní úlohou v Pascalu. Jako zmlsaný céčkař jsem málem rodil ježky, když jsem viděl, že v (borlandím) Pascalu se musí vlastnoručně psát procedura na každou pitomost.

    Vhodnost Pascalu pro výuku programování byla možná slušná v době, kdy ho Wirth psal (30 let zpátky?), ale dnes už to podle mého názoru rovněž neplatí. Nejenom proto, že se v něm nic většího rozumně napsat nedá (proto Wirth vymyslel Modulu, že), ale jednak je klasické procedurální programování do značné míry mrtvá záležitost a jednak se mi jako první jazyk pro výuku programování nezdá stařík, ve kterém se z cyklu vyskakuje pomocí goto a bez pointerů se v něm nedá napsat skoro nic - vektor s pevným počtem prvků, množina a záznam skutečně nestačí...


  • 6. 8. 2004 23:50

    mike (neregistrovaný)
    Pan Novak popsal priklad z praxe vyse. Presne o tohle jde. Metodologie a konvence jsou dulezite v kazdem pripade, jenze musi byt spravne navrzeny a musi se dodrzovat. V praxi se obcas stava, ze male projekty se rozrustaji do netusenych rozmeru a puvodni metodologie uz nestaci. A donutit tlupu samozvanych "guruu" k dodrzovani konvenci, ktere jim nevyhovuji, protoze zpocatky znamenaji vic prace, muze byt nadlidsky ukol. Kdyz jsme pred par lety zacinali se soucasnym projektem, pokousel jsem se prosadit povinne pouzivani lintu. Byl jsem prehlasovan a od te doby uz se mnohokrat ukazalo, kolik casu a prace jsme mohli usetrit. Kontrola prostredky jazyka si nektere zasady proste vynuti. Zadne spolehani, opet je to pomocny prostredek, ktery zlepsuje kvalitu kodu.

    Nerekl jsem, ze scriptovaci jazyky nemaji pouziti. Maji. Jenze je dobre je pouzivat pouze k tomu ucelu, ke kteremu byly navrzeny. Srouby se taky daji zatloukat kladivem, ale nejak to neni ono.

    Ke standarnim funkcim v C/C++ bych jen podotknul, ze pro NT drivery a embedded aplikace, ktere obvykle pisu, az na vyjimky k dispozici nejsou. Obcas je nutne si poradit bez nich.

    Budu se opakovat, ale zduraznuji, ze ucelem vyuky je naucit se urcitemu zpusobu mysleni a pouzitelnost jazyka v praxi neni az tak dulezita. Pascal je z tohodle hlediska lepsi nez C, kde muze zacatecnik spachat straslive veci, a mensi mnozstvi standardnich funkci je spis vyhoda.

  • 7. 8. 2004 1:08

    shrek (neregistrovaný)
    Hm, ve většině věcí vůbec nejsme ve při. Souhlasím s tím, že programování nespočívá v naklikání UI pomocí různých designerů a lepení hotových objektů dohromady. Standardní funkce jazyka C řeší většinu základních problémů, ať už jde o práci s řetězci, pamětí, řazení prvků pole nebo matematické operace a spousta věcí se díky tomu v C programuje lépe než v borlandím Pascalu - jak je na tom současné Delphi, netuším, ale tam už jde o něco trošku jiného a používají se docela jiné prostředky než ve stařičkém dosovském TP. Zrovna tak je jinde i programování driverů a další specialitky.

    Akorát malá poznámka - dnešní "skriptovací jazyky" mají podstatně vyšší ambice než jenom psaní skriptů a obsahují pokročilé nástroje v oblasti abstrakce, introspekce apod. a kombinují možnosti procedurálního, objektového i funkcionálního programování. Klasický skriptovací jazyk je podle mě tcl a do jisté míry i Perl. Kromě zmíněného tcl se všechny tyto jazyky dále vyvíjejí. Samozřejmě souhlasím s tím, že na každou práci je dobré použít správný nástroj a asi těžko bude někdo psát ovladače a časově kritické rutiny v Pythonu nebo Ruby.

    Ještě k té výuce - nemusíme se snad omezovat jenom na Pascal nebo C. K výuce základů algoritmizace je možné použít jiné jazyky, třeba ABC nebo Python. Řekl bych, že by to úplné začátečníky daleko víc bavilo a mohli by se více soustředit na řešení problémů místo zabředávání do syntaxe a sémantiky konkrétního jazyka.
  • 7. 8. 2004 2:38

    mike (neregistrovaný)
    Ze bychom se nakonec dohodli? Souhlasim, ze C je v praxi pouzitelnejsi; nakonec, kvuli tomu jsem na nej pred lety presel. Taky kvuli tomu, ze jsem vlastne psal Cckovske programy v TP. Jenze pro zacatecnika muze byt to mnozstvi standardnich funkci matouci a trva roky, nez si je clovek opravdu zazije.

    Vyuka se urcite nemusi omezovat na Pascal a C. Vyzkouset si vice jazyku a seznamit se s jinymi moznostmi rozhodne prospeje. Mam pocit, ze na FELu se to tak dela, minimalne na katedre pocitacu. Nicmene, porad si myslim, ze uplne prvni jazyk by mel zacatecnika vest a kontrolovat. Jde porad o ty spravne navyky. Prechod z "rigidniho" jazyka na volnejsi je snadny, opacne zakonite nastanou problemy.

    P.S. Asi uz nebudu moci pokracovat, budu 14 dni mimo Sit (hura :).
  • 7. 8. 2004 11:54

    Petr Klimovic (neregistrovaný)
    Mam pocit ze tu mema rozdilne chapani pojmu vyuka programovani. Pascal ma slouzit k tomu aby me naucil myslet algorytmicky, aby me donutil premyslet jeste pred tim, nez zacnu psat zdrojovy kod. Nema mi ukazat jak se pise velky projekt apod. Ma naucit programovat nekoho, kdo proste vubec nevi, co to programovani je. Proto obsahuje prekazky, ktere maji ztizit postup tem, kteri ty zakladni zasady ignoruji. Cilem vyuky programovani neni aby zak znal dokonale nejaky jazyk, ale aby zak dokazal programovat. Mel povedomi o tom co je to cyklus, podminka, prirazeni. Aby si pred zacatkem programovani rozmyslel jake pouzije promenne a co budou obsahovat apod.
  • 7. 8. 2004 13:22

    shrek (neregistrovaný)
    A proč by si měl žák promýšlet, jaké bude používat proměnné? To mělo význam snad v těch sedmdesátých letech, ale ne dnes. Aby pochopil základy programování, k tomu vůbec nepotřebuje být zatěžován tím, že integer má nějaký maximální rozsah apod. Pascal nutí přizpůsobovat mysl žáka nikoliv podstatě používaného algoritmu, ale implementačním detailům, zatímco postrádá výrazové prostředky, které by výukový jazyk obsahovat mohl. Takže žáci se prokoušou základními algoritmy v Pascalu, naučí se programovat BubbleSort, InsertSort a QuickSort na základě desítky let starých příkladů hemžících se proměnnými typu i, j, k, l, m a n (tato konvence se jim bude v prazi zajisté hodit); v dalším kroku se pak po nich chce, aby bolestně v Pascalu smolili nějaký pseudoužitečný projekt, který by ve spoustě jiných jazyků napsali bez toho, aby museli polovinu času strávit s nohama za hlavou. To já za optimální nepovažuji. Ano, jistě, Pascal se chlubí tím, že klade překážky programům typu

    10 if i = 0 then goto 50
    20 print i
    30 let i = i - 1
    40 goto 10
    50 print "To je konec, tadydadyda"

    To byla oproti klasickému Fortranu a Basicu velká výhoda. Ale dnes by nás to už tolik ohromovat nemuselo.
  • 7. 8. 2004 13:55

    Petr Klimovic (neregistrovaný)
    Pascal prece nikoho nenuti pouzivat promenne i,j,k. A ty dalsi namitky - opet zamenujete vyuku programovani, za vyuku programovaciho jazyka pouziteho v praxi.

    Je to neco podobneho jako zavrhovat v autoskole vyuku razeni, protoze dnes uz mame automaticke prevodovky.
  • 7. 8. 2004 14:16

    shrek (neregistrovaný)
    Pascal samozřejmě nikoho nenutí, ale spousta učebnic programování v Pascalu takové příklady obsahuje. A spousta učitelů nikdy v životě nezvedla zadek od katedry a neuvědomuje si, že nejdůležitější je rozvoj tvůrčího myšlení a že k implementačním detailům je možné se věnovat později. A později třeba lidem se specializací na IT nebo zájemcům ukázat, jak se píší ovladače, jak funguje optimalizace pro CISC a RISC architektury, jak se spravují větší projekty apod. Ukázat jim, jaké výrazové prostředky a omezení mají konkrétní jazyky, jak zamezit buffer-overflow v C, proč vznikají memory leaky a co se s tím dá dělat. Těm, kteří programovat profesionálně nebudou, by měl být dán do ruky nástroj, kterým budou co nejrychleji a nejefektivněji vyřeší problémy ze SVÉ praxe - skoro mám chuť vsadit boty, že to Pascal ve většině případů nebude. Ale to ne, mnozí učitelé se naučili Pascal, mají léta pevné osnovy a dělají z žáků papoušky a kdo vybočuje z řady, ten je jenom otravuje a koleduje so o malér.

    Ty automatické převodovky jsou dobrý příklad. Jsou země, kde je možné udělat si řidičák omezený na auta s automatickým řazením. A oč lepší by bylo naučit žáky autoškoly jezdit napřed s automatem, aby se naučili základním pravidlům jízdy ve městě, odhadu vzdálenosti, zvládání situací na křižovatkách apod. a teprve POTÉ, co si získají minimální sebedůvěru, je posadit do klasického auta s řadicí pákou!
  • 8. 8. 2004 1:07

    Dan Lukes (neregistrovaný)
    No, ja si myslim, ze prave znacna omezeni standardniho jazyka PASCAL me donutila se nad nekterymi vecmi tvurcim zpusobem zamyslet a naucila me hledat a nachazet reseni urcite tridy problemu. Jinak ale mate pravdu - jiste by melo jiste kouzlo oddelit, podobne jako ve vami zminenem prikladu ridicu, programatory prvni a druhe kategorie.

    Druhou kategorii by ucitele nezatezovali teorii jakehokoliv druhu (treba tim, jak vypada prehledne, bezpecne a efektivni programovani aj.) a naucili by je pouze zaklady kodovani vcetne par jednoduchych pravidel jak alespon trochu snizit vyskyt zavaznych programatorskych chyb (treba neosetrovani vstupu, coz vede ke zminenemu buffer-overflow). Takovi lide vam rychle a levne nabastli program, ktery, pokud se vam podari dodrzet vstupni podminky, ktere koder pri psani predpokladal a budete mit trochu stesti bude v naproste vetsine pripadu uspokojive fungovat. Znacna cast soucasnych "programatoru" jsou prave tito koderi a i poptavka pro prave takovych je pomerne silna., protoze v kratkodobem horizontu maji vyborny pomer ceny a vykonu.

    Prvni kategorii "skutecnych programatoru" je ale predevsim nutne vzdelat po teoreticke strance. Samozrejme, ze nelze zanedbat i veci prakticke, ale nemusite s nimi vyslovene probirat kazde konkretni nebezpeci, ktere pri programovani hrozi - pokud se nauci programatorskemu mysleni, pak s trochou praktickych zkusenosti se dokazou vyhnout nejen tem chybam, o kterych se mluvi ve vecernich Zpravach, ale pravdepodobne se dokazou vyhnout i tem, o kterych jste se jim pri prakticke casti vyuky zapomel zminit. Taci programatori vam budou program psat dele nez ti prvni, budou o dost drazsi, ale jejich program bude pravdepodobne fungovat i za situaci, na ktere jste v zadani primo nepomyslel - a nebudou-li v takove situaci fungovat primo, pak spis nez to, ze by udelaly neco nahodneho a nesmyslneho, odmitnou vydat vysledek vubec. Ano - poptavka po prave takovem programatorovi je daleko mensi nez v prvnim pripade - ale - ono je takovych programatoru take o dost mene. A neda se rict, ze jedni jsou lepsi nez druzi - svym zpusobem jde o dve dost odlisne profese a je jen nestesti, ze se obe oznacuji stejnym nazvem - programator. A stejne nestesti je, ze obe skupiny se nekteri pedagogove snazi vyucovat stejnym zpusobem.

    Jinak si ale myslim, ze pravdepodobnost, ze nekdo, kdo je "koder" se (pote, co ziska zminenou minimalni sebeduveru) preskoli na programatora je miziva. Zahodit totiz chybne programatorske navyky a naucit se jine je totiz obtiznejsi nez vse zapomenout (coz nikdo ael nedokaze) a zacit uplne od zacatku. A ten, kdo to dokaze by si mel rozmyslet, zda chce ztracet cas ucenim se tech spatnych ...

  • 9. 8. 2004 10:48

    Vítězslav Novák (neregistrovaný)
    No právě. Vždycky je těžší přeučit se na něco než naučit rovnou. Já (si) to zažil, tak to vím.

    Největší potíž s kodéry (skriptéry) je v tom, že si většinou nepřipustí, že to je špatně. Vždyť ten program funguje, tak co byste chtěli? Že funguje i v případech, kdy by fungovat neměl, kdy by měl aspoň vyhodit chybové hlášení, to už je čurda. Že funguje za správné konstelace Merkuru s Plutem, taky. A co horšího - když to funguje jenom občas, to je lepší varianta. To se ještě poměrně dobře odhalí a vrhne autorovi na hlavu. Ale když to NEfunguje jenom 29.února, případně když po lichém dnu následuje zase lichý (z 31. na 1. nebo jenom z 29., protože na ty 31 si vzpomněl), to jsou pak chuťovčičky. A oprava v představách skriptéra obvykle znamená nějaké if 29.února then ... else ... .

    Program se od skriptu odlišuje i tím, že by měl být déle použitelný, tudíž spravovatelný a vyvíjitelný. "Program", který vznikl postupným rozvíjením skriptu s obvyklými nectnostmi (takový vstup tam nikdy nepřijde, to je varování, sice to hlásí chybu, ale funguje to dál...) se stává děsivým monstrem. A jenom "opravdový programátor" zjistí, že teď už teda fakt stop a začíná se znova! Ale dovopravdy. Skriptér bude pokračovat v rozvíjení, tedy šmodrchání, balení do dalších ifů, ve kterých se za chvíli nevyzná ani on.

    Slušně se dá programovat skoro ve všem - no, starý FORTRAN nebo starý BASIC, nic moc, ale částečně to jde. I v PERLu to jde. Když si zakážete - a zákaz dodržíte - většinu těch "výhodných" vlastností, pro které je tak oblíbený. Ano, když se vykašlete na implicitní proměnné, když nedefinujete proměnné kdesi hluboko v kódu, slušně voláte sub a dodržíte asi tak tisíc dalších omezení, pak se PERLí program čte skoro tak dobře jako PASCALský. Jinak je to write-only progamming language. Perfektní na to, na co byl určený - jako obal regulárních výrazů. Na psaní jednostránkových skriptů pro práci s textem.
  • 10. 8. 2004 15:29

    Dan Lukes (neregistrovaný)
    No, v me terminologii se to, co vy oznacujete slovem "script" jmenuje "bastl" a ja za rozdil mezi programem a scriptem povazuji to, ze prvni se kompiluje a to druhe interpretuje, nicmene, az na tyto drobne terminologicke nesrovnalosti si, zrejme, rozumime ...
  • 16. 7. 2007 15:56

    SB (neregistrovaný)
    Skriptovací jazyk Perl neznám, ale ve věci "kodérů" a doprasených programů mi mluvíte z duše. Poté, co jsem takový převzal, jsem pochopil význam slov "noční můra", přestože jsem nikdy nečekal, že se mi něco takového stane. Každopádně je to tím, že se kdekdo považuje za odborníka a že dnes "programuje" každý, kdo má s prominutím díru do p*dele.
  • 9. 8. 2004 12:34

    Michal Krsek (neregistrovaný)
    Aby pochopil základy programování, k tomu vůbec nepotřebuje být zatěžován tím, že integer má nějaký maximální rozsah apod

    No ja se obavam, ze znalost toho, jake maji konkretni datove typy omezeni, je primo esencialni pro opravdoveho programatora. Samozrejme pojidaci kolacu, ke kterym se uz nejaky ten rok radim, to nedoceni.

  • 9. 8. 2004 21:58

    shrek (neregistrovaný)
    Opravdoví programátoři hlavně nepoužívají Pascal, pokud se dobře pamatuji. ;-)

    Způsoby reprezentace čísel v počítači a omezení jednotlivých typů rozhodně patří k základům. Já ale tvrdím, že dobrým spisovatelem se stane člověk může stát i bez toho, aby ho v době, kdy se učí napsat Ema má maso, zatěžoval někdo větným rozborem a chtěl po něm slohová cvičení skoro na úrovni maturanta.

  • 10. 8. 2004 15:25

    Dan Lukes (neregistrovaný)
    Jenze bez znalosti tech omezeni opravdu program napsat nelze. Na to, abych mohl udelat "char X=-1; while(x==-1) ..." musim vedet, ze char je v dane situaci znamenkovy (jinak se do te podminky nedostanu). U for(i=10000;i<300000;i++) take musim vedet, zda se mi do toho typu, co je i ta cisla vejdou (jinak ten cyklus take muze byt nekonecny).

    Nikdo nepolemizuje o tom. ze spisovatele musi nekdo zatezovat vetnym rozporem v dobe, kdy se teprve uci Ema ma maso. V te dobe to take jeste neni spisovatel. A nestane se jim, dokud ten matersky jazyk nezvladne - a v te dobe uz nejaka ty slohova cviceni za sebou mit bude. Stejne tak clovek, ktery umi napsat "hello world" nemusi znat zpusob reprezentace cisel a omezeni typu - vsak to take ani nahodou v te dobe jeste neni programator. Ale driv nez na oznaceni "programator" (natozpak "dobry programator") bude mit narok, tyto veci znat bude muset. Bez toho je to totiz nejvys bastlir.

  • 10. 8. 2004 18:21

    shrek (neregistrovaný)
    Já s Vámi v podstatě souhlasím. V Pascalu ale nemusíte používat typ Char nebo Integer, ale typ interval a tím se od těchto problémů odstíníte. Já jsem v tomto threadu jenom tvrdil, že je možné k výuce základů použít jazyk nebo techniky nějakého jazyka bez zabředávání do low level podrobností. V praxi tomu samozřejmě bude už trošku jinak... It's a long way to the top, jak zpívá jedna australská skupina.
  • 12. 8. 2004 11:07

    Dan Lukes (neregistrovaný)
    je možné k výuce základů použít jazyk nebo techniky nějakého jazyka bez zabředávání do low level podrobností

    Ano. K vyuce. Zakladu. Ale ja k tomu dodavam, ze jde o zaklady tak male, ze samy o sobe jeste nestaci k tomu, aby po teto vyuce techto zakladu vznilo neco, co by se dalo oznacit alespon jako "programator-zacatecnik". A nez z tohoto embrya vytvorite programatorskeho novorozence, budete mu muset do hlavy nalit prave to, jak veci funguji. Protoze jen tak bude schopen je efektivne a bezpecne pouzivat. Vcetne zakladu vedomosti o tom toho, co vlastne prekladac a interpret s jeho kodem dela a zakladu toho jak funguje vlastne cely ten pocitac.

    A az do nej natlacite tohle, muzete ho poprve pustit k prakticke cinnosti. Pokud dalsi vzdelavani nevzda, mohl by z takoveho programatora-zacatecnika za nejaky cas byt docela dobry programator ...

    Samozrejme, na "Hello world" zadne takove detaily nepotrebujete. Ale o nekom, jehoz schopnosti a znalosti staci prave na bezpecne a efektivni napsani funkcniho "Hello world" preci jeste nebudeme mluvit jako o programatorovi ...

  • 10. 8. 2004 15:25

    Michal Krsek (neregistrovaný)
    Já ale tvrdím, že dobrým spisovatelem se stane člověk může stát i bez toho, aby ho v době

    Mozna mi to pomalu mysli, ale co jste mel na mysli tou tucne vymezenou casti?

  • 6. 8. 2004 23:04

    mike (neregistrovaný)
    Ne, pan zrejme vi o objektovem programovani LDH, ale o to silnejsi ma nazor. Nejde o objekty, ale o zpusob mysleni a struktury kodu.
  • 7. 8. 2004 11:17

    GoGo (neregistrovaný)
    Ale kdeze.
    Pan ovlada C++, Javu i tzv. objektove mysleni. Je v tomto oboru vzdelan dostatecne. Ani to mu nemuze zabranit v tom, ze v mnoha pripadech povazuje klasicke neobjektove programovani za rozumnejsi a dlouhymi lety provereny pristup. Pro pana je to jak balzam na dusi, kdyz muze delat klasicky, jak Buh soudil.
    Holt pamatuje doby, kdy psal s kolegy velke veci v assembleru (dnes jiz mnozi ani nevi co to je), diky cemuz vi, ze zadne objektove berlicky naprosto nebyly nutne. Stacilo mit poradek v hlave a kvalitni knihovny pro urychleni prace.
    Zadnou flamewar, prosim, svuj ucel to splnilo, vyskocili jste az ke stropu, progresivni mladici... :-)
  • 7. 8. 2004 11:48

    shrek (neregistrovaný)
    Žádného vyskakování jsem si nevšiml. Ale hlavní je, že už je Vám líp.
  • 4. 3. 2008 22:31

    Omega (neregistrovaný)
    Myslím, že pořád spousta lidí ví, co je assembler. Staší nahlédnout na diskuze o mikroprocesorech a je jasné, že assembler nikdy nezemře :)
  • 6. 8. 2004 23:13

    Worm (neregistrovaný)
    Jo to byla doba, kdy byla pera a kalamáře a knihy se psaly ručně a pak přišel ten Gutenberg a už to nebylo ono. A což teprve dneska, každý má doma tiskárnu a stačí, když umí mačkat čudlíky na klávesnici. Fonty už má v počítači a na papír to za něj dostane tiskárna...



  • 6. 8. 2004 2:12

    mike (neregistrovaný)
    Jeste k ruznym kontrolam. V praxi a hlavne pro vyuku je mnohem lepsi, kdyz jsou primo soucasti jazyka. Clovek je pak donucen psat slusne a casem mu to "prejde do krve". V opacnem pripade ziska spatne navyky, kterych se pak hrozne tezko zbavuje.

    Nastroje typu lint jsou jiste uzitecne; sam pouzivam PC-lint pro C/C++. Jenze jejich nasazeni v praxi neni uplne jednoduche. Ty profesionalni neco stoji (ne malo) a nakup musi nekdo schvalit. Pak se to musi spravne zkonfigurovat, coz je spousta prace, protoze cast warningu pouze upozornuje na mozne problemy, nektere jsou v kodu (headery), ktere nemuzete zmenit, nektere jsou zbytecne. Cast programatoru se nasazeni brani, jelikoz to hlavne zpocatku pridelava praci a je nutne se s tim naucit pracovat a hlavne rozumet, co tomu kramu sakra zase vadi (tak v 95% ma pravdu, ale mnohdy neni jednoduche na ni prijit). Taky to trochu zdrzuje, coz brani rutinnimu pouzivani. Jsou to proste pomocne prostredky, ktere mohou zvysit kvalitu kodu, ale to je vse.
  • 6. 8. 2004 13:12

    PaJaSoft (neregistrovaný)
    Vite zapomnel jste na jeden podstatny detail, to by ti, kteri nas tzv. meli formovat a ucit museli vedet o cem je vubec rec a nezustat ve svych 20 a vice let starych kolejich...
  • 5. 8. 2004 14:15

    PaJaSoft (neregistrovaný)
    No je fakt, ze neco podobneho se stalo i mne a diky tomu, ze jsem byl jedinkrat za VS prilis aktivni a sel na zkousku v predterminu jsem malem vyletel, protoze neco humusackeho jako Teorie obvodu (a to si myslim, ze logicky uvazovat umim) bylo skoro nad me sily (pro jine zas matika, kterou jsem projel jak maslem). Je fakt, ze cast lidi bili opravdu elektrotechnici, kteri si rozumeli s lidma z prumyslovek, cast lidi byla spie akademicka - matika fyzika apod. a chapala, ze na VS skolu se jde zpravidla prupravou pres gympl... - chuda muj kolega s Prumky - byl sqelej, umel spoustu veci, ktere mu do dnes zavidim, presto shorel v historii. Ono studovat technickou VS dneska opravdu neni legrace, protoze ten system je znacne nedodelany... - samozrejme, jako titulovany odbornik musi mit clovek urcity minimalni zaklad, ale uznejte sami, ze titul Mgr. ci Ing. dneska vubec nic nerika, co ten clovek vlastne studoval a co se vlastne naucil (a to nemluvim uz nic o tom, jaky je odbornik)...
  • 5. 8. 2004 17:24

    Vítězslav Novák (neregistrovaný)
    Vystudovat technickou VŠ nikdy nebyla sranda a (doufám) nikdy nebude. Technik musí mít ze školy velmi solidní základ a až vyleze, tak na ten základ navázat. A študovat a študovat. A po pár letech po ukončení školy z něj ten technik možná bude. A bude dál študovat, až do důchodu, a až bude v důchodu, tak by měl blbej pocit, že neštuduje a bude v tom pokračovat.
    Dobrej technik.

    Kdo chce užít na VŠ srandu, flákárnu a dýchánky, ať jde na fildu, sociální studie, akádu nebo podobné okecávací školy. Technik je technik a na technicích, protože na technice, stojí tahle společnost. Že to často nedokáže ohodnotit, je jiná věc. Ale je to tak.


    Proboha, z jaké historie to kolega vyletěl? My měli dějiny mezinárodního dělnického hnutí a KSČ, ale to snad...
  • 5. 8. 2004 19:29

    Petr Klimovic (neregistrovaný)
    Az si budes rano kupovat snidani, zkus se zamyslet zda ty rohliky pekl pekar, nebo technik.
  • 5. 8. 2004 20:08

    agathaXie (neregistrovaný)
    ...a pekl je na ohnisti a rozpalenych sutrech:-)
    A nebo ze by v elektricke peci, a tu vymyslel....
  • 15. 4. 2008 7:44

    anonymní
    Zabudol si poznamenat ze od toho pekara ich donieslo bose sluzobnictvo a zaplatilo ulomkami striebra :)
  • 6. 8. 2004 13:14

    PaJaSoft (neregistrovaný)
    Ja nerikam, aby vystudovat bylo sranda, ale krome toho, ze jsem chtel studovat informatiku a vice jak tri roky jsem se musel pachtit s povinnymi predmety, ktere staly za starou belu - ekonomie (ta dlouho probirana metodika toho vykuka je nam k nicemu, o ucetnictvi a podnikani ani slovo), filosofie a kultura (za 14 sezeni "probrat" filosoficke a nabozenske smery je asi unikat svetovy), "kresleni" - uz nevim jak se to jmenovalo (kdyby to byl aspon OrCAD, ale proc se ucit stavarsky AutoCAD a k nemu strojirenske nadstavby fakt netusim (ne stojni fakultu jsem fakt nestudoval)), pak samozrejme obligatni elektrikarske veci jako teorie obvodu (vzata od prostredka, resp. PN prechod a hned aplikace soucastek, neco jako stavebni kameny jednotlivych funcnostnich schemat nikde - proto do dnes nejsem sto pochopil vyznam i relativne jednoducheho zapojeni - predstavuju si ty funkcni bloky jako instrukce a jen je pospojovat - bohuzel nikdo mi to prirazeni na "instrukce" nedal - neni to nahodou vec skoly?), El. soucastky, Cislicove a impulsove obvody (proc musim detailne elektrikarsky znat chybu v Pentium?), Systemy, procesy signaly a takovych super predmetu na kterych litali ze skoli jinak schopni programatori by bylo vice... - skutecne mate pocit, ze kdyz jsem inzenyr VTI (nikoli IVT, to je prosim prirodovedny smer, my jsme prece technika, tak se to musi oddelit - je to i na diplomu), ze tento titul v tomto oboru s sebou nese ten solidni zaklad z uplne jineho odvetvi (elektrotechnika, slaboprouda technika, nanoelektronika, obcas i silnoproud - VF transformatory)?
  • 6. 8. 2004 21:37

    GoGo (neregistrovaný)
    100% souhlas.
    Taky me s.erou ti okecavaci, kterym dnes "patri svet". Nic poradneho neumi, nic poradneho nedelaji, ale vydelavaji velke prachy :-). Je to pro me zahada...
    ---
    Jinak ja si nestezuju, ale fakt me stve, jak je podhodnocovana SKUTECNA PRACE ve srovnani s planym tlachanim napr. pravniku, marketingovych zmrdu a podobne pakaze....
  • 10. 8. 2004 15:49

    Vaclav Kabat (neregistrovaný)
    proboha to je bullshit.. kez by to bylo pravda, tot jina vec ale na FEL CVUT (vite o necem vice technickem v oblasti elektra nebo (NIKOLI A!!!! JAK SI TO TI VOLOVE TAM PREDSTAVUJI!!!) IT... veskere ulohy a cviceni apod jsou fixlovany .. tolik tahaku a opisovani jsem snad ani na zakladce nevidel :-(
  • 5. 8. 2004 0:41

    mike (neregistrovaný)
    Na FEL jsem nahodou prisel taky v roce 86. Programovani se sice vyucovalo, ale duraz byl opravdu kladen spis na ty obvody. Zezacatku hlavne na vseobecne vzdelani v matematice a fyzice (coz je spravne). Clovek se musel hodne snazit, aby se dostal k pocitaci i mimo par hodin cviceni tydne a nejaka literatura temer neexistovala. Vzpominam si, jak jsme pracne louskali oxeroxovane manualy v anglictine a vyucujici na tom nebyli o moc lip. Kdo chtel, naucil se; ostatne, zivim se tim uspesne dodnes. Nicmene chapu, ze clovek mohl odejit ze skoly, protoze ho to nebavilo. Na druhou stranu, neco podobneho tvrdi i vetsina tech, kteri odesli vicemene nedobrovolne. Pred lety jsem potkal jisteho DD, ktery se svym odchodem vylozene chlubil a vubec nevypadal, jako ze si leci nejaky midrak.
  • 5. 8. 2004 14:15

    PaJaSoft (neregistrovaný)
    Ano, podobny uchyly jsem si musel zazit taky (zdravim super moderni do pascalu orientovany ADT Prof. Honzika a jeho nohsleda, ktery mel odhalovat nase prestupky v jeho super edukacnim systemu)... bohuzel to je jen mala cast toho, co jsme meli jako povinny zaklad...:-(
  • 5. 8. 2004 19:54

    Martin Kalenda (neregistrovaný)
    psani jmen do krize :) by me zajimalo jak to fungovalo to by mohli VUT gurus prozradit jestli to byl bubak nebo se tomu nekdo venoval seriozne. a ty projekty do predpripravenych mustru na oziveni funkci (uz ani nevim v cem to bylo) a pak ty kontroly na chyby/dobu behu a nasledne hledani kopirovacu :)
    jo pascal tusim nejake freeimplementace a ten sedivy demonicky muzik na bozetechove zel nevim jak se jmenoval.
  • 6. 8. 2004 13:13

    PaJaSoft (neregistrovaný)
    Jo presne, dotycny typek se jmenoval Ing. Prikryl a dokonce se i stalo, ze ten jeho baznek nesel zkompilovat, bohuzel my jsme to nevedeli a lamali si hlavu, proc to rve, ze jsme modifikovali ten mustr - myslite si, ze se nekdo omluvil za desitky hodin stravenych kolaborovanim (samozrejme, ze ne jeden clovek, ale snazilo se asi 120 lidi! - treba ja vul, vzhledem k tomu, ze jsem na pocitac na kolejich jeste nemel a ve skole bylo par desitek (asi tak 30-50) stroju pro cely obor (asi tak 20x vic lidi) jsem tim zabil nejeden vikend, protoze jinak bych to nezvladal)?

    Dalsi experti (zdravim Ing. Gadorka) zadavali ukoly, ktere sice meli vice reseni (rekneme 5), ale kdyz mate 150 lidi, tak kolik asi stejnych reseni se sejde? A pak si to obhajovat, byt narcen z plagiatorstvi apod. - je logicky, ze kdyz jsme na koleji "pracovali", ze ty reseni byly podobny... Samozrejme, ze jsme delali i plagiaty od starsich, kdyz ony ty projekty nekdy byly ujety - perdmetu deset a kazdy projekt by zabral akorat ten semestr (i vyucujici rekl, ze by to zvladl treba za 30 hodin - to mate 300 hodin, kdy ve volnu musite plne makat za predpokladu, ze jsme 100% guru - neucili jsme se to nahodou teprve? - tak to vynasobne treba i 10x a kde vzit tolik casu) - pro predstavu - prijde Vam, ze implementace zakladniho java prekladace do zas. kodu je otazka projektu na semestr a jeden predmet? Chudakum o rok mladsim to totiz prohodil, takze nemeli od nas co ziskat...

  • 7. 8. 2004 9:21

    Lamír (neregistrovaný)
    :)už to vypadá, že tenhle chaotický systém výuky se přenáší jako choroba všemi směry . Stačí, když vám na SPŠE vysvětluje funkční uspořádání I8085 člověk , který čerstvě promoval a je asi tak dvacet stránek před probíhajícím výkladem :)))).
    Nedá se to srovnávat -jistě, ale shodné prvky by se daly vysledovat.
  • 6. 8. 2004 21:30

    GoGo (neregistrovaný)
    Dobry programator programuje neobjektove v jakemkoliv jazyce. Treba i v Jave. :-)
    Tzv. "objekty" jsou zvrhlost, diky ktere se vsude kolem nas vylihlo spousta lepicu.Proste se to s nima prehani. Neni nad, klasickymi prostredky, dobre napsanej vetsi projekt - to je pak radost ty zdrojaky cist. 3xFUJ tem vasim objektovym lepenicim.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).