> >> Na některých školách prosazují pro úvodní kurzy Python, ale já se
> >> domnívám, že to, že v jazyku napíšete jednodušší Hello World a
> >> snadněji v něm inicializujete seznam, z něj ještě nedělá vhodnější
> >> jazyk pro výuku.
> 
> Spíše než o jednoduchosti jazyka je to o úrovni abstrakce. Tj. jakou zvolit
> úroveň abstrakce pro výuku programování. Začínat s nízkoúrovňovými jazyky
> (např. C) nebo zvolit něco s vyšší úrovní abstrakce (např. Python)?

Ano, abstrakcí se zastánci Pythonu ohánějí. 
Jenomže pak učí algoritmizaci. 
Když se ale budeme snažit učit od počátku také základy architektury, 
tak se rozdíl mezi jazyky výrazně sníží 
a navíc při používání Pythonu přijdeme o všechny nástroje, 
které nám umožňovaly se na té hladině vyšší abstrakce pohybovat, 
ale jsou vyvinuté jenom pro Javu.

Problémy statického versus dynamického typování přichází na řadu až jako třetí.
V první etapě si musí studen ujasnit účastníky, tj. datové typy,
v druhé etapě jejich schopnosti, tj. jaké budou mít definované metody,
a až ve třetí etapě může dojít na oblast, o které zástupci toho či onoho jazyka 
tvrdí,
že je v ní daný jazyk lepší než jeho konkurenti.

Python se sice honosí násobnou dědičností, 
Kterou bychom mohli zařadit do oné prvé etapy,
jenomže zrovna dědičnost se snažíme učit co nejpozději,
aby studenti měli dost času se naučit a zažít, 
jak se dají různé věci řešit elegantněji než dědičností,
aby pak netlačili dědičnost někam, kam nepatří.

Odpovedet emailem