Это слишком субъективно. Если под «хорошими практиками программирования» вы подразумеваете последовательные отступы, то, конечно, Python работает для этого. Но отступы - это то, что большинство программистов узнают в первый раз, когда пишут программу. Я думаю, что хорошее программирование выходит далеко за рамки этого.
С годами представление о том, что такое хорошая практика программирования, изменилось. Python, кроме вещей с отступами, не особо выделяется ни в одной категории. Это не самый объектно-ориентированный язык, и при этом он (пока) не предлагает полную поддержку функционального программирования.
Вот некоторые возможные определения хороших методов программирования и репрезентативный язык для каждого:
- Чистый объектно-ориентированный дизайн:
SmallTalk был первым настоящим ОО-языком, а в некоторых отношениях все еще самым чистым. Буквально все это класс.
- Прагматичный объектно-ориентированный дизайн:
Java, для всех ее недоброжелателей, был огромным шагом вперед с точки зрения поощрения хороших методов программирования. Он строго типизирован, почти все являются классами, и в определенной степени он требует самодокументируемого проектирования классов (путем явного перечисления сгенерированных исключений, делая функции закрытыми по умолчанию и т. Д.). Java применяет дисциплины, полезные для больших групп разработчиков. .
- Функциональное программирование
Хаскель часто называют самым функциональным языком. Назначение вербено, и побочные эффекты невозможны, если ваша функция явно не запрашивает их.
- надежный параллелизм
Erlang (еще один язык, который поощряет парадигму функционального программирования) известен своей надежностью в параллельной среде. Никогда не изучая и не используя его, я не могу лично за это ручаться, но его послужной список кажется впечатляющим.
- Итеративная разработка
Есть тонна евангелистов Лиспа там. Они не могут все ошибаться, не так ли?
- Quick 'n' dirty
Иногда вам просто нужно сделать скрипт быстро. Спасибо, Perl. ;)