Представляем Python [закрыто]

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

Но в настоящее время один из разработчиков видел свет Django (компания только разработала на PHP), в то время как другой разработчик обеспокоен тем, что введение нового языка (Python) - плохая идея прямо сейчас.

Как они должны подходить к внедрению этой новой технологии? Очевидно, что только один из разработчиков действительно знает Python, не будет никакой избыточности, когда этот разработчик отсутствует или покидает компанию.

Должны ли они потрудиться представить Python или они должны искать решения только для PHP до того времени, когда у команды на самом деле будет более одного Pythonion? Без лидера команды решения должны падать на них.

21.08.2008 11:48:03
8 ОТВЕТОВ
РЕШЕНИЕ

Недавно я представил Python в своей компании, которая занимается консалтингом для почтового отделения. Я сделал это, подождав, пока не появится проект, для которого я буду единственным программистом, а затем получил разрешение сделать этот новый проект на Python. Затем я сделал еще один небольшой проект на Python с такими же впечатляющими результатами. Кроме того, я использовал Python для всех своих небольших одноразовых заданий («можете ли вы проанализировать статистику в этих файлах в CSV-файл, упорядоченный по дате и сайту?» И т. Д.), И у меня было быстрое время выполнения всех их.

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

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

Это сработало очень хорошо. Однако это может несколько отличаться от того, что вы описываете. В моем случае я начал с небольших проектов, а Python используется только для новых проектов. Кроме того, никто из моих коллег не был гуру Perl или PHP; все они знали эти языки и использовали их некоторое время, но им не потребовалось много усилий, чтобы стать более продуктивными в Python, чем они были раньше.

Так что, если вы говорите о новых проектах с людьми, которые в настоящее время используют PHP, но не являются супер-экспертами и не любят этот язык, то я думаю, что переход на Python не представляет никакой сложности. Однако, если вы говорите о работе с большой существующей базой PHP-кода со многими очень опытными программистами PHP, которые довольны своей текущей настройкой, то переключение языков, вероятно, не очень хорошая идея. Вы, вероятно, где-то посередине, так что вам придется взвесить компромиссы; надеюсь, мой ответ поможет вам сделать это.

14
8.09.2008 01:33:20

Ну, python - это язык высокого уровня ... его не сложно выучить, и если у ребят уже есть знания по программированию, его будет намного легче выучить .. мне нравится django .. я думаю, что это должна быть хорошая попытка использовать django ..

0
21.08.2008 11:53:38

Если мандат нового лидера состоит в том, чтобы привести дом в порядок, текущая ситуация, вероятно, должна быть максимально упрощена до этого. Если бы мне приходилось приводить вещи в порядок, я бы не хотел управлять текущим проектом по преобразованию языка поверх всего остального, или, по крайней мере, я хотел бы иметь какой-то выбор при запуске проекта. При вынесении рекомендации вы задумывались о дополнительной сложности управления, которая может возникнуть в процессе конверсии?

4
31.08.2008 15:13:58

Я не думаю, что это вопрос языка программирования как такового.

Каков уровень владения PHP в команде, о которой вы говорите? Они делают код спагетти или используют какой-то структурированный фреймворк, такой как Zend? Если это первый случай, тогда я абсолютно понимаю интерес парня к Python и Django. Это последнее, просто ажиотаж.

0
21.08.2008 12:03:43

@darkdog:

Использование нового языка в производственном коде - это больше, чем простой синтаксис и высокоуровневые возможности. Вы хотите быть знакомыми с основными API-интерфейсами и чувствовать, что можете что-то исправить с помощью логики, а не прочесывать документацию.

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

Если вы действительно, действительно, очень хотели бы представить Python, подумайте о написании некоторых расширений или утилит в обычном Python или в фреймворке. Вы не будете расстраивать свои основные инициативы, так что это будет возможность с низким уровнем риска / без риска доказать преимущества коммутатора.

2
21.08.2008 12:09:46

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

Из того, что я видел, фреймворк Django также отлично подходит для веб-разработки, предлагая то же повышение производительности, что и Rails.

Настоящая проблема - на уровне обслуживания и управления.

Как этот шаг фрагментирует обслуживание между кодом PHP и Python. Есть ли необходимость в переносе существующего кода с одной платформы на другую? Какие проблемы примут Python и Django, которые вы решите в своем текущем рабочем процессе разработки и фреймворках и т. Д.

1
21.08.2008 12:13:51

Я люблю Python и Django, и использую оба для разработки наших основных веб-приложений.

Тем не менее, трудно сделать экономическое обоснование для переключения на данный момент. В частности:

  • Любая новая платформа рискованна по сравнению с тем, чтобы остаться с проверенной и верной
  • Вы будете иметь фрагментацию разработчика, которую вы упомянули
  • Гораздо проще найти программистов на PHP, чем программистов на Python

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

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

В заключение: я не рекомендую переходить с PHP, но я рекомендую учесть интересы разработчика на работе.

0
21.08.2008 13:47:40

Это действительно все о графиках. Для меня перерыв должен быть с конкретным проектом. Если вы решили, что вашим направлением является Django, начните с этого новые проекты. Перед тем, как начать новый проект с новым языком / структурой, убедитесь, что у вас есть запланированное время для ускорения работы в этом новом направлении, или ускорение перед использованием в новых проектах.

Я бы не стал использовать инструмент месяца. Убедитесь, что вы хотите, чтобы это было вашим направлением, и выделите немного времени / ресурсов на обучение, чтобы принять правильное решение.

1
21.08.2008 13:57:41