Python jako první jazyk

JardaH

Re:Python jako první jazyk
« Odpověď #30 kdy: 18. 09. 2018, 14:07:55 »
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


JS

Re:Python jako první jazyk
« Odpověď #31 kdy: 18. 09. 2018, 14:24:16 »
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.)

Radovan.

Re:Python jako první jazyk
« Odpověď #32 kdy: 18. 09. 2018, 14:31:32 »
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
Kód: [Vybrat]
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

ZX

Re:Python jako první jazyk
« Odpověď #33 kdy: 18. 09. 2018, 14:48:17 »
Kód: [Vybrat]
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

Pavel Stuhlik

Re:Python jako první jazyk
« Odpověď #34 kdy: 18. 09. 2018, 15:13:41 »
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? :)


Re:Python jako první jazyk
« Odpověď #35 kdy: 18. 09. 2018, 16:46:30 »
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 :-)

anonym

Re:Python jako první jazyk
« Odpověď #36 kdy: 18. 09. 2018, 17:00:41 »
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.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Python jako první jazyk
« Odpověď #37 kdy: 18. 09. 2018, 17:12:46 »
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.
« Poslední změna: 18. 09. 2018, 17:17:37 od gll »

qwertz

Re:Python jako první jazyk
« Odpověď #38 kdy: 18. 09. 2018, 17:22:00 »
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. :(

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Python jako první jazyk
« Odpověď #39 kdy: 18. 09. 2018, 17:34:22 »
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.

genderless

Re:Python jako první jazyk
« Odpověď #40 kdy: 18. 09. 2018, 17:39:54 »
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

Dor

Re:Python jako první jazyk
« Odpověď #41 kdy: 18. 09. 2018, 17:48:55 »
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.

Re:Python jako první jazyk
« Odpověď #42 kdy: 18. 09. 2018, 18:52:28 »
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?
« Poslední změna: 18. 09. 2018, 18:55:01 od uetoyo »

avc

Re:Python jako první jazyk
« Odpověď #43 kdy: 18. 09. 2018, 19:53:51 »
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.

black3r

Re:Python jako první jazyk
« Odpověď #44 kdy: 18. 09. 2018, 20:09:32 »
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...