Řešil jsem před časem obdobný problém a dospěl jsem ke stejnému závěru. Dvanáctiletý (tehdy) syn již dva roky úspěšně programoval ve Scratchi a nastal čas se posunout dále. Vzpomněl jsem si, jak bylo pro mě snadné začít programovat na konci osmdesátých let, když osmibitové počítače měly Basic. Ten jazyk sice nebyl ani objektový, ani hezký, byl základní, ale byl prostě stvořen na to, aby se v něm snadno a přímočaře řešil problém a ne aby se vymýšlel objektový model a podobně. Pro začátečníka je toto strašně důležité!
A tak když jsem řešil, k jakému programovacímu jazyku syna posunout od Scratche, zhrozil jsem se ze všeho toho balastu, který je zapotřebí řešit u C++, Javy a dalších dnešních jazyků. A uvědomil jsem si, že tím syna spíše odradím. To nebude správná volba. Vzpomněl jsem si taky na to, jak se za mého mládí na školách jako výukový jazyk používal Pascal, ale i ten rychle jsem ho zavrhl, kvůli dnes již malému rozšíření.
Nakonec jsem skončil právě u Pythonu. Vlastně jsem o něm nic nevěděl, sám jsem ho ještě neznal, jen jsem na něj dostal tip od známého. Ano, to je přesně ono. Jednoduché skriptování, ale na výuku programátorského myšlení je to to pravé oříškové. Člověk se může soustředit na problém samotný a to je důležité. A když později na učící křivce nastane vhodný čas, není problém přidat objekty, výjimky atd.
Dnes již syn rok a půl v Pythonu programuje, účastní se i nějakých soutěží a byla to správná volba. Rozhodně doporučuji.
Bohužel jsem pak nahlédl do studijního plánu informatiky na dvou gymnáziích v mém okolí, v jednom dělají C#, což je přesně ten objektový balast, kterému jsem se chtěl pro začátky programování vyhnout; a v druhém HTML ve spojení s JavaScriptem, což asi taky není na základy algoritmizace to nejlepší. Tak to je.
C++ a C# jsou balasty a to dost hrozivé.
C samo o sobě není ani čistý strukturální jazyk, ale je někde napůl cesty mezi asemblerem a procedurálním.
A když se do toho "doplácají" objekty, tak je pak z toho ta hrůza, která je.
Proto taky vznikla JAVA a proto se tak rozšířila - protože náklady na vývoj a údržbu větších programů v tomhle céčku kombinovaném s objekty jdou jednoduše do astronomických čísel...