Původně jsem nechtěl do tohoto flamewaru vstupovat. Namísto rad přišly naivní názory javistů, kteří nikdy žádný větší program v Pythonu zřejmě neviděli. Pak je tady pár kritiků poučenějších, jako Radek Miček a Čumil, všechny jejich námitky jsou do jisté míry relevantní, ale nakonec je celý spor v tom, že Python není Java, Scala nebo třeba Haskell. To všichni víme, každý pythonista bez klapek na očích ví, kde jsou přednosti a slabiny jazyka.
Hlavní výhoda Pythonu je ve filosofii "batteries included", snaze o udržení "správné cesty" (deklarace víry, že existuje něco jako správný/nejlepší způsob, jak něco napsat) a v neposlední řadě i v relativně vysoké flexibilitě samotného jazyka. Python je jazyk, který se vyvíjí a handicapy, které jistě má (i mně by se líbilo, kdyby byl více podobný právě Haskellu), poměrně úspěšně řeší (třeba to zmiňované mypy nebo nové typy kolekcí, asyncio apod.). Problémy s rychlostí (jsou-li) řeší FFI, v budoucnu zřejmě čím dál častěji JIT, v klasickém CPythonu je ale holt třeba spoléhat na nízkoúrovňové jazyky.
Takže k věci - pokud chce někdo psát v Pythonu, poradím:
1. Začít s Pythonem 3, dvojku vůbec v pozici začátečníka neuvažovat. Dvojka je umírající platforma a bez ohledu na to, co si kdo myslí o rozhodnutích o změnách 2->3, rozhodnutí prostě padla.
2. Psát kód pořádně, pokud možno od začátku. Na hraní je ipython, jupyter a krátké testovací skriptíky, seriózní projekty mají být psány seriózně, nezanedbávat dokumentaci, vždy mít jasno v tom, co daná metoda/funkce přijímá a vrací a kde končí její pravomoc. To samozřejmě platí o všech jazycích, ale ty dynamické k nekázni svádějí možná o něco více.
3. Nevymýšlet za každou cenu kolo, ale spoléhat se pouze na prověřené a dobře napsané knihovny. Primárně používat standardní knihovnu, v případě potřeby knihovny třetích stran, ale s rozvahou.
4. Snažit se moc nekouzlit, nedělat chytrého, nesnažit se ušetřit pár řádků kódu na úkor čitelnosti, nezakládat si na tom, že umím používat všechny nuance jazyka až nadoraz, když to není potřeba.
S těmito zásadami a v případě týmové práce s rozumným vedením lze v Pythonu rychle a s potěšením napsat hodně rozsáhlé a udržovatelné programy. Python je stabilní platforma s kvalitní dokumentací, dobrou komunitou a spoustou užitečných rad na webu. Samozřejmě existují alternativy, jako třeba Ruby, mně osobně Python sedí více, ale není to jediná možnost. Důrazně doporučuji to s ním alespoň zkusit, i v případě, že se někdo rozhodne pro jiný primární programovací jazyk.