В настоящее время я работаю над большим приложением Django, и на своей предыдущей работе я работал над большим Java-проектом (настольное приложение, а не веб, но все еще уместно для этого обсуждения), и я как бы разрываюсь между согласием и несогласиемс автором.
Хотя я наслаждаюсь Python поверх Java и имею большой опыт работы с другими динамически типизированными языками, такими как Ruby и Objective-C, я все еще не уверен в том, что лучше (статический или динамический).Иногда в Python-land я думаю, что было бы лучше иметь статические типы и компилятор для предотвращения некоторых ошибок;Мне не нравится модель типов Java, но в Scala есть приличная система типов, которая не мешает, но предотвращает множество ошибок.
Тем не менее, я думаю, что успехи / неудачи использования Python илиJava больше связана с опытом и опытом команды.Я чувствую, что эта статья была бы лучше озаглавлена «Отклонение от Java заставляет меня нервничать», так как автор, кажется, в основном говорит: «У меня есть опыт работы с Java. Я не понимаю / имею опыт работы с Python. Таким образом, яудобнее писать код Java. "Я думаю, что опытные разработчики Python учатся работать с большинством «проблем», которые он воспринимает;Python не является Java и требует другого подхода к программированию.
Мне также пришлось немного посмеяться в этой строке:
Java имеет хорошо продуманную иерархию проверенных и исполняемых исключений.
Я думаю, что большинство согласится с тем, что иерархия исключений в Java в лучшем случае сбивает с толку, и что проверенные исключения были полезным, но неудачным экспериментом, который на самом деле не делает код более надежным (я полагаю, они делают если используется правильно , но сколько Java-программистов правильно использует исключения ?).