Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

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

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

Другие советы

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

@darkdog:

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

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

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

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

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

Реальная проблема находится на уровне обслуживания и управления.

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

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

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

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

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

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

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

Тем не менее, на данном этапе сложно обосновать переход.Конкретно:

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top