[23] Jasně, problematiku NP těžkých úloh jsme ve škole brali. Každý syntaktický analyzátor samozřejmě má svoje meze. Ale podle mého názoru mu lze pomoci a dojít tak k velmi dobrým výsledkům. V první fázi to může například zkusit a napsat "tohle psalo nějaké prase, já se v tom nevyznám".
Co se týče C++, tak tam vidím problém v tom, že neobsahuje (pokud se to nezměnilo) konstrukci try-finally. Ta to řeší docela elegantně, ale kód je třeba samozřejmě psát rozumně. A když ne try-finally, tak automatické volání destruktoru by mohlo pomoci.
[27] List v Pythonu je podle mě dost specifická záležitost. Lisp, ML, Scala apod. mají Array a List zvlášť a v mnoha případech ten "klasický" list úplně stačí a je snad i vhodnější. Napadlo mě, že by bylo namísto listu nějakým způsobem použít jeho předka.
[31]Ano, to je otázka, zda použít třídu nebo funkci; já bych byl spíš pro funkci, ikdyž javisti mě za to asi proklejí. C++ každopádně umožňuje využít mechanismus přetěžování, takže myslím, že by bylo možné napsat dvě šablony pro oba případy.