Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Kantor 18. 09. 2018, 09:03:19
-
Zdar, dělám recenzi na učební plány pro jednou střední školu, která chce vychovávat vývojáře webových aplikací. No a vůbec první jazyk na který ti 15leti prvňáčci narazí je Python. Za mých školních dnů se na výuku algoritmizace používal Pascal. Otázka zní: Je Python vhodný jako první jazyk resp. jazyk na výuku algoritmizace ?
-
Ano, může to být dobrá volba.
-
Zajímají mě tvé kompetence k vytvoření takové recenze, pokud si nejsi schopen zodpovědět tuto otázku sám. Na výuku algoritmizace je to dle mého názoru velice vhodný jazyk. Na FI MUNI např. se úvodní kurz učí také v pythonu (ale dál se jede i C, aby se vědělo, co je to ta pameť).
-
Určitě, je jednoduchý a dá se na něm vysvětli spousta různých paradigmat. Navíc má výhodu, že se na rozdíl od Pascalu používá i v praxi.
-
Zajímají mě tvé kompetence k vytvoření takové recenze, pokud si nejsi schopen zodpovědět tuto otázku sám.
Obávám se, že musím souhlasit.
-
Je to úplně jedno, první jazyk časem zapomenete, pokud ho nebudete používat, paradigmata se mění tak rychle, že to nehraje vůbec žádnou roli. V každém jazyce se dá dobře programovat.
-
https://www.root.cz/clanky/scratch-plnohodnotny-programovaci-jazyk-nebo-jen-detske-puzzle/
-
Zajímají mě tvé kompetence k vytvoření takové recenze, pokud si nejsi schopen zodpovědět tuto otázku sám.
Pro Python nejsem kompetentní protože ho znám jen z rychlíku a aktivně nepoužívám. To je moje jediná nekompetence v mé kompetenci 25let praxe fullstack webaře a architekta 8) Protože názory kolegů byli nejednoznačné, tak se nestydím zeptat i tady, když něco neovládám na 100%.
-
https://www.root.cz/clanky/scratch-plnohodnotny-programovaci-jazyk-nebo-jen-detske-puzzle/
No nevím… Tohle je super pro základní školy, ale v prváku na střední?
-
https://www.root.cz/clanky/scratch-plnohodnotny-programovaci-jazyk-nebo-jen-detske-puzzle/
No nevím… Tohle je super pro základní školy, ale v prváku na střední?
Pro zacatecniky i na VS - pochopi zakladni principy algoritmizace a maji okamzitou kontrolu funkcnosti, vizualizace kodu.
V jakem jazyku budou nasledne programovat (kodovat) je uz potom jedno
-
Zdar, dělám recenzi na učební plány pro jednou střední školu, která chce vychovávat vývojáře webových aplikací. No a vůbec první jazyk na který ti 15leti prvňáčci narazí je Python. Za mých školních dnů se na výuku algoritmizace používal Pascal. Otázka zní: Je Python vhodný jako první jazyk resp. jazyk na výuku algoritmizace ?
Je to praso-pes vhodny na rychle hackovanie a osvojenie si programatorskych zlozvykov. Osobne by som na taketo ucely python nepouzival.
Na druhu stranu je pre python dostupnych kopec vyukovych materialov v anglictine. Cize ak su studenti jazykovo zaostali (co je v cechcach bezne), mozu sa ucit naraz aj anglictinu aj python.
-
Absolutne nie.
-
Pokud si, jako N. Wirth na prelomu 60. a 70. let, myslis, ze typickym ukolem vyvojare je implementovat spojovy seznam pomoci pointeru, zustan u Pascalu. Pokud si myslis, ze vsechno ma byt OOP, pouzij Smalltalk. Pokud chces zacky opravdu poradne vymachat v CS, pouzij Scheme. Pokud chces zacatecniky naucit, co je to cyklus, funkce, trida, modul a jak vyresit ukol s minimalnim nutnym usilim, proc ne Python.
-
Pokud si, jako N. Wirth na prelomu 60. a 70. let, myslis, ze typickym ukolem vyvojare je implementovat spojovy seznam pomoci pointeru, zustan u Pascalu. Pokud si myslis, ze vsechno ma byt OOP, pouzij Smalltalk. Pokud chces zacky opravdu poradne vymachat v CS, pouzij Scheme. Pokud chces zacatecniky naucit, co je to cyklus, funkce, trida, modul a jak vyresit ukol s minimalnim nutnym usilim, proc ne Python.
Aspon sa naucia pekne zarovnavat kod. Vhodne pre ziskanie OCD.
-
Já jsem trochu rozpačitý, protože mě python v podstatě nikdy nesedl. jeho syntaxe mi připadá zmatená a nelogická, což pro výuku programování není úplně ideální.
-
Python je to výborný jazyk na pritiahnutie ľudi k programovaniu. Za krátky čas sú vidieť pomerne slušné výsledky, t.j. že program robí niečo, čo ma pre toho začiatočníka zmysel.
To o zlých navýkoch je blbosť a Python na backende používa v praxi bežne a machine learning, NLP a deep neural networks ani nehovorím. V princípe sa Pythone dnes robia najzaujímavešie veci.
Ďalej ja si myslím, že hlavným cielom prvého programovacieho jazyka je hlavne neodradiť človeka od venovania sa programovaniu, čo spĺňa Python excelentne.
Ja dnes programujem iba vďaka svojej pevnej vôli, kde som ako samouk robil nezaujímavé veci v Pascale, potom C, potom C++ - ako veci super na algoritmizáciu, ale tie problémy ma samé o sebe fakt nebavili. Vyriešil som tým problém niekoho iného a nie svoj..
Ako.. užívim sa dnes úplne bezproblémov v C, C++, Java, .NET, Python ale najpríjemnejšie sú pre mňa .NET a Python. Asi by sa mi páčilo aj Go, ale ešte som na neho nenatrafil.
Verím, že začiatočník potrebuje hlavne algoritmizáciu a vidieť čím skôr výsledky, aby ho to neodradilo. Preto nemá zmysel .NET alebo Java, alebo človek ešte nič nevie (if, cyklus, funkcia, pole) a rovno priamo či nepriamo hadzať na neho koncept OOP je hlúposť (chce ci nechce musí písať keywords ako class a static). C je na začiatok fajn, lebo je to jednoduchý priamočiary jazyk, ale nutí začiatočníka riešiť spústu technikálií, čo ho môže odradiť.
Teda aby som to zhrnul. Extra motivovanému začiatočníkovi je jedno, v čom začne programovať, svoju cestu si nájde. A z vymenovaných jazykov si myslím, že najmenej ľudí od programovania odradí Python. A to je cieľ. Neodradiť od programovania, ukázať mu, že ho to môže baviť a potom nech si nájde svoju cestu alebo nech celý život programuje v Pythone (aj takí ľudia sú, a je ich dosť a v pohode sa uživia)
Jo, a pre autora príspevku, zmierte sa s tým, že programátorska komunika sa nikdy nezhodne na prvom jazyku, lebo ego svojich myšlienok..
-
Já jsem trochu rozpačitý, protože mě python v podstatě nikdy nesedl. jeho syntaxe mi připadá zmatená a nelogická, což pro výuku programování není úplně ideální.
To jsme dva. Neskutečná pakárna jestli odsazovat tabelátorem, nebo mezerami, pak potřebuji zrušit na chvíli nějaké if, vše složitě přesunovat, aby byl milostpán spokojený...
A navíc - je to interpretr a hoooodně pomalý.
Nicméně ne výuku programování a základy algoritmizace a nějaký web se použít dá.
Já si v tom občas vyzkouším myšlenku, nebo napíšu rychloscript.
Ale než jít ke kovaříčkovi, je lepší jít přímo ke kováři ( C/C++).
-
Pokud si, jako N. Wirth na prelomu 60. a 70. let, myslis, ze typickym ukolem vyvojare je implementovat spojovy seznam pomoci pointeru, zustan u Pascalu. Pokud si myslis, ze vsechno ma byt OOP, pouzij Smalltalk. Pokud chces zacky opravdu poradne vymachat v CS, pouzij Scheme. Pokud chces zacatecniky naucit, co je to cyklus, funkce, trida, modul a jak vyresit ukol s minimalnim nutnym usilim, proc ne Python.
Kdyby si býval Wirth myslel právě toto, vypadaly by ukazatele v Pascalu úplně jinak. V dobách vlády Fortranu 66 a Cobolu byl Pascal dost moderní a velmi přehledný jazyk právě na pochopení, co je funkce, cyklus, datový typ, dynamicky alokovaná paměť atd. Dnes už je svět počítačů trochu někde jinde (ale to "trochu" bych podtrhnul, zas tak moc jinde bohužel není, a proto ani Smalltalk asi není tou nejlepší volbou na budoucí konfrontaci s realitou). Takže si také myslím, že Python by nemusela být špatná volba, i když to není jazyk navržený pro začátečníky a tomu odpovídá ne vždy úplně šťastná a přehledná syntaxe. Ale ten pejorativní tón bych si na tvém místě odpustil. Pokud bych měl například někoho připravovat na práci embedded vývojáře, kdy bude převážně dělat v C, tak Pascal by byl tou nejlepší průpravou. Ono zvyknout si na vyšší úroveň abstrakce není takový problém, jako být na ni zvyklý od začátku a pak muset sestoupit dolů.
Ale než jít ke kovaříčkovi, je lepší jít přímo ke kováři ( C/C++).
To tedy v žádném případě! Ty jazyky rozhodně nejsou pro začátečníky. Spousta věcí je tam z praktických a implementačních důvodů neintuitivních, nepřehledných, v rámci zachování jednoduchosti neřešených, vyloženě vyžadujících prasení a použití zbytečně nízkoúrovňových mechanismů, které nejdou automaticky nijak ohlídat a co by jinde skončilo chybou, tady v tom lepším případě skončí varováním, v horším to projde bez ztráty květinky, a přitom je to špatně. Syntaxe je úsporná pro mazáka, ale těžko čitelná pro začátečníka.
Posadit začátečníka k C/C++ je prostě totální didaktický fail.
-
Python byl schválen. Všem vám děkuji. V podstatě se tu vytkly jen ty minoritní záležitosti jako u kolegů - syntax a návyky, což lze vytknout téměř každému jazyku a jde docela dobře eliminovat vhodným IDE (PyCharm).
Vyhrává jednoduchost, přívětivost pro začátečníky, lehké propojení na grafiku, podpora běžných paradigmat PROC/OOP/FP atd.
-
https://www.root.cz/clanky/scratch-plnohodnotny-programovaci-jazyk-nebo-jen-detske-puzzle/
No nevím… Tohle je super pro základní školy, ale v prváku na střední?
Na Stanford University začínají s Karlem ;)
-
Python byl schválen. Všem vám děkuji. V podstatě se tu vytkly jen ty minoritní záležitosti jako u kolegů - syntax a návyky, což lze vytknout téměř každému jazyku a jde docela dobře eliminovat vhodným IDE (PyCharm).
Vyhrává jednoduchost, přívětivost pro začátečníky, lehké propojení na grafiku, podpora běžných paradigmat PROC/OOP/FP atd.
To už vidím tie hodiny. Ako spolužiaci sa bavia - "Vendo, jak se dá nastavit aby mi píča zobrazila tohle a tohle?". :) Tiež to jetbrains nemusel tak po ostravky pomenovať.
-
Je to úplně jedno, první jazyk časem zapomenete, pokud ho nebudete používat, paradigmata se mění tak rychle, že to nehraje vůbec žádnou roli. V každém jazyce se dá dobře programovat.
to se mi za skoro 30 let nestalo :) rodny (programovaci) jazyk se nezapomina
-
to se mi za skoro 30 let nestalo :) rodny (programovaci) jazyk se nezapomina
Já měl Packal a snažil jsem se hodně rychle zapomenout :D
-
Ale než jít ke kovaříčkovi, je lepší jít přímo ke kováři ( C/C++).
Tak to ani náhodou. I kdyby plánovali v tom C++ dělat tak je do začátku IMO lepší třeba Rust. Je to celkem blízko železa a naučí se přemýšlet o tom, co kdo vlastní (pro c++ dost kritické). No a jako bonus jejich zadek nepozná středověk.
-
Je to úplně jedno, první jazyk časem zapomenete, pokud ho nebudete používat, paradigmata se mění tak rychle, že to nehraje vůbec žádnou roli. V každém jazyce se dá dobře programovat.
to se mi za skoro 30 let nestalo :) rodny (programovaci) jazyk se nezapomina
Je to velmi zvláštní pocit dělat v něm po letech, začnou se objevovat dávno zapomenuté asociace, myslel jsem to spíše tak, že člověk není jeho paradigmatem ovlivněn tolik, že by to překáželo přechodu na jiné, takže je v podstatě jedno čím se začne, ona se ta volba prvního jazyka přeceňuje.
-
Zdar, dělám recenzi na učební plány pro jednou střední školu, která chce vychovávat vývojáře webových aplikací. No a vůbec první jazyk na který ti 15leti prvňáčci narazí je Python. Za mých školních dnů se na výuku algoritmizace používal Pascal. Otázka zní: Je Python vhodný jako první jazyk resp. jazyk na výuku algoritmizace ?
Jestli uz to maji cele pripravene a neni to jen ve stavu napadu, tak proc ne.
Pokud je cela prace pred nimi a maji jen osnovy, tak at se podivaji na Processing.
Je to jediny programovaci jazyk, pro ktery vysla kniha pro umelce, jak programovat https://www.amazon.com/Processing-Programming-Handbook-Designers-Artists/dp/0262182629
dalsi odkazy
https://www.openprocessing.org/
https://natureofcode.com/ super kniha a je i volne na www bez kradeni
https://processing.org/
http://processingjs.org/
a treba takove Arduino ma stejny IDE.
-
Je to úplně jedno, první jazyk časem zapomenete, pokud ho nebudete používat, paradigmata se mění tak rychle, že to nehraje vůbec žádnou roli. V každém jazyce se dá dobře programovat.
to se mi za skoro 30 let nestalo :) rodny (programovaci) jazyk se nezapomina
Je to velmi zvláštní pocit dělat v něm po letech, začnou se objevovat dávno zapomenuté asociace, myslel jsem to spíše tak, že člověk není jeho paradigmatem ovlivněn tolik, že by to překáželo přechodu na jiné, takže je v podstatě jedno čím se začne, ona se ta volba prvního jazyka přeceňuje.
10 PRINT "Takže BASIC vlastně není špatný?"
20 GOTO 10 :P
-
10 PRINT "Takže BASIC vlastně není špatný?"
20 GOTO 10 :P
Na bejzik mi nesahej! Ja tam jednou napsal obfuskator ktery nahodne do kodu narval asi 100x goto a dokud vim nikdo to dosud nehacknul 8)
-
To jsme dva. Neskutečná pakárna jestli odsazovat tabelátorem, nebo mezerami, pak potřebuji zrušit na chvíli nějaké if, vše složitě přesunovat, aby byl milostpán spokojený...
Když jsem ještě nepoužíval IDE, řešil jsem to úpravou toho if-u (např. změnit na if False and <původní podmínka>
Teď už jsem naštěstí přišel na výhody IDE a dočasné zrušení kódu řeším klávesovou zkratkou Comment with Line Comment.
Otázka mezery vs taby je dávno vyřešená v PEP8 (používat mezery).
-
to se mi za skoro 30 let nestalo :) rodny (programovaci) jazyk se nezapomina
Tedy, já si z BASICu na IQ151 už moc nepamatuju, snad jen to že řádky se číslovali a GOTO byl oblíbený příkaz. ;D
-
Osobně se mi víc líbí ruby, přijde mi mnohem konzistentnější než python... Zase ekosystém pythonu asi nabízí mnohem víc.
Pořád lepší než packal :D
-
https://www.root.cz/clanky/scratch-plnohodnotny-programovaci-jazyk-nebo-jen-detske-puzzle/
No nevím… Tohle je super pro základní školy, ale v prváku na střední?
Na Stanford University začínají s Karlem ;)
Tak to je tedy pokrok, ja se Karla ucil ve treti nebo ctvrte tride zakladni skoly na PMD85 v roce cca 1987.
(A musim rict, ze me to jako dite uchvatilo. Ta predstava moznosti stroj neco naucit s tim, ze to pak bude sam delat, byla uzasna.)
-
10 PRINT "Takže BASIC vlastně není špatný?"
20 GOTO 10 :P
Na bejzik mi nesahej! Ja tam jednou napsal obfuskator ktery nahodne do kodu narval asi 100x goto a dokud vim nikdo to dosud nehacknul 8)
To já na něj právě sahám rád a často, zrovna dneska jsem potřeboval něco otestovat, a rychleji než v BASICu to v ničem nenapíšu.
Ale obfuskátor jsem nikdy nepotřeboval, vystačím si sám. Zkus si představit několik do sebe vnořených cyklů, rekurzi, návrat z rekurze na jiné místo než bylo volání, a to všechno udělané jenom pomocí GOTO tak, aby to běželo na čemkoliv od ZX Spectra výš ;D
10 REM N dam na sachovnici
20 INPUT "Pocet dam: ",n:LET d=0:LET k=0:DIM p(n)
100 LET d=d+1:LET p(d)=1
110 FOR i=d-1 TO 1 STEP -1
120 IF p(i)=p(d) OR p(i)+i=p(d)+d OR p(i)-i=p(d)-d THEN GOTO 220
130 NEXT i
140 IF d<n THEN GOTO 100
200 FOR i=1 TO n:PRINT TAB(p(i));"O":NEXT i
210 LET k=k+1:PRINT "kombinace:";k
220 LET p(d)=p(d)+1:IF p(d)<=n THEN GOTO 110
230 LET d=d-1:IF d>0 THEN GOTO 220
300 INPUT "konec";k$
S rychlostí se nepočítá, kdyby se někdo ptal ;D
-
120 IF p(i)=p(d) OR p(i)+i=p(d)+d OR p(i)-i=p(d)-d
Tady jsem se uz stratil i bez nasledujicich goto :D
-
To já na něj právě sahám rád a často, zrovna dneska jsem potřeboval něco otestovat, a rychleji než v BASICu to v ničem nenapíšu.
taky pokud pouzivas ZX Basic, kde jinde ten kod napises tak rychle? :)
-
Jsou detaily, které jsou i v Pythonu matoucí, třeba celý OOP :), který se dá částečně schovat, ale stejně pak někde vykoukne. Python je vlastně docela komplikovaný jazyk. Když jsem viděl poprvý `__magic__` metody a nebo `self` všude, moc se mi osobně nelíbil. Je to pragmatický a dobrý jazyk a pracuju s ním denně, ale radši bych je naučil Scheme/Racket. Můj názor je, že ten kdo u toho vydrží, to časem ocení, kdo ne, tomu ani Python nepomůže -- programování není žádný sci-fi a je dobrý to vidět, jak to je a ne jim v pubertě ukazovat nesmysly jako VB a formuláře jako nám, někde dokonce PHP! Na střední chce každý dělat praktický věci co? Takže se předstírá, že se učí něco do života a přitom se učí nesmysly. Za mne tedy radši Racket a když už to má být interaktivní a zábavný, proč ne JS? Není to sice CS jazyk ale rozhodně se s ním člověk naučí to samé co s Pythonem, jen nemá tak "elegantní" syntax -- což jsem nikdy nechápal proč to stále někdo tlačí -- Haskell má elegantní Syntax :-)
-
Proc Python? K cemu jim to bude? Python bude postupne upadat ve prospech JS. JS ma navic vynikajic skalovetelnost, muzou v tom delat totalni lopaty, kterych je na Stredni skole drtiva vetsina, a muzou v tom delat i machri. Navic je v JS prime propjeni s vizualni strankou veci. K tomu dat kombo CSS a HTML. Tyhle 3 technologie pokryji nejvetsi moznou oblast tech stredoskolaku.
-
Nevím, kde se bere představa, že co je staré musí být dobré. Scheme je přežitek sedmdesátých let, kdy se jednalo o state of art jazyk a nic lepšího neexistovalo ani mimo univerzity. Dnes se programuje jinak. Spojové seznamy se téměř nepoužívají. Zato se téměř všude používají hashmapy o kterých není v SICP ani zmínka.
-
Python je určitě jedna z vhodnýchvoleb na výuku programování. Alespoň jsem si to myslel ještě na konci minulého týdne.
Poté, co jeho vývoj začaly ovlivňovat pavědy typu "gender studies", je ovšem k zamyšlení, kam to ti k0k0kti budou dále směřovat.
Podobnéí kroky bývají totiž začítek konce. :(
-
Python je určitě jedna z vhodnýchvoleb na výuku programování. Alespoň jsem si to myslel ještě na konci minulého týdne.
Poté, co jeho vývoj začaly ovlivňovat pavědy typu "gender studies", je ovšem k zamyšlení, kam to ti k0k0kti budou dále směřovat.
Podobnéí kroky bývají totiž začítek konce. :(
k0k0kti zatáhnou gender studies do každé diskuze.
-
Poté, co jeho vývoj začaly ovlivňovat pavědy typu "gender studies", je ovšem k zamyšlení, kam to ti k0k0kti budou dále směřovat.
Konečně vhodný jazyk pro prýmka ;D
-
Já se toho asi nejvíc naučil v Delphi (dnes bych volil .NET, resp. Visual Studio). A na začátku jsem neznal ani třídy. Vtip byl ve kvalitním IDE. Na začátku se vygeneruje projekt s prázdným formulářem. Ve wysiwyg editoru si navrhnu formulář, kliknu na tlačítko a v kódu se mi vytvoří metoda, kterou jenom vyplním jednoduchým kódem (bez znalosti tříd a jakýchkoliv návrhových vzorů). A s tím se dá vydržet nečekaně dlouho. Co bylo taky důležité, že jsem dělal v (tehdy) profesionálním používaném jazyku a padaly z toho běžné spustitelné binárky s pěknýma formulářema. Na střední jsem byl za boha. A to mě tak strašně bavilo a motivovalo, že jsem se to OOP nakonec taky musel naučit.
Co si taky pamatuji ze škol, tak jsem měl pořád pocit, že se učím něco zbytečného. Něco co není z praxe. Prostě jsem nedokázal u basicu (v 90 letech) dávat pozor a pozornost jsem si šetřil až na C++.
Vším tím jsem chtěl říct, že ač volba .NET + Visual Studio působí absurdně a nečekám, že ve škole, kde uvažují o Pythonu by najednou začli učit C#, tak pro začátečníka sólistu to nemusí být špatná volba. Např. co se týče bezpečnosti, tak v PHP dokáže začátečník nasekat určitě víc chyb než v .NETu, protože tam většinu těch důležitých věcí nepíše, ale zařídí to za něj knihovna nebo IDE. A už od začátku používá DI a ani o tom neví. Je pravda, že ten začátečník nebude u 90% kódu vědět, co ten kód znamená, ale to je u začátečníků běžné i v těch "jednoduchých" jazycích, kde si do kódu copypastujou cokoliv, co najdou na internetu. Tady to mají alespoň z důvěryhodného zdroje.
-
Nevím, kde se bere představa, že co je staré musí být dobré. Scheme je přežitek sedmdesátých let, kdy se jednalo o state of art jazyk a nic lepšího neexistovalo ani mimo univerzity. Dnes se programuje jinak. Spojové seznamy se téměř nepoužívají. Zato se téměř všude používají hashmapy o kterých není v SICP ani zmínka.
Promiň, ale jako člověku s rozhledem, ti musí být jasný, že Scheme ze 70.let je pasé ... Scheme má verze a revize a navíc Racket není žádný Scheme ze 70. let. Podívej se na Python před 15 lety -- to byla elegance... Lidi hodně zapomínaj, že jazyky se mění a konkrétně Python byl dost kostrbatej asi do verze -- nevím plácnu 2.3..., dohledej kdy přišlí properties a vůbec... Java i C# asi taky jdou, ale proč lidem neukázat nějaký ne-mainstream, dokud je čas?
-
Python vobec nie je jednoduchy ak sa zamerate na to ako funguje vo vnutri.
Ako sa dane metody volaju a preco, preco "metody a premenne" maju referencie na triedu.
Ako funguje "workflow" hladania spravnej premenej ak ju nemas v lokalnom kontexte, ako funguju sloty, preco nefunguje v pythone normalny multithreading... Toto ako dieta by som sa asi pytal :-)), si pripraveny to ludom vysvetlit?
Samozrejme, na webara to nemusis vediet, len chcem poukazat, ze vnutorne Python nie je az taky jednoduchy. Jednoduchsie je C, co je v podstate taka nadstavba nad assemblerom.
-
V prvom jazyku pre vyucbu algoritmizacie treba vediet naucit deti napisat funkciu, pouzit pole / zoznam, a nejaku podmienku.
Python je na toto velmi vhodny, lebo na taketo jednoduche pouzitie nema tonu balastu navyse (smerniky, triedy, premenne na zaciatku programu, ...) a navyse k nemu existuju pouzitelne dostupne jednoduche nastroje v ktorych si viete veci skusat bez tony funkcionality, ktoru deti nepochopia, navyse (PyCharm EDU, obycajny python-i REPL, IDLE, ...)
Ano, to iste podobne plati napr. aj o JavaScript-e a webovom browsri / node.js REPL, ale o tom povodna otazka nebola...
-
Proc Python? K cemu jim to bude? Python bude postupne upadat ve prospech JS. JS ma navic vynikajic skalovetelnost, muzou v tom delat totalni lopaty, kterych je na Stredni skole drtiva vetsina, a muzou v tom delat i machri. Navic je v JS prime propjeni s vizualni strankou veci. K tomu dat kombo CSS a HTML. Tyhle 3 technologie pokryji nejvetsi moznou oblast tech stredoskolaku.
Žádný strach. Python 1.r, JS/TS a PHP 2-3.r, Java a C# 3-4.r (jen backendisté) HTML a *SS 1-4.r pak ještě mysql a nosql (elastic+mongo). Na operačních systémech taky bash/zsh. K tomu pár FE/BE frameworků které budou ”in” i o 3-4 roky.
-
Žádný strach. Python 1.r, JS/TS a PHP 2-3.r, Java a C# 3-4.r (jen backendisté) HTML a *SS 1-4.r pak ještě mysql a nosql (elastic+mongo). Na operačních systémech taky bash/zsh. K tomu pár FE/BE frameworků které budou ”in” i o 3-4 roky.
Kedy si naposledy bol v triede/ucebni so zacinajucimi programatormi? Vzdy, ked sa ucis novy jazyk, ta zabija syntax toho jazyka, veci ktore v tvojom predchadzajucom jazyku fungovali inak, uvodzovky, dolare, bodkociarky, pocet rovnitok, atd... Ked sa mas naraz ucit novy jazyk a nove myslienky, castokrat sa na tie myslienky nedokazes sustredit, lebo bojujes so syntaxou. S tym ma problemy vacsina programatorov..
V tomto ma Python obrovsku vyhodu, ze v nom vela klasickych, systemovych, aj webovych myslienok dokazes vysvetlit.
Ked uz niekoho ucis JS a TS, ktore sa uz dnes vacsinou pouzivaju aj na generovanie HTML (React, Angular, Vue) a Python, naco este ucit navyse PHP, ktore bolo stavane na generovanie HTML kodu? Clovek ktory ovlada Python by mal pochopit Flask maximalne za tyzden a to mu uz k pouzitelnym webom staci..., V PHP bud zacnes vysvetlovat URL rewriting, alebo frameworky, a to uz zmatie aj tych snazivejsich, ked pridu z pythonu.
MySQL ako jazyk je zabijak aj pre niektorych vysokoskolakov, stredoskolakovy bohate staci ukazat nejake ORM-ko (napr. v Pythone SQLAlchemy, ked uz sme s tym zacali) a ked chce, na nizsiu vrstvu sa potom vie dostat aj sam...
bash/zsh syntax si clovek nastuduje, ked bude fakt potrebovat robit so strojom, na ktorom nic ine nie je.., ale vacsina linuxovych distier ma predinstalovany python, v ktorom sa da naskriptit celkom dost.. (od prace so subormi az po konfiguraciu systemov cez ansible)
Vyhodu takyto pristup bude mat, ze koho to skutocne bavi, ten sa aj tak sam pozrie na tie veci za tym a nauci sa ich dobre.., koho to nebavi az tak, alebo mu to az tak nejde, nezabijes zbytocne komplikovanymi vecami len kvoli tomu, ze teba ich tak ucili..., ale vysvetlis mu tie zakladne principy a postupy, o ktore vacsinou ide a ku ktorym by si sa mozno inak nedostal
-
Žádný strach. Python 1.r, JS/TS a PHP 2-3.r, Java a C# 3-4.r (jen backendisté) HTML a *SS 1-4.r pak ještě mysql a nosql (elastic+mongo). Na operačních systémech taky bash/zsh. K tomu pár FE/BE frameworků které budou ”in” i o 3-4 roky.
Kedy si naposledy bol v triede/ucebni so zacinajucimi programatormi? Vzdy, ked sa ucis novy jazyk, ta zabija syntax toho jazyka, veci ktore v tvojom predchadzajucom jazyku fungovali inak, uvodzovky, dolare, bodkociarky, pocet rovnitok, atd... Ked sa mas naraz ucit novy jazyk a nove myslienky, castokrat sa na tie myslienky nedokazes sustredit, lebo bojujes so syntaxou. S tym ma problemy vacsina programatorov..
V tomto ma Python obrovsku vyhodu, ze v nom vela klasickych, systemovych, aj webovych myslienok dokazes vysvetlit.
Ked uz niekoho ucis JS a TS, ktore sa uz dnes vacsinou pouzivaju aj na generovanie HTML (React, Angular, Vue) a Python, naco este ucit navyse PHP, ktore bolo stavane na generovanie HTML kodu? Clovek ktory ovlada Python by mal pochopit Flask maximalne za tyzden a to mu uz k pouzitelnym webom staci..., V PHP bud zacnes vysvetlovat URL rewriting, alebo frameworky, a to uz zmatie aj tych snazivejsich, ked pridu z pythonu.
MySQL ako jazyk je zabijak aj pre niektorych vysokoskolakov, stredoskolakovy bohate staci ukazat nejake ORM-ko (napr. v Pythone SQLAlchemy, ked uz sme s tym zacali) a ked chce, na nizsiu vrstvu sa potom vie dostat aj sam...
bash/zsh syntax si clovek nastuduje, ked bude fakt potrebovat robit so strojom, na ktorom nic ine nie je.., ale vacsina linuxovych distier ma predinstalovany python, v ktorom sa da naskriptit celkom dost.. (od prace so subormi az po konfiguraciu systemov cez ansible)
Vyhodu takyto pristup bude mat, ze koho to skutocne bavi, ten sa aj tak sam pozrie na tie veci za tym a nauci sa ich dobre.., koho to nebavi az tak, alebo mu to az tak nejde, nezabijes zbytocne komplikovanymi vecami len kvoli tomu, ze teba ich tak ucili..., ale vysvetlis mu tie zakladne principy a postupy, o ktore vacsinou ide a ku ktorym by si sa mozno inak nedostal
Ty se bereš moc vážně, co? Ten jeho přípěvek je tak trochu nadsázka, nemyslíš?
-
Ano, může to být dobrá volba.
Muzes mne vysvetlit, proc se k tomu vyjadrujes, kdyz nemas zadne argumenty?
-
Ano, může to být dobrá volba.
Muzes mne vysvetlit, proc se k tomu vyjadrujes, kdyz nemas zadne argumenty?
Tazatel kladl dotaz, kde potvrzení celkem stačí.
Argumenty jsou třebas jednoduchost, baterky a hlavně možnost rychlé zpětné vazby (REPL...)
-
Proc Python? K cemu jim to bude? Python bude postupne upadat ve prospech JS. JS ma navic vynikajic skalovetelnost, muzou v tom delat totalni lopaty, kterych je na Stredni skole drtiva vetsina, a muzou v tom delat i machri. Navic je v JS prime propjeni s vizualni strankou veci. K tomu dat kombo CSS a HTML. Tyhle 3 technologie pokryji nejvetsi moznou oblast tech stredoskolaku.
Žádný strach. Python 1.r, JS/TS a PHP 2-3.r, Java a C# 3-4.r (jen backendisté) HTML a *SS 1-4.r pak ještě mysql a nosql (elastic+mongo). Na operačních systémech taky bash/zsh. K tomu pár FE/BE frameworků které budou ”in” i o 3-4 roky.
V tom se většina utopí.
-
Proc Python? K cemu jim to bude? Python bude postupne upadat ve prospech JS. JS ma navic vynikajic skalovetelnost, muzou v tom delat totalni lopaty, kterych je na Stredni skole drtiva vetsina, a muzou v tom delat i machri. Navic je v JS prime propjeni s vizualni strankou veci. K tomu dat kombo CSS a HTML. Tyhle 3 technologie pokryji nejvetsi moznou oblast tech stredoskolaku.
přání otcem myšlenky? https://www.tiobe.com/tiobe-index/
tím neříkám, že JS musí být špatná volba, vlastně by to pro ně s vhodnou knihovnou (nějaká želví grafika?) mohlo být pěkné
-
Proc Python? K cemu jim to bude? Python bude postupne upadat ve prospech JS. JS ma navic vynikajic skalovetelnost, muzou v tom delat totalni lopaty, kterych je na Stredni skole drtiva vetsina, a muzou v tom delat i machri. Navic je v JS prime propjeni s vizualni strankou veci. K tomu dat kombo CSS a HTML. Tyhle 3 technologie pokryji nejvetsi moznou oblast tech stredoskolaku.
Žádný strach. Python 1.r, JS/TS a PHP 2-3.r, Java a C# 3-4.r (jen backendisté) HTML a *SS 1-4.r pak ještě mysql a nosql (elastic+mongo). Na operačních systémech taky bash/zsh. K tomu pár FE/BE frameworků které budou ”in” i o 3-4 roky.
V tom se většina utopí.
Souhlas. Konkretne ucit deti v roce 2018 dopodrobna nastroj typu zsh (krom zakladni interaktivni prace) povazuju prakticky za zlocin. A proc PHP + Java/C# - nestacilo by "jenom" Javu nebo jenom C#?
-
... naco este ucit navyse PHP, ktore bolo stavane na generovanie HTML kodu?
To jste už asi 23 let pozadu.
Pokud by studenti měli pokračovat se seznamováním se s vývojem na webu, rozhodně bych doporučil PHP
(https://i.imgur.com/NNXKqcL.jpg)
které má 79% podíl, co se týče programovacích jazyků na straně serveru.
Navíc má na rozdíl od Pythonu srozumitelnou a čitelnou syntaxi a studenti nemusí do školy nosit úhelník.
(https://i.imgur.com/gw71tzc.jpg)
Příklad jednoduché, srozumitelné a přehledné syntaxe:
<?php
declare(strict_types=1);
interface lopataInterface
{
public function povidatNesmyslyNaRootu() : string;
}
class LopatakNejvetsi implements LopataInterface
{
public $jmeno;
public function __construct($jmeno) {
$this->jmeno = $jmeno;
}
public function povidatNesmyslyNaRootu() : string {
return "Jako programátor na HPP beru přes 200.000,- Kč.";
}
}
class Programatori
{
protected $lopataci = [];
public function naborLopaty($lopata) : void {
$this->lopataci[] = $lopata;
}
public function pouzitiLopaty(string $jmeno) : lopataInterface {
foreach ($this->lopataci as $lopata) {
if ($lopata->jmeno === $jmeno) {
return $lopata;
}
}
throw new Exception('Lopata nenalezena');
}
}
$programatori = new Programatori();
$programatori->naborLopaty(new LopatakNejvetsi("Pepa"));
$programator = $programatori->pouzitiLopaty('Pepa');
echo $programator->jmeno . " na Rootu říká: ". $programator->povidatNesmyslyNaRootu();
?>
-
Ale jdi, Ty uhelniku. Kdyz uz jsem prase a neumim napsat kratky a citelny kod, pomuze inteligentni editor.
(https://camo.githubusercontent.com/06731bfb55ecf4dde74dbe56de11ad40d0a780c6/687474703a2f2f692e696d6775722e636f6d2f37744d426c2e706e67)
-
Tak jeste jednou - cilem prvniho jazyka by nemelo byt, aby to byl ten nejpraktictejsi jazyk.
Ma byt snadny, bez ostrych hran, musi umoznit zabavne veci, musi mit moznost rychle iterovat (REPL...).
-
Příklad jednoduché, srozumitelné a přehledné syntaxe:
.....
vytuněné hello world na 44 řádků moc lidí nepřesvědčí.
-
Příklad jednoduché, srozumitelné a přehledné syntaxe:
.....
vytuněné hello world na 44 řádků moc lidí nepřesvědčí.
Jde o ukázku přehlednosti syntaxe, samozřemě ten kód lze v PHP napsat na jednom řádku.
-
Ale jdi, Ty uhelniku. Kdyz uz jsem prase a neumim napsat kratky a citelny kod, pomuze inteligentni editor.
(https://camo.githubusercontent.com/06731bfb55ecf4dde74dbe56de11ad40d0a780c6/687474703a2f2f692e696d6775722e636f6d2f37744d426c2e706e67)
No ten screenshot, co jste sem vložil, to je s prominutím ukázka vrcholu nečitelnosti. :-(
-
No ten screenshot, co jste sem vložil, to je s prominutím ukázka vrcholu nečitelnosti. :-(
Tohle Ti klidne prominu:
1. Je to ukazka editoru
2. Ten screenshot jsem nasel na webu a nevybiral ho podle citelnosti
3. Neni to tudiz ani muj kod
4. Neni to ani Python
5. Psal jsem, ze kdyz je nekdo prase, ma nastroj. Ja tohle nepouzivam, byt bych mohl, a to programuju v Pythonu uz tolik let, ze se mi to ani nechce pocitat.
-
Ma byt snadny, bez ostrych hran, musi umoznit zabavne veci, musi mit moznost rychle iterovat (REPL...).
Ano, tohle vše PHP i včetně REPLu zvládá, navíc, jak jsem psal, studenti si nebudou muset nosit úhelník (úhelník berte s nadsázkou, je to narážka na to, že zrovna studenti by se neměli trápit s tím, že funkčnost kódu je závislá na jeho vizuální prezentaci - na to obvykle slouží otevření a uzavření závorek).
-
No ten screenshot, co jste sem vložil, to je s prominutím ukázka vrcholu nečitelnosti. :-(
Tohle Ti klidne prominu:
1. Je to ukazka editoru
2. Ten screenshot jsem nasel na webu a nevybiral ho podle citelnosti
3. Neni to tudiz ani muj kod
4. Neni to ani Python
5. Psal jsem, ze kdyz je nekdo prase, ma nastroj. Ja tohle nepouzivam, byt bych mohl, a to programuju v Pythonu uz tolik let, ze se mi to ani nechce pocitat.
Ok, špatně jsem to pochopil
-
Ale jdi, Ty uhelniku. Kdyz uz jsem prase a neumim napsat kratky a citelny kod, pomuze inteligentni editor.
(https://camo.githubusercontent.com/06731bfb55ecf4dde74dbe56de11ad40d0a780c6/687474703a2f2f692e696d6775722e636f6d2f37744d426c2e706e67)
No ten screenshot, co jste sem vložil, to je s prominutím ukázka vrcholu nečitelnosti. :-(
Jak pro koho, já se v tom vyznám na první mrknutí.
Ale možná to bude tím, že něco dost podobného často používám, když píšu programy na papír. I s těmi svislými čárami ;)
-
Takhle strašně píšou už ty děti, ne? :D Tohle mi někdo přinést, tak si pomyslím něco o amatérech a radši ho nechám nosit tonery.
-
Příklad jednoduché, srozumitelné a přehledné syntaxe:
.....
vytuněné hello world na 44 řádků moc lidí nepřesvědčí.
Mně přesvědčil :) a ještě je to příklad z reálného života :D.
Pro ty studenty začátečníky je strašně důležité kvalitní IDE a přehledné a srozumitelné chybové hlášky pro chyby jak v syntaxi (ideálně na ně upozorňuje hned jak student píše) tak chyby za běhu. Jako pokud se student nenaučí psát ; a { } tak je zbytečné se ho vůbec pokoušet naučit programovat.
-
Pro ty studenty začátečníky je strašně důležité kvalitní IDE
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
-
Pro ty studenty začátečníky je strašně důležité kvalitní IDE
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
To je dobry zpusob, jak to mase studentu znechutit hned a zacatku :-/
-
Pro ty studenty začátečníky je strašně důležité kvalitní IDE
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
To je dobry zpusob, jak to mase studentu znechutit hned a zacatku :-/
Proto se podle těch plánů od tohoto září jede jen na 70 vybraných školách, aby se teprve osvědčily.
-
Pro ty studenty začátečníky je strašně důležité kvalitní IDE
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
To je dobry zpusob, jak to mase studentu znechutit hned a zacatku :-/
Proto se podle těch plánů od tohoto září jede jen na 70 vybraných školách, aby se teprve osvědčily.
Tak doufám, že cíl není, aby se osvědčily, ale aby se ozkoušely ;-)
-
Ale jdi, Ty uhelniku. Kdyz uz jsem prase a neumim napsat kratky a citelny kod, pomuze inteligentni editor.
(https://camo.githubusercontent.com/06731bfb55ecf4dde74dbe56de11ad40d0a780c6/687474703a2f2f692e696d6775722e636f6d2f37744d426c2e706e67)
No ten screenshot, co jste sem vložil, to je s prominutím ukázka vrcholu nečitelnosti. :-(
Jak pro koho, já se v tom vyznám na první mrknutí.
Ale možná to bude tím, že něco dost podobného často používám, když píšu programy na papír. I s těmi svislými čárami ;)
Ten úhelník je dokonalej. Zlazý závorky. A do toho rozdíl, mezi TAB a mezerou. Běs.
-
Pro ty studenty začátečníky je strašně důležité kvalitní IDE
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
To je dobry zpusob, jak to mase studentu znechutit hned a zacatku :-/
Proto se podle těch plánů od tohoto září jede jen na 70 vybraných školách, aby se teprve osvědčily.
Tak doufám, že cíl není, aby se osvědčily, ale aby se ozkoušely ;-)
No to sem teda zvedavy, jestli studenti neco nesnasi tak je to programovani na papir :D
-
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
To je dobry zpusob, jak to mase studentu znechutit hned a zacatku :-/
Prave pri vyuke programovania je dobre naucit ludi rozmyslat a mysliet v algoritmoch, naucit ich programatorske postupy.., jazyky a syntaxe sa pocas svojej kariery naucis dalsie.., nove postupy sa osvojuju tazsie..
Dobre implementovana pen-and-paper vyuka programovania je velmi dobra pre osvojenie zakladov programatorskeho myslenia, lebo student nie je rozptylovany chybajucimi zatvorkami, bodkociarkami, syntax errormi, a moze sa sustredit na to, ci jeho myslienka fungovat bude.. (samozrejme aj v hodnoteni by to malo byt odrazene a nemala by sa hodnotit syntax ale myslienka a spravnost algoritmu)
Co samozrejme nedopadne dobre je ucit iba programovat na papieri, ked sa ucis programovanie, musis mat aj moznost si veci aj vyskusat.., mozno idealne najskor zaklady nejakeho programovacieho jazyka a potom pred ucenim advanced veci naucit zakladne algoritmy a datove struktury na papieri..
Co je vsak podstatne je nenaucit deti programovat stylom pokus-omyl. Od toho je tazke odnaucit sa a kod od takeho programatora potom vacsinou byva dost casto opravovany lebo ho pri skusani kodu nenapadnu vsetky vyuzitia a rozmyslat nad nimi pred tym, ako zacne pisat sa nenaucil.
-
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
To je dobry zpusob, jak to mase studentu znechutit hned a zacatku :-/
Prave pri vyuke programovania je dobre naucit ludi rozmyslat a mysliet v algoritmoch
To je právě v těch plánech, řešení logických úloh (v podstatě algoritmizace).
-
Když v licitovaném mariáši nedopatřením hodím ostrou do talonu mužů se ještě vyhnout velkymu renoncu ? Že bych naschvál uhrál nějaký menší renonc, třeba nepřiznám barvu a přijde se na to dřív než na tu ostrou, tak platím oba renoncy nebo jen ten první ?
Četl jsem pár pravidel a všude je to jinak. Jak to máte vy ?
-
Pro ty studenty začátečníky je strašně důležité kvalitní IDE
Důležité je na začátku především pencil-and-paper programming. Naštěstí už to k tomu směřuje, ministerstvo vypracovalo příslušné plány, teď se budou dva roky testovat na několika vybraných školách a pak budou povinné pro všechny školy.
To je dobry zpusob, jak to mase studentu znechutit hned a zacatku :-/
Proto se podle těch plánů od tohoto září jede jen na 70 vybraných školách, aby se teprve osvědčily.
Tak doufám, že cíl není, aby se osvědčily, ale aby se ozkoušely ;-)
No to sem teda zvedavy, jestli studenti neco nesnasi tak je to programovani na papir :D
Tak, tak.
On je problem v tom, ze misto toho, aby to prgani na papir dosahlo cile "abstrakce, mysleni, bla, bla", tak dosahne uplne jineho dusledku.
Coz je skoda, protoze ta abstrakce a mysleni jsou strasne dulezite. Ale bohuzel takhle (prevazne) nefungujeme.
Takze je (pro vetsinu) uzitecnejsi na zacatku blikat ledkami nebo posouvat robota bludistem a nadchnout se pro vec (nebo alespon ziskat trochu zajmu a trochu znalosti) nez jit top-down.
-
Ten úhelník je dokonalej. Zlazý závorky. A do toho rozdíl, mezi TAB a mezerou. Běs.
Zamysli se nad sebou, nez vypustis nejakou podobnou reakci.
1. V Pythonu zadne taby pro odsazovani nejsou - konec!
2. V Pythonu existuji vnitrne dva tokeny INDENT a DETENT. To je to same, jako oteviraci a uzaviraci zavorka nebo begin a end. Ze to autori spojili s vizualni podobou, resp. nuti programatory odsazovat, protoze ty tokeny jsou spojene s vizualem, ma svoje vyhody i nevyhody. Ale v principu jde o totez. Ze se to nekomu nelibi a rad by si prasil slozene zavorky, kde ho napadne a odsazoval, kde ho napadne, je jina vec. Tak si praste treba v $PHP, mate svobodu volby.
-
V Pythonu existuji vnitrne dva tokeny INDENT a DETENT
Ten DETENT je jako že někoho vytáhnou ze stanu? Nemá to být DEMENT?
-
V Pythonu existuji vnitrne dva tokeny INDENT a DETENT
Ten DETENT je jako že někoho vytáhnou ze stanu? Nemá to být DEMENT?
Oops, DEDENT.
-
Ze se to nekomu nelibi a rad by si prasil slozene zavorky, kde ho napadne a odsazoval, kde ho napadne, je jina vec.
Použití závorek neznamená, že člověk musí "prasit složené závorky, kde ho napadne" nebo "odsazovat, kde ho napadne"
Tak si praste treba v $PHP, mate svobodu volby.
Prasit se dá v čemkoliv, proč vnucujete lidem, aby někde něco prasili, např. v PHP se dá psát i bez prasení a dokonce je to normální.
-
Dobre implementovana pen-and-paper vyuka programovania je velmi dobra pre osvojenie zakladov programatorskeho myslenia, lebo student nie je rozptylovany chybajucimi zatvorkami, bodkociarkami, syntax errormi, a moze sa sustredit na to, ci jeho myslienka fungovat bude.. (samozrejme aj v hodnoteni by to malo byt odrazene a nemala by sa hodnotit syntax ale myslienka a spravnost algoritmu)
Já nejsem učitel, takže těžko se vyjadřovat k vhodnosti psaní kódu na papír, ale příjde mi prostě, že když někdo napíše kód na papír, nemá žádnou zpětnou vazbu - neví, jaký je výseledek, neví zda to napsal správně (i když to, jak píšete, nemusí být důležité). Vlastně se může stát, že většina studentů pak jen něco napíše, co se teoreticky naučila a vůbec je nebude zajímat to nejdůležitější - výsledek.
Pokud prostě někam napíšu "5 + 6" tak se prostě nespokojím s tím, že jsem vytvořil nějakou sčítací operaci, chci také znát výsledek.
Psaní kódu na papír mi příjde, jako se učit v autoškole jezdit na koni. A teprve poté bude povoleno sednout si do auta (ale berte to opravdu tak, že ohledně didaktiky nic nevím)
-
Ze se to nekomu nelibi a rad by si prasil slozene zavorky, kde ho napadne a odsazoval, kde ho napadne, je jina vec.
Použití závorek neznamená, že člověk musí "prasit složené závorky, kde ho napadne" nebo "odsazovat, kde ho napadne"
Tak si praste treba v $PHP, mate svobodu volby.
Prasit se dá v čemkoliv, proč vnucujete lidem, aby někde něco prasili, např. v PHP se dá psát i bez prasení a dokonce je to normální.
Uz to, hosi, tocite do vrtule. Proste se smirte s tim, ze tvurci ruznych jazyku rozhodli ruzne v otazkach syntaxe a semantiky a ma to vyhody a nevyhody. Nikdo netvrdi, ze programator v PHP musi bloky kodu prasit, on proste "jenom" muze - to je vyhoda i nevyhoda. Vy zase netvrdte bludy o tabech a o uhelnicich (protoze to proste jsou bludy) a dojdeme smiru.
-
Uz to, hosi, tocite do vrtule. Proste se smirte s tim, ze tvurci ruznych jazyku rozhodli ruzne v otazkach syntaxe a semantiky a ma to vyhody a nevyhody. Nikdo netvrdi, ze programator v PHP musi bloky kodu prasit, on proste "jenom" muze - to je vyhoda i nevyhoda. Vy zase netvrdte bludy o tabech a o uhelnicich (protoze to proste jsou bludy) a dojdeme smiru.
Já osobně reagoval právě na bláboly o PHP, humorná nadsázka s úhelníkem snad nikoho neurazí :-)
(https://i.imgur.com/gw71tzc.jpg)
-
Dobre implementovana pen-and-paper vyuka programovania je velmi dobra pre osvojenie zakladov programatorskeho myslenia, lebo student nie je rozptylovany chybajucimi zatvorkami, bodkociarkami, syntax errormi, a moze sa sustredit na to, ci jeho myslienka fungovat bude.. (samozrejme aj v hodnoteni by to malo byt odrazene a nemala by sa hodnotit syntax ale myslienka a spravnost algoritmu)
Já nejsem učitel, takže těžko se vyjadřovat k vhodnosti psaní kódu na papír
"Pen and pencil" není psaní kódu na papír, je to figurativní fráze. V těch plánech z ministerstva navíc není nic o kódu, jde o řešení logických problémů ("hlavolamů") a navrhování algoritmů (obecně, ne v konkrétním jazyce).
-
Ke kreslení vývojových diagramů má docela blízko Scratch - a rovnou si lze ověřit, jestli to funguje.
Jen je to asi primárně určené pro trochu madší kategorii než SŠ/VŠ (výše se psalo o studentech).
(http://1.bp.blogspot.com/_5Njmh9cAWX0/SwWCINXZdhI/AAAAAAAAAJk/UXL6d0mXQuY/s1600/sample.png)
-
Pokud prostě někam napíšu "5 + 6" tak se prostě nespokojím s tím, že jsem vytvořil nějakou sčítací operaci, chci také znát výsledek.
Psaní kódu na papír mi příjde, jako se učit v autoškole jezdit na koni. A teprve poté bude povoleno sednout si do auta (ale berte to opravdu tak, že ohledně didaktiky nic nevím)
Nepotrebujes kalkulacku na to, aby ti povedala ze 5+6 je 11. To mas vediet sam. Tak isto nemas potrebovat pocitac na to, aby si si uvedomil, ze ked napises kod stylu: if (x < 0) { } if (x == 0) { } else { } asi nebude robit to co chces aby robil.
V autoskole sa tiez najskor ucis teoriu a pravidla cestnej premavky az potom sadas do auta, preco asi?
-
V autoskole sa tiez najskor ucis teoriu a pravidla cestnej premavky az potom sadas do auta, preco asi?
No myslel jsem to spíš tím způsobem, že programování má vzah k papíru asi jako auto ke koni. Tedy je to jakýsi určitý zastaralý předchůdce. Příjde mi, že pro přitáhnutí pozornosti, je prostě lépe rovnou jít na věc a zkoušet. Teorie má čas a bude dobrá pro ty, které programování bude bavit a budou chtít vědět více. Vytáhnout na děti při první hodině matematiky Bartsche asi taky nebude to pravé ořechové.
-
na vyuku algoritmizace by mozna stacil nejaky pseudocode, odstranilo by to barieru umet presnou syntax nejakeho jazyka a soustredit se na podstatne
-
Ke kreslení vývojových diagramů má docela blízko Scratch - a rovnou si lze ověřit, jestli to funguje.
Jen je to asi primárně určené pro trochu madší kategorii než SŠ/VŠ (výše se psalo o studentech).
(http://1.bp.blogspot.com/_5Njmh9cAWX0/SwWCINXZdhI/AAAAAAAAAJk/UXL6d0mXQuY/s1600/sample.png)
The Kopenogram Strikes Back! ;D https://pctuning.tyden.cz/multimedia/hry-a-zabava/46327-blok-sem-blok-tam-vraci-kopenogramy-uder (https://pctuning.tyden.cz/multimedia/hry-a-zabava/46327-blok-sem-blok-tam-vraci-kopenogramy-uder)
Já mám teda radši klasické vývojové diagramy, ale tohle se mi líbí. A navíc je tam vidět právě to důležité odsazování, bez bloudících závorek, takže přejít ze Scratche na Python bez blbých keců o odsazování by neměl být velký problém.
Navíc to grafické znázornění je pseudokód samo o sobě, viz Lojza.
-
na vyuku algoritmizace by mozna stacil nejaky pseudocode, odstranilo by to barieru umet presnou syntax nejakeho jazyka a soustredit se na podstatne
Přesná syntax je podstatná i u toho pseudokódu. Jinak skončíte jako ve vedlejší diskuzi o typových systémech vs testech, kde všichni tvrdí že něco lze, ale nikdo není schopen popsat jak nebo uvést příklad.
-
jenze syntaxe pseudokodu je imho radove jednodussi nez kterehokoliv programovaciho jazyka (vcetne napr. smalltalku)
-
na vyuku algoritmizace by mozna stacil nejaky pseudocode, odstranilo by to barieru umet presnou syntax nejakeho jazyka a soustredit se na podstatne
Přesná syntax je podstatná i u toho pseudokódu. Jinak skončíte jako ve vedlejší diskuzi o typových systémech vs testech, kde všichni tvrdí že něco lze, ale nikdo není schopen popsat jak nebo uvést příklad.
Vždyť tam příklady máš.
-
mozna by stacil i (pripadne rozsireny o nejake dalsi vlastnosti) vyvojovy diagram
-
na vyuku algoritmizace by mozna stacil nejaky pseudocode, odstranilo by to barieru umet presnou syntax nejakeho jazyka a soustredit se na podstatne
Nevím, ale pokud už studenti pochopili při výuce českého jazyka, že věta se uzavírá tečkou, otevřené závorky/uvozovky/atd. se uzavírají, apod. pak mluvit o barieře ve formě přesné syntaxe je podle mě přehnané.
-
Karel?
;)
-
Kokoz jednoducha otazka na ktoru tu stacilo odpovedat binarne a vy uletite dakde do pseudokodov a prisernych obskurnosti, ktore studenti v zivote neuplatnia, neocenia a hlavne od toho s krikom ujdu. Ved to su stredoskolaci, tych nezaujima, ze rychlost je derivacia drahy podla casu ale, ze sa vypocita v = s / t. Tych nezaujima teoria prekladacov ale, ze cyklus v Pythone je tak a v PHP tak. A ze sa syntakticky lisia je to posledne co ich trapi. Sa uz vratte na zem. Tu nejdu robit computational science ale sekat weby 8)
Za mna Python ano.
-
Kokoz jednoducha otazka na ktoru tu stacilo odpovedat binarne a vy uletite dakde do pseudokodov a prisernych obskurnosti, ktore studenti v zivote neuplatnia, neocenia a hlavne od toho s krikom ujdu. Ved to su stredoskolaci, tych nezaujima, ze rychlost je derivacia drahy podla casu ale, ze sa vypocita v = s / t. Tych nezaujima teoria prekladacov ale, ze cyklus v Pythone je tak a v PHP tak. A ze sa syntakticky lisia je to posledne co ich trapi. Sa uz vratte na zem. Tu nejdu robit computational science ale sekat weby 8)
Za mna Python ano.
Co mate vsichni s temi weby? Ja myslel, ze ty uz se dnes neprogramuji.
-
na to obvykle slouží otevření a uzavření závorek).
Použití závorek pro určení bloku považuju za zjedudušení parseru a historický relikt. Odsazování považuji za mnohem čitelnější a praktičtější. Ale samozřejmě existují výjimky a je dobré, když je možné ty závorky použít. Což třeba Haskell i Python splňují.
-
Nevím, kde se bere představa, že co je staré musí být dobré. Scheme je přežitek sedmdesátých let, kdy se jednalo o state of art jazyk a nic lepšího neexistovalo ani mimo univerzity. Dnes se programuje jinak. Spojové seznamy se téměř nepoužívají. Zato se téměř všude používají hashmapy o kterých není v SICP ani zmínka.
Já zas nevím, kde se bere ta představa, že novější = lepší. Čím jsem starší, tím častěji mívám pocit, že tenkrát tu a tu věc nevymysleli vůbec špatně, ale za to později byla dojebána v těch novějších věcech.
Pokud jde o Scheme, tak přesně jak říká Alan Kay, LISP je pro CS totéž, co Maxwellovy rovnice pro elektrotechniku. Prostě ta nejelementárnější a přitom nejobecnější pravidla v té nejkompaktnější podobě, z nichž se dá vybudovat úplně vše. Cokoli jednoduššího by bylo nedostatečné, cokoli složitějšího by nebylo ortogonální. Tvrdit o Scheme, že je to state of the art 70. let, je podobný nesmysl, jako tvrdit totéž o Maxwellkách - on někdo sestavil nějaké lepší Maxwellky? Ano, původních 10 hyperkomplexních rovnic se dá přepsat na 4 vektorově-analytické nebo 1 relativistickou pomocí d'Alembertova operátoru - ale pořád jsou to ty samé rovnice v jiných podobách. Dají se zakomponovat do elektroslabé interakce atd... Ale bavíme-li se o elektrotechnice, tak Maxwellovy rovnice jsou něčím, co abstraktně a úplně popisuje veškeré jevy, které mohou nastat. Kdo pochopil Maxwellovy rovnice a naučil se s nimi pracovat, hledat jejich řešení, upravovat je do požadovaných tvarů dle okolností, ten vlastně pochopil celou elektrotechniku - může spočítat vše od zelektrizované kuličky až po vyzařování mikrovlnné antény vyrobené z plechovky od CocaColy.
Scheme (resp. LISP) je přesně totéž. Z něho si vymodeluju všechno - i hashmapy. Proto se na elektrofakultách účivaly Maxwellovy rovnice, proto se na CS fakultách učíval LISP. Žádný jiný jazyk prostě nemá všechny ty vlastnosti současně a žádnou nadbytečnou, protože jinak by to byl zákonitě opět LISP. Tohle neumí žádný Haskell ani Ruby ani Java ani nic, tohle vymysleli v roce 1958, dávno před hashmapami. Maxwellky někdy o 100 let dříve, dávno před objevem rádiových vln.
Tím netvrdím, že by se LISP nebo Maxwellky nutně musely učit. I bez Maxwellek si člověk postaví rádio nebo počítač. Ale nebudu tvrdit, že Maxwellky jsou state of the art poloviny 19. století a že jsou dávno překonané a že dnes elektrotechnika funguje jinak.
-
Co mate vsichni s temi weby? Ja myslel, ze ty uz se dnes neprogramuji.
Haha, vsichni dnes kodi nove apky v Electronu a stare se do nej predelavaj taky. Web je vsude a kodi se !
-
Co mate vsichni s temi weby? Ja myslel, ze ty uz se dnes neprogramuji.
Haha, vsichni dnes kodi nove apky v Electronu a stare se do nej predelavaj taky. Web je vsude a kodi se !
Nie
-
Nie
Znas snad nejakou vyjimku co potvrzuje pravidlo, ze vsechny nove apku jsou-budou web based ?
-
Nie
Znas snad nejakou vyjimku co potvrzuje pravidlo, ze vsechny nove apku jsou-budou web based ?
Embedded zariadenia, ktore by nevtesnali do seba cely webovy stack. Alebo ked proste programator nechce robit pomalu s**cku.
-
Embedded zariadenia
A co maju arduino krabicky co riadia posuvanie zaclon spolocne s aplikaciami ?
-
Embedded zariadenia
A co maju arduino krabicky co riadia posuvanie zaclon spolocne s aplikaciami ?
Trosku to mate pomylene, ale nevadi. Gui potrebuju aj pocitace, ktore maju z nejakych dovodov obmedzene prostriedky - bud maju nejake hardened komponenty, alebo potrebuju mat nizku spotrebu, pripadne vyrabaju sa milion rokov rovnake lebo certifikacia ....
-
Prostě ta nejelementárnější a přitom nejobecnější pravidla v té nejkompaktnější podobě, z nichž se dá vybudovat úplně vše.
teoreticky ano, ale v praxi z nich nic vybudováno není. Způsob výkladu, kdy se staví vše od nuly a nepoužívají se knihovny je i podle Sussmana (https://news.ycombinator.com/item?id=14167453) překonaný.
-
Co mate vsichni s temi weby? Ja myslel, ze ty uz se dnes neprogramuji.
Haha, vsichni dnes kodi nove apky v Electronu a stare se do nej predelavaj taky. Web je vsude a kodi se !
Web je všude a bezpečnost nikde: https://www.root.cz/zpravicky/nas-od-western-digital-lze-ovladnout-na-dalku-pomoci-http-cookies/ ;D
-
Jinak jak jsem se naucil na zakladce assembler pro zx spectrum uplne sam (bez internetu, bez literatury a neznal jsem nikoho kdo by umel programovat) jenom z jednoho programu, který jsem si nahodou nahral na pasce a i když jsem neumel anglicky, tak jsem pochopil co se tam ma delat. Predtim jsem ale uz umel Basic, který byl tak strasne jednoduchy, ze jsem to umel snad za jednu hodinu.
Co bylo ale na vsem nejdulezitejsi, ze jsem hned videl vysledky, neco jsem si mohl nakreslit, zahrat melodie. A i v assembleru byla práce s grafikou na zx spectrum strasne jednoducha. Jeste na zakladce jsem i cracknul jednu hru, která mela upraveny loader tak aby se nedal kopirovat pomoci beznych programu na kopirovani. S tim, ze jsem ani nevedel jak funguje kodovani na pasku a jak vypada loader. Proste jsem si vsechno sam odvodil. Naopak sam bez pomoci jsem se nikdy nenaucil C++ a naucil jsem se ho az později s internetem a ucitelem a to proto, ze ta bariera pro zacatecniky kdyz tehdy jeste nebyl internet ani poradna literatura byla obrovska.
Tim chci rict, ze Python je na vyuku dobry protoze se s nim da delat spousta věci, které mají nejaky vystup. Ale rozhodne bych u Pythonu ani na te stredni nezustaval, kdyz jsem byl mlady, tak jsem se ruzne jazyky ucil strasne rychle.
-
Nemůžeš podle sebe před 30 lety soudit průměrného středoškoláka.
Také jsem si podobně hrál na Atari 800XE (MT6502), ale tenkrát to bylo jiné, počítač měl jen ten, kdo se o to opravdu zajímal, dnes se to mají učit všichni.
-
Nemůžeš podle sebe před 30 lety soudit průměrného středoškoláka.
Také jsem si podobně hrál na Atari 800XE (MT6502), ale tenkrát to bylo jiné, počítač měl jen ten, kdo se o to opravdu zajímal, dnes se to mají učit všichni.
Mne prijde ze pocitac (zx spectrum, commodore, amiga, … ) meli tehdy vsichni jenom kvuli hram :), na tom se pracovat moc nedalo. Ja jsem to myslel ale tak, ze někdo na zakladce nebo na stredni potřebuje aby si s tim mohl trochu hrat a nemelo by ho to odradit a znechutit hned na zacatku.
-
Nedoporučuji. Python není jednoduchý jazyk, nechápu proč to pořád někdo tvrdí. Asi jste se nedívali do dokumentace.
Já doporučuji čisté C, je to jednoduchý jazyk a přitom v něm lze napsat pohodlně většinu algoritmů.
-
Nedoporučuji. Python není jednoduchý jazyk, nechápu proč to pořád někdo tvrdí. Asi jste se nedívali do dokumentace.
Já doporučuji čisté C, je to jednoduchý jazyk a přitom v něm lze napsat pohodlně většinu algoritmů.
Ti studenti potřebují něco zábavného aby mohli něco sami objevovat a nenaráželi pořád na nějaké překážky. Jazyk C je podle mně špatná volba, je tam spousta triků hned ze začátku a knihovny jsou strašně neintuitivní.
-
Nedoporučuji. Python není jednoduchý jazyk, nechápu proč to pořád někdo tvrdí. Asi jste se nedívali do dokumentace.
Já doporučuji čisté C, je to jednoduchý jazyk a přitom v něm lze napsat pohodlně většinu algoritmů.
Blby vtip, dost blby. Uz jenom existence str(n)cpy je duvod, proc ten jazyk neukazovat zacatecnikum a idealne ho nepouzivat nikdy a nikde, pokud to jenom trochu jde.
-
Nedoporučuji. Python není jednoduchý jazyk, nechápu proč to pořád někdo tvrdí. Asi jste se nedívali do dokumentace.
Já doporučuji čisté C, je to jednoduchý jazyk a přitom v něm lze napsat pohodlně většinu algoritmů.
Naprostý souhlas. Co má být výsledkem snažení? Ne - znalost konkrétního programovacího jazyka, ale pochopení algoritmizace a strukturovaného a asi i objektového programování. Ano - C++ není na pochopení objektů zrovna ideální, ale trápit se s pythonem, pokud jsem si poprvé sedl před klávesnici mi šťastné nepřijde. (stejně je napsán v C ;))
-
Nedoporučuji. Python není jednoduchý jazyk, nechápu proč to pořád někdo tvrdí. Asi jste se nedívali do dokumentace.
Já doporučuji čisté C, je to jednoduchý jazyk a přitom v něm lze napsat pohodlně většinu algoritmů.
Naprostý souhlas. Co má být výsledkem snažení? Ne - znalost konkrétního programovacího jazyka, ale pochopení algoritmizace a strukturovaného a asi i objektového programování. Ano - C++ není na pochopení objektů zrovna ideální, ale trápit se s pythonem, pokud jsem si poprvé sedl před klávesnici mi šťastné nepřijde.
Rozhodně šťastnější, než se napoprvé trápit s C nebo C++. Jestli máš pocit, že jim první pokus o práci s textem v C nebouchne do obličeje, tak už v něm děláš moc dlouho. A C++ mám rád, takže bych ho nerad někomu dopředu znechutil tím, že ho spolu se základama budu učit i všechny ty pragmatické a historické ojebávky.
Zajímavý jazyk na první seznámení s programováním by mohla být třeba i Lua.
(stejně je napsán v C ;))
Jak C? I Assembler je vysokoúrovňové lepení dobré akorát pro lopaty. V hexa budou psát! Teda až po tom, co dodělají ten křemíkový wafer. ::)
-
IMHO Python je idealni na prvni jazyk. Je to jazyk pragmaticky, ktery jde primo k veci, nenuti uzivatele skakat zbytecne pres obruce (ty mohou byt u ruznych alternativ ruzne - pointery, OOP, rekurze..), aby v nem neco naprogramoval.
Navic ma sirokou skalu pouziti a mnoho knihoven. To je vyhodne proto, ze pokud uz se neco ucit jako prvni jazyk, tak neco, co muzete v praxi pouzit i pokud se v budoucnu nenaucite uz zadny jiny jazyk.
Lide, co zde prosazuji C nebo C++ nad tim premysli spatne. Uloha neni vychovat budouciho programatora; uloha je naucit nekoho programovat, nekoho, kdo s nejvetsi pravdepodobnosti programator ani nebude chtit byt.
-
Lide, co zde prosazuji C nebo C++ nad tim premysli spatne. Uloha neni vychovat budouciho programatora; uloha je naucit nekoho programovat, nekoho, kdo s nejvetsi pravdepodobnosti programator ani nebude chtit byt.
I kdyby to měl být budoucí programátor v C++, tak bych osobně začínal něčím jiným. Ze začátku je třeba naučit principy. Základní konstrukce se dají ukazovat skoro na čemkoliv, kde se dají rychle a bezbolestně "ošahat". Ze začátku bych se úplně vyhnul kompilovaným jazykům.
Zpětně hodnotím jako skvělý nápad, že mě první krůčky učili na FoxPru. V dobách dosu to byla jedna z mála dostupných věcí, co měla právě ten repl. Když jsem pak přešel na Pascal, tak už jsem měl vybudovanou představu, jak vůbec program běží a co dělají základní konstrukce.
Že je Python dynamicky typovaný mi IMO do začátku přijde taky užitečné. Uvažovat o typech proměnných je přece jenom o úroveň abstakce dál než jsou typy samotných hodnot.
A to říkám i přesto, že Python osobně moc nemám rád. :)
-
Navic ma sirokou skalu pouziti a mnoho knihoven. To je vyhodne proto, ze pokud uz se neco ucit jako prvni jazyk, tak neco, co muzete v praxi pouzit i pokud se v budoucnu nenaucite uz zadny jiny jazyk.
V praxi člověk lépe využije PHP
(https://i.imgur.com/NNXKqcL.jpg)
Případný přechod na Javu, C#, Javascript, atd. je potom z PHP jednodušší, protože syntaxe a principy PHP jsou velmi podobné právě těmto jazykům - mnohem podobnější než je tomu u Pythonu.
-
Nie
Znas snad nejakou vyjimku co potvrzuje pravidlo, ze vsechny nove apku jsou-budou web based ?
Kéž by těch výjimek bylo co nejvíce, protože tohle je naprosto zcestný směr vývoje, slepá ulička. Raději by se mělo zaměřit na to, jak weby udělat app based a postupně celý ten nesmysl jménem web poslat do hajzlíku, kam od samého začátku patří.
-
V praxi člověk lépe využije PHP
...
Případný přechod na Javu, C#, Javascript, atd. je potom z PHP jednodušší, protože syntaxe a principy PHP jsou velmi podobné právě těmto jazykům - mnohem podobnější než je tomu u Pythonu.
Nebude to tím že všechny tyhle jazyky mají Céčkovou syntaxi? ;)
PHP je odporný bezkoncepční bastl, naprosto nevhodný pro výuku. A pro většinu věcí, na které se používá, také.
-
V praxi člověk lépe využije PHP
Ta statistika o nicom nehovori, php je prvou volbou na cybersquatting, typosquatting ,brandjacking a rozny iny jalovy obsah. Nehovoriac o tom, ze vacsinou sa tam uz pouzivaju hotove CMS, ktore nasadi nejaky Lojza a neprepise tam ani ciarku. V case servisne orientovanych architektur (citaj klaud) byva system postaveny na viacerych programovacich jazykoch.
-
mnohem podobnější než je tomu u Pythonu.
podle mě je python javascriptu podobnější než PHP. OOP v PHP je zkopírované ze statických jazyků.
-
PHP je odporný bezkoncepční bastl, naprosto nevhodný pro výuku. A pro většinu věcí, na které se používá, také.
Můžete mi tedy říct, když budu např. někoho učit for loop:
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
nebo if statement:
if ($a > $b) {
echo "a is bigger than b";
}
apod. - jak to v jiných jazycích udělat s koncepcí, bez náznaku bastlení a tak, aby to bylo vhodnější pro výuku.
-
Můžete mi tedy říct, když budu např. někoho učit ...
Mrkni se k čemu PHP vznikl a jak se vyvíjel. Pak uvidíš že cyklus a větvení můžeš stejně dobře učit i v bashi, a nejspíš tím na těch žácích napácháš i menší škody.
-
Mrkni se k čemu PHP vznikl a jak se vyvíjel. Pak uvidíš že cyklus a větvení můžeš stejně dobře učit i v bashi, a nejspíš tím na těch žácích napácháš i menší škody.
Mně nezajímá, k čemu kdysi vzniklo PHP a jak se vyvýjelo, zajímá mě, jak dnes funguje (PHP 7.2, 7.3).
Říkate, že "cyklus a větvení můžeš stejně dobře učit i v bashi" ale zrovna u PHP je to podle Vás bezkoncepční bastl a nevhodné pro výuku. Argumenty máte všeobecné a nic neříkající.
Pokud někdo dnes tvrdí, že PHP je bezkoncepční bastl, pak pravděpodobně vůbec netuší, co to PHP je.
Mimochodem, pokud se bavíme o koncepci, jak nazvat přechod mezi Python 2 a Python 3, není právě toto příklad bezkoncepčnosti?
-
Aby projekt v PHP měl nějakou štábní kulturu, je potřeba znalého programátora.
PHP umožňuje psát slušně udržovatelné aplikace, ale velmi snadno umožňuje i bastlit (vím to až moc dobře :D).
Začátečníci mohou začít v PHP, ale potřebují nad sebou někoho, kdo jim řekne "tak takhle teda ne", i když to PHP v pohodě umožňuje.
Mě na PHP vadí jedna věc - odkazování se na vlastnosti a metody objektu - všude jinde se používá jednoznaková "." jen PHP má dvouznakové "->" protože tečku už používá sčítání řetězců.
-
Aby projekt v PHP měl nějakou štábní kulturu, je potřeba znalého programátora.
PHP umožňuje psát slušně udržovatelné aplikace, ale velmi snadno umožňuje i bastlit (vím to až moc dobře :D).
Začátečníci mohou začít v PHP, ale potřebují nad sebou někoho, kdo jim řekne "tak takhle teda ne", i když to PHP v pohodě umožňuje.
Mě na PHP vadí jedna věc - odkazování se na vlastnosti a metody objektu - všude jinde se používá jednoznaková "." jen PHP má dvouznakové "->" protože tečku už používá sčítání řetězců.
Tohle je detail. Spis mi vadi
1. Stupidni C format for cyklu (s "pridanou hodnotou" v tech dolarech pred nazvem promenne).
2. Kdyz uz tam pridali moznost jet pres iterator, vymysleli podobnou odpornost v podobe foreach($a as $b) nebo foreach($a as $b => $c) .
Jinymi slovy, protoze se tvurci PHP hodne vynasnazili udelat jazyk co nejtopornejsi a nejodpornejsi, je prechod na jine "C-like jazyky" opravdu docela snadny, dokonce snad i osvezujici.
-
PHP umožňuje psát slušně udržovatelné aplikace, ale velmi snadno umožňuje i bastlit (vím to až moc dobře :D).
Myslím si, že tohle platí pro všechny jazyky.
Mě na PHP vadí jedna věc - odkazování se na vlastnosti a metody objektu - všude jinde se používá jednoznaková "." jen PHP má dvouznakové "->" protože tečku už používá sčítání řetězců.
Ano, zvlášť pokud člověk pracuje i s jinými jazyky, tak tohle není ideální.
-
1. Stupidni C format for cyklu (s "pridanou hodnotou" v tech dolarech pred nazvem promenne).
2. Kdyz uz tam pridali moznost jet pres iterator, vymysleli podobnou odpornost v podobe foreach($a as $b) nebo foreach($a as $b => $c) .
Víte, co je zajímavé:
1) že například na Stackoverflow se najde hodně lidí, kteří Vám poradí psát dolar i u proměnných v Javascritptu, protože je to podle nich přehlednější
2) a stejně tak najdete na Stackoverflow hodně dotazů v oblasti Javascriptu, a to typu jak v Javascriptu "nasimulovat" PHP foreach
Tedy neřekl bych, že to pro většinu lidí znamená nevýhodu nebo nějakou odpornost, když to samé hledají v jiných jazycích.
-
1. Stupidni C format for cyklu (s "pridanou hodnotou" v tech dolarech pred nazvem promenne).
2. Kdyz uz tam pridali moznost jet pres iterator, vymysleli podobnou odpornost v podobe foreach($a as $b) nebo foreach($a as $b => $c)
1. Jak jinak by měl vypadat?
2. je stejná syntax jako u pole, to je správně
-
1) že například na Stackoverflow se najde hodně lidí, kteří Vám poradí psát dolar i u proměnných v Javascritptu, protože je to podle nich přehlednější
2) a stejně tak najdete na Stackoverflow hodně dotazů v oblasti Javascriptu, a to typu jak v Javascriptu "nasimulovat" PHP foreach
1) neradí to použít jen k odlišení proměnných určitého typu?
-
1. Stupidni C format for cyklu (s "pridanou hodnotou" v tech dolarech pred nazvem promenne).
2. Kdyz uz tam pridali moznost jet pres iterator, vymysleli podobnou odpornost v podobe foreach($a as $b) nebo foreach($a as $b => $c)
1. Jak jinak by měl vypadat?
2. je stejná syntax jako u pole, to je správně
1. Treba jako v Pythonu. Tedy pres iterator a ne pomoci dvou prikazu a jednoho vyrazu jako v C. Vetsina cyklu se nepouziva pro vypis cisel od jednicky do desitky, ale pro prochazeni nejake datove struktury (typicky pole).
2. Nerozumim, ale pokud chces rict, ze to je konzistentni se zbytkem PHP syntaxe, dava mi to smysl. Ten celkovy feel PHP je pro me ale dost zly...
-
1. Stupidni C format for cyklu (s "pridanou hodnotou" v tech dolarech pred nazvem promenne).
2. Kdyz uz tam pridali moznost jet pres iterator, vymysleli podobnou odpornost v podobe foreach($a as $b) nebo foreach($a as $b => $c)
1. Jak jinak by měl vypadat?
2. je stejná syntax jako u pole, to je správně
1. Treba jako v Pythonu. Tedy pres iterator a ne pomoci dvou prikazu a jednoho vyrazu jako v C. Vetsina cyklu se nepouziva pro vypis cisel od jednicky do desitky, ale pro prochazeni nejake datove struktury (typicky pole).
2. Nerozumim, ale pokud chces rict, ze to je konzistentni se zbytkem PHP syntaxe, dava mi to smysl. Ten celkovy feel PHP je pro me ale dost zly...
for v pythonu je stejné jako foreach v php, O žádném podstatném rozdílu nevím. foreach umí navíc iterovat nad klíči a hodnotami, v pythonu musíte použít enumerate, items a podobně
-
for v pythonu je stejné jako foreach v php, O žádném podstatném rozdílu nevím. foreach umí navíc iterovat nad klíči a hodnotami, v pythonu musíte použít enumerate, items a podobně
Jde o to, ze ceckovsky cyklus for () je proste vadny a z principu zbytecny. Nerikam v C, tam dava smysl, ale ve vyssich jazycich nee. V Pythonu ne ze "musim" pouzit enumerate a items, nybrz mam nastroj, ktery mi to umozni, vse je jednoduche a prehledne. Chci iterovat nad klici? Iteruju nad klici. Chci iterovat nad hodnotami? Iteruju nad hodnotami (v PHP to udelam vlastne jak?). Mam iterator, ktery vraci dvojici klic a hodnota, iteruju nad nim. Mam iterator, ktery vraci index a klic? Iteruju nad nim. Chci iterovat nad indexem a klicem a hodnotou? Fajn, udelam to. Mam iterator, ktery vraci petici hodnot? Pouziju ho. Nic moc lepsiho se vymyslet neda. Jednoduchy univerzalni koncept.
Tim za sebe koncim, obhajujete neobhajitelne a hadat se z principu nemam zapotrebi.
-
Jde o to, ze ceckovsky cyklus for () je proste vadny a z principu zbytecny. Nerikam v C, tam dava smysl, ale ve vyssich jazycich nee.
c-ckovský cyklus je tam navíc. Nemusíte ho používat. Často se hodí.
Chci iterovat nad hodnotami? Iteruju nad hodnotami (v PHP to udelam vlastne jak?).
foreach($iterable as $hodnota) {
............
}
-
1) že například na Stackoverflow se najde hodně lidí, kteří Vám poradí psát dolar i u proměnných v Javascritptu, protože je to podle nich přehlednější
Mám za to, že je to trošku jinak. Že se doporučuje používat dolar u proměnné, která obsahuje instanci jquery. Takové to:
var selector = ".class"
var $items = $(selector)
Tedy, ne vždycky.
Jinak souhlasím s tím, že foreach v php je prakticky dokonalej.
-
Python v celé své šíři není jednoduchý jazyk, ale jednoduché věci umožňuje dělat jednoduše, rychle a přehledně a dává dobré návyky pro štábní kulturu a je píměrně univerzální. Jeho největší slabina, která nejvíc omezuje jeho použití - nižší výkon, je pro začátečníky zcela bezpředmětná. Spíš právě naopak, začínajícího programátora učí šetřit zdroji, ale jen když programuje na něčem jako je respberry pi zero.
Nesouhlasím s tvrzením, že důležité je IDE, to je naopak jen další nesmyslná bariéra, čím kompoexnější, tím horší, potřeby začátečníka jsou jiné. Zvláště mě pobavit ten člověk, který si tu pochvaloval, že mu ide generovalo kód, kterému nerozuměl.
Takže já naopak pro začátečníky doporučuji co nejjednoduší textový editor, na úrovni geditu, který odsazuje a zvýrazňuje syntaxi a který se nemusí učit ovládat a umožňuje začátečníkovi se věnovat především podstatě programování. Úplně do začátku si začátečník vystačí jen s interaktivním interpretem pythonu, to je na vyzkoušení a pochopení základů úplně nejlepší.
-
Zrovna Python má s sebou vlastní IDLE, takže po této stránce ani není třeba nic dalšího...