Работает ли Python в больших командах? - PullRequest
6 голосов
/ 08 июня 2010

Я прочитал эту запись прошлой ночью, и это заставило меня задуматься.Мне нравится питон и "батареи", пипи и тому подобное.Но я только сделал Python соло.Никогда не пробовал это в команде.

Точки, которые упоминает Тед, действительны?Если они, как команды справляются с ними?Работает ли Python в командах или даже в больших командах?Или это убивает производительность?

Я лично вижу проблемы, о которых он упоминает, когда возвращаюсь к своему старому коду.Даже при работе с другими модулями иногда мне нужно заглянуть внутрь.Я хотел бы услышать людей с опытом в этом.

Ответы [ 4 ]

13 голосов
/ 08 июня 2010

Python отлично работает в командах. То, работает ли язык в больших группах, во многом зависит от того, насколько хорошо команда работает вместе, и имеет мало общего с языком.

7 голосов
/ 08 июня 2010

В настоящее время я работаю над большим приложением Django, и на своей предыдущей работе я работал над большим Java-проектом (настольное приложение, а не веб, но все еще уместно для этого обсуждения), и я как бы разрываюсь между согласием и несогласиемс автором.

Хотя я наслаждаюсь Python поверх Java и имею большой опыт работы с другими динамически типизированными языками, такими как Ruby и Objective-C, я все еще не уверен в том, что лучше (статический или динамический).Иногда в Python-land я думаю, что было бы лучше иметь статические типы и компилятор для предотвращения некоторых ошибок;Мне не нравится модель типов Java, но в Scala есть приличная система типов, которая не мешает, но предотвращает множество ошибок.

Тем не менее, я думаю, что успехи / неудачи использования Python илиJava больше связана с опытом и опытом команды.Я чувствую, что эта статья была бы лучше озаглавлена ​​«Отклонение от Java заставляет меня нервничать», так как автор, кажется, в основном говорит: «У меня есть опыт работы с Java. Я не понимаю / имею опыт работы с Python. Таким образом, яудобнее писать код Java. "Я думаю, что опытные разработчики Python учатся работать с большинством «проблем», которые он воспринимает;Python не является Java и требует другого подхода к программированию.

Мне также пришлось немного посмеяться в этой строке:

Java имеет хорошо продуманную иерархию проверенных и исполняемых исключений.

Я думаю, что большинство согласится с тем, что иерархия исключений в Java в лучшем случае сбивает с толку, и что проверенные исключения были полезным, но неудачным экспериментом, который на самом деле не делает код более надежным (я полагаю, они делают если используется правильно , но сколько Java-программистов правильно использует исключения ?).

1 голос
/ 09 июня 2010

Я работал над командами, использующими Java, и в настоящее время я работаю над командой, использующей Python. Учитывая все вышесказанное, я бы сказал, что код Python гораздо более точен и намного проще для понимания, чем код Java, созданный другими моими командами. Целая мантра «Должен быть один - и желательно только один - очевидный способ сделать это» очень помогает.

Я согласен с мнением автора о PyDev ... моя команда использовала PyCharm в течение последних нескольких месяцев, и это было УДИВИТЕЛЬНО !!!

Авторская точка зрения на исключения Python, на мой взгляд, не очень хорошая. В мире Java большинство проверенных исключений (исключения, которые перечислены после ключевого слова throws в определениях методов) обычно просто перехватываются и повторно генерируются как исключения во время выполнения. Широко распространено мнение, что Java даже не должна была проверять исключения и вместо этого использовать систему исключений, более близкую к той, что есть в настоящее время в Python. См. Эту статью для получения дополнительной информации о проверенных исключениях Java. .

В целом, я думаю, что работая в команде с Python против Java, я предпочитаю Python. Я работал в командах, занимающихся Java, в течение 6 лет, и в команде, работающей на Python, в течение 6 месяцев, и я увидел некоторые огромные преимущества в производительности благодаря чистому читаемому синтаксису Python.

0 голосов
/ 08 июня 2010

Действительно, Python работает в больших командах, но если вы сравниваете его с другими языками, он определенно имеет недостатки.С одной стороны, есть больше инструментов, связанных с командой для таких вещей, как C # и Java.Я работал в Eclipse над большими проектами как на Python, так и на Java, и в Java лучше работала групповая интеграция, в частности, генерация документов и автоматическое форматирование.

Но одна вещь, которая мне действительно понравилась в работе над большимиПроект Python был удобочитаем.В Java я гораздо чаще собирался писать кодам, чтобы они объяснили код, но Python было легче понять.Конечно, это также может быть связано с тем, как были закодированы два проекта, кто их кодировал, и моими способностями на двух языках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...