PHP не плохой язык (или, по крайней мере, не такой плохой, как некоторые могут предположить). У меня были учителя, которые даже не знали, что PHP является объектно-ориентированным, пока я им не сказал. У меня были клиенты, которые сразу же не доверяют нам, когда мы говорим, что мы разработчики PHP, и спрашивают нас за то, что мы не используем шикарные языки и фреймворки, такие как Django или RoR, или «корпоративные и солидные» языки, такие как Java и ASP.NET.
Facebook построен на PHP. Есть множество надежных проектов, которые приводят в действие сеть, таких как Joomla и Drupal, которые используются на предприятии и в правительстве. Существуют фреймворки и библиотеки, которые имеют одни из лучших архитектур, которые я видел на всех языках (Symfony 2, Doctrine). PHP имеет лучшую документацию, которую я видел, и большое сообщество профессионалов.
PHP имеет расширенные функции OO, такие как отражение, интерфейсы, не говоря уже о том, что PHP теперь поддерживает горизонтальное повторное использование изначально и чисто через черты .
Есть плохие программисты и сценаристы, которые дают PHP плохую репутацию, но в то же время приводят в движение сообщество PHP, и, поскольку сделать PHP так легко, вы можете делать что-то не так, как следует, но зачем обвинять язык ?.
Теперь, чтобы свести это к актуальному ответу на вопрос: что было бы хорошим, солидным, коротким и приятным аргументом, чтобы не быть осуждаемым и прекратить предрассудки одним махом и защитить свою честь, когда вы говорите, что вы - разработчик PHP? ,
(бесплатное печенье со взбитыми сливками для тех, у кого есть эмпирические доказательства убеждения кого-либо - клиента или другого - на месте)
PS: мы используем Symfony , и код заканчивается красивым и понятным
PPS: Facebook будет написан на PHP, компилируется в C ++ с помощью HipHop и развернут на Hadoop. Здесь: http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/1/
источник
Ответы:
Единственный ответ, который у меня есть, таков: все отстой.
Вы можете найти тонны аргументов против того, что ООП является хорошим (быстрый поиск покажет их) по сравнению с функциональным или процедурным программированием. Вы, кажется, указываете, что поддержка OO в PHP защищает его.
Google пустое отстой, и вы найдете результаты для чего угодно. Питон отстой . Руби отстой . Рельсы отстой . PHP отстой . Ява отстой .
Вы хотите знать, что действительно отстой? Программисты. Программисты отстой. Любой хороший разработчик должен иметь возможность создавать удивительные приложения, интерфейс и бэкэнд, независимо от языка - даже если они не были знакомы с языком! (То есть хороший программист должен уметь эффективно изучать любой язык и работать с ним).
Также обратите внимание, что успех приложения не имеет ничего общего с его кодом. Я слышал, что код Facebook ужасен, но, по богу, он эффективен. То же самое, вероятно, верно и для Викимедиа (Википедия построена на PHP и также является чрезвычайно популярным веб-сайтом). Что действительно важно, так это результаты!
PHP - это язык, с которым я лично наиболее знаком. Я буду защищать его до смерти. Я работал с PHP-фреймворками, прямым PHP-кодом и PHP, python и ruby (и даже Java) для веб-разработки. Я не могу сказать, что одно особенно лучше другого. Что важнее, так это разработчики и алгоритмы. Я видел удивительно хороший и совершенно ужасный код на многих языках (особенно на PHP, так как я так много знаком с ним).
Теперь на ваш вопрос: это зависит от того, с кем вы имеете дело
Бизнесмены
Они заботятся в основном о результатах и экономической эффективности. Факта, что очень успешные Facebook, Wikipedia и Wordpress используют PHP, должно быть более чем достаточно, чтобы убедить их в том, что это эффективный язык для создания успешных приложений.
Программисты
Пусть ваш код говорит сам за себя. Если разработчик говорит, что PHP каким-то образом уступает, покажите им некоторый код PHP, который вы считаете эффективным. Доказательство пудинга в еде.
источник
success of an application has nothing to do with its code
<- Верно. Но когда люди говорят, что «PHP - это плохой язык», они не имеют в виду «приложения, написанные на PHP, плохие», скорее, они имеют в виду «приложения, написанные на PHP, зачастую неинтересны из-за спагетти кода». Конечно, на PHP написаны отличные приложения. Но я не думаю, что этот ответ касается того, что имеют в виду программисты, когда они называют PHP «плохим».У PHP грязная история. Гораздо лучше сейчас, когда это было совсем недавно, но было время, очень долгое время, когда поощрялось множество плохих практик и шаблонов, и их было трудно избежать. Существует целое поколение ужасного PHP-кода, который все еще работает, и в той степени, в которой новые программисты учатся, читая старый код, они изучают плохое поведение. PHP, возможно, не заслуживает своей черной репутации, но, тем не менее, он это заслужил.
Лучше всего защищать PHP - тщательно дистанцироваться и отличать текущее состояние искусства от истории, с которой все знакомы. Вы можете сказать, что PHP не является ужасным языком, но если вы разговариваете с кем-то, кто был в этой отрасли в течение ряда лет, его память говорит им об обратном.
Покажите им, как команда PHP извлекла уроки из своих ошибок и изменила язык в лучшую сторону. Прошли времена волшебных кавычек и регистра глобалов. Ушли в прошлое глобальная парадигма, безопасный режим и mysql_escape_string. Объясните им, что настоящие программисты PHP всегда используют пространства имен и параметризованные запросы, они избегают устаревших функций и всегда размещают код своей библиотеки вне корня документа.
PHP изменился, и программисты PHP изменились. Вот почему PHP - замечательная платформа, которой она является сегодня. Кроме того, это единственная платформа, которую, как вы знаете, предустановят ваши клиенты. Это огромно.
В качестве примечания я бы рекомендовал не ссылаться на существующие движки и фреймворки CMS как на большую победу для PHP. Вы рискуете, что они указывают на такие вещи, как исследование безопасности Websense, проведенное 4 дня назад и показавшее, что 94% недавних заражений веб-сайтов были связаны с сайтами PHP, работающими с такими программами, как Joomla и Wordpress. Это не та компания, которую вы хотите видеть в. Вместо этого отметьте, что ваш код будет намного более безопасным, чем все остальные вещи.
источник
PHP - это кобол сети. Оба языка не пользуются уважением, однако многие люди зарабатывают на жизнь, создавая и поддерживая системы, написанные на них, и они присутствуют в объеме почти во всех основных компьютерных системах своего родного мира ( то есть в Интернете и коммерческом бизнесе соответственно). Оба языка смотрят свысока на практиков других, более популярных языков, в значительной степени основанных на старых и устаревших привычках, которыми пользуются программисты, которые с тех пор учились лучше и совершенствовали свои инструменты.
PHP должен быть настолько счастлив, что он живет жизнью COBOL. COBOL существует дольше, чем что-либо, кроме FORTRAN, и в ближайшее время не исчезнет. В повседневном использовании существует множество программ на языке COBOL, которые старше тех, кто их обслуживает. Это может быть не «новая горячка», но всегда будут деньги, которые можно заработать, работая с ними.
источник
Я думаю, что это также может быть полезно, чтобы понять другую сторону медали и признать недостатки PHP. В то время как PHP значительно продвинулся от языка шаблонов, есть еще много вещей, которые можно улучшить. Есть некоторые моменты, в которых PHP по-прежнему отсутствует: Юникод, функциональные возможности, организация стандартной библиотеки
array
и т. Д.Я предлагаю следующее: чтобы конструктивно обсудить сильные и слабые стороны PHP, было бы хорошо признать все это. «Да, я знаю, что стандартная библиотека PHP не очень организована. Но если бы она была написана сегодня, она могла бы использовать пространства имен и объектно-ориентированные API». «Да, я знаю, что массив по умолчанию создает небольшую путаницу, смешивая структуры словаря и массива. Но если кому-то нужны более совершенные коллекции, можно использовать SPL».
Ваша точка зрения станет сильнее, если вы покажете, что знаете, что аргументы других людей имеют какую-то причину.
источник
Почему?
Любой, кто заставляет вас чувствовать, что вы должны защищать себя (будь то карьера, супруг, привычки тратить и т. Д.), Тратит свое время впустую. Вы тратите время на то, чтобы защитить себя, просто унижаете не тех людей - теперь вы тратите впустую как свое, так и их время.
Вычеркните этих людей из своей жизни - вам лучше без них.
источник
Нет коротких и приятных однострочных текстов, которые вы можете использовать, чтобы убедить людей в достоинстве PHP и его разработчиков, но вы написали очень убедительный аргумент прямо перед тем, как задать вопрос.
источник
Чтобы ответить на вопрос «PHP - это плохой язык», вы должны выяснить, почему данный человек считает, что это плохой язык. Возможно, он работал над плохим проектом, написанным на PHP. Может быть, он просто не любит ставить перед ними переменные
$
. Может быть, они сами попытались использовать язык и написали неразрешимый беспорядок. Многие программисты из других языков программирования видят PHP и видят беспорядок, потому что то, что имеет смысл в PHP, на самом деле не имеет смысла на другом языке или на других платформах. Например, в PHP массивы являются «клейкой лентой вселенной» и используются для выполнения практически чего угодно, тогда как в других языках программирования такая вещь была бы абсурдной.Я бы предложил комбинацию ответов здесь.
create_function
. Прошли джунгли вызоваinclude
вручную везде.free
, и все "OO-иш", но время выполнения велико, и OO может быть ограничением. C ++? Позволяет создавать типы, которые ведут себя точно так же, как примитивные типы (например, int) в языке, но это сопряжено с большими сложностями. PHP? Позволяет действительно легко начать работу без особых знаний в области программирования, но в результате в Интернете появляется много и много мусорного кода.Там есть место для каждого языка. Выбирайте язык в соответствии с имеющейся проблемой, не пытайтесь вводить предпочтительный язык в места, где он не принадлежит.
источник