PHP-разработчики, перешедшие на Python, лучше ли опыт?

Я планирую перейти на Python, и у меня есть еще несколько вопросов вместе с заголовком:

  • У вас было больше удовольствия от python?
  • Вы так же продуктивны, как при использовании PHP?
  • что заставило вас перейти на python?
  • Вы бы снова сделали проект на PHP? Если да, то почему?

Ваши ответы действительно будут полезны для нас, PHP-разработчики, желающие чего-то большего, я думаю:)

Спасибо заранее!

Ответы

Ответ 1

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

  • Определенно. Я постоянно нахожу удивительно мощные функции/выражения в Python, которые делают многое в небольшом количестве кода (но все же более читабельны, чем Perl).
  • Намного продуктивнее. Это может быть только мой стиль, но инструменты функционального программирования Python, выражения генератора, понимание списков и т.д. Позволяют мне правильно выполнять задачи с меньшим количеством кода и меньше времени, чем PHP.
  • У меня был проект аналитики, которому нужен мощный пакет статистики, поэтому я пошел с Python + numpy. Затем я нашел Turbogears и полюбил синтаксис. В конце концов я обнаружил сопрограммы и совместную многозадачность, и там не вернулось. Я использую bottle, gevent и gunicorn, чтобы быстро и быстро масштабировать веб-приложения в рекордные сроки.
  • Не, если бы я мог помочь. PHP verbose "все это длинный названный вызов функции" синтаксис просто трудно на моих глазах в этот момент. Мне также сложно оптимизировать (каждая загрузка страницы переинтерпретирует исходный код в конфигурации по умолчанию).

Вот несколько из них, которые нужно знать:

  • Для дешевых сайтов с низким трафиком гораздо сложнее найти веб-хост с хорошей средой python.
  • Apache не является типичной настройкой для Python в моем опыте. Веб-приложения Python обычно представляют собой демоны, которые подвергаются публике с обратным прокси-сервером спереди (nginx очень распространен). Ряд корпоративных окружений перестают появляться в новых технологиях, таких как nginx. Это также требует некоторой корректировки, чтобы думать о ваших веб-папках как демонах, и сначала может потребоваться некоторое время, чтобы ваш демонанизм был правильным и последовательным.
  • Если вы используете mysql, у вас будет некоторое переключение боли на некоторое время. Там просто нет библиотеки mysql Python, которая очень совместима с запросами mysql в стиле PHP. Например, большинство из них не используют простые "?" синтаксис для параметризованных запросов, поэтому вы не можете просто вставлять свои запросы (вы должны использовать printf-style "% s" и т.д.). Кроме того, только тот факт, что вам действительно нужно выбрать и установить библиотеку mysql, является дополнительным шагом над PHP. Это больше не беспокоит меня, так как я больше не использую mysql.

Это широкая тема с гораздо большим количеством слов, но я надеюсь, что это было полезно.

Ответ 2

Я постараюсь как можно лучше ответить на ваши вопросы:

  • У вас было больше удовольствия от python?

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

Мне также нравятся все трюки python, чтобы сделать некоторые очень элегантные вещи в одной строке кода, такие как списки и библиотека itertools.

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

Я также нахожу unicode гораздо менее неприятным с python, особенно с python 3k.

  1. Вы так же продуктивны, как при использовании PHP?

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

  1. что заставило вас перейти на python?

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

  1. Вы бы снова сделали проект на PHP? Если да, то почему?

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

Ответ 3

Я запускаю саморазвитый частный социальный сайт для более 100 пользователей. Python был абсолютно фантастичен для создания и управления этим.

  • У вас было больше удовольствия от python?

Наиболее определенно.

  1. Вы так же продуктивны, как при использовании PHP?

В основном да. Стиль кодирования Python, по крайней мере для меня, намного быстрее и проще. Но python иногда не хватает встроенных библиотек и документации по PHP. (Но PHP в этом вопросе не имеет себе равных). Также требуется немного больше, чтобы работать под apache.

  1. что заставило вас перейти на python?

Легче управлять кодом и более быстрой разработкой (хорошая поддержка IDE там, я использую WingIDE для python), а также улучшать свои навыки python, когда я переключаюсь на проекты, не основанные на веб-интерфейсах.

  1. Вы бы снова сделали проект на PHP? Если да, то почему?

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

Ответ 4

  • да
  • да
  • любопытство, поиск лучших языков и т.д. (на самом деле, я узнал их несколько параллельно много лет назад).
  • да, если проект требует явно

Отказ от ответственности: я никогда не переходил с php.

Ответ 5

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

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

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

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

Я все еще делаю проекты PHP. Это мой лучший язык. И ИМХО это лучше, чем Python в некоторых веб-задачах (например, сайты с высоким трафиком). PHP имеет встроенный многопоточный прослушиватель FastCGI. Python вам нужно найти один (есть куча там). Но в моих тестах Python никогда не мог приблизиться так же быстро, как PHP с FastCGI (лучший результат Py был на 25% медленнее, чем PHP. Самое худшее - несколько раз в разное время, в зависимости от библиотеки FCGI). Но это основано на моем опыте (что, по общему признанию, мало). Я знаю PHP, поэтому я чувствую себя более комфортно, делая большой сайт, чем я бы PY...

Ответ 6

В прошлом году я переключил работу, чтобы уйти от PHP и работать на Python. Я очень доволен решением, которое я принял:)

Чтобы ответить на отдельные вопросы:

  • У вас было больше удовольствия от python?

Да!

  1. Вы так же продуктивны, как при использовании PHP?

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

  1. что заставило вас перейти на python?

Ожидается, что вы не будете использовать все профессии, не связанные с PHP. (Photoshop/Web Design/Flash требуется для многих PHP-заданий, и я ненавижу Flash). И мне очень понравился Python/Django.

4. Would you do a project again in PHP? If so, why?

Если это небольшой материал, который лучше сделать без каких-либо фреймворков, тогда да.

Ответ 7

Я никогда не работал с PHP (ничего серьезного) и не пришел из мира .NET. Проект, который я сейчас выполняю, требует много работы на Python, и я должен сказать, что мне это нравится. Очень легкий и "классный" язык, т.е. FUN!

.NET всегда будет моей женой, но Python - моя любовница;)

Ответ 8

  • У вас было больше удовольствия от python?

Да. Лот больше.

  1. Вы так же продуктивны, как при использовании PHP?

Нет. Я думаю больше.

  1. что заставило вас перейти на python?

Джанго.

  1. Вы бы снова сделали проект на PHP? Если да, то почему?

Только если это необходимо.