Филип Эбу (Philipp Ebu) анализирует принципиальные отличия двух языков
програмимрования на примере GUI-приложения, написанного на wxPython
разработчиками, прежде работавшими в основном с Java.
"Просмотрев код, я обнаружил что они сделали множество вещей, которые
имеют смысл в Java, но абсолютно не подходят для Python. Не потому что
Python медленнее чем Java, а потому что существуют намного более простые
способы достижения тех же целей. К сожалению, эти ребята тяжело работали
чтобы написать намного более объемный код, чем можно было бы, который
к тому же работает значительно медленнее по сравнению с идеологически
верным подходом"
Вот несколько примеров некорректного переноса популярных идиом java:
- статическим методам соответствуют не методы класса, а функции класса
- эффектифным аналогом конструкции switch является хеш (dict), а не цепочка if/elif
- в python нет нужды прибегать к использованию XML, кроме как для внешнего взаимодействия
- за очень редким исключением, многократного повторения части кода с незначительными
вариациями можно легко избежать, без потерь производительности.