PHP

Материал из Lurkmore
Перейти к навигации Перейти к поиску

I see what you did there.

Информация в данной статье приведена по состоянию на неизвестно когда. Возможно, она уже безнадёжно устарела и заинтересует только слоупоков.

НЕНАВИСТЬ!

Данный текст содержит зашкаливающее количество НЕНАВИСТИ.
Мы настоятельно рекомендуем убрать от мониторов людей, животных со слабой психикой, кормящих женщин и детей.

Внимание! Статья-детектор!

Одним из побочных эффектов от прочтения этой статьи является так называемый butthurt.
Если вы начнёте ощущать боль в нижней части спины, следует немедленно прекратить дальнейшее чтение и смириться с фактом, что вы — похапэшник.

Программист на Фортране может написать программу на Фортране на любом языке программирования.
Если вы заметили, что вы на стороне большинства, это верный признак того, что пора меняться.

Марк Твен

Заправлять принтеры или писать на php? А каким видишь ад ты, $USERNAME?
Целевая аудитория.

PHP (ПХП, похапэ, пэхэпэ, пиашпи, пихапи, пых-пых, ПХПня пышп, ПиЭйчПи, рнр) — один из немногих языков программирования, владея которым, можно заработать себе на хлеб $ало и воду. Пых как язык подвергается критике за узкую специализацию (полностью заточен под веб), расово-неполноценный синтаксис и ебанутую реализацию ООП. Язык сам по себе прост в изучении, так что на рынке полно низкоквалифицированных индусов, предоставляющих свои услуги, а также скрипт-кидисов. В рунете примерно 95% сайтов написаны или работают на Пыхе, но несмотря на это он был и остаётся примером феерического пиздеца и это факт, с которым трудно поспорить.

Исторически является ересью от православного языка Perl. За его создание проклят и предан анафеме некто Расмус Лердорф — царь и бох Пыха. Его ждут невыносимые муки, страшный суд, вечный ад и погибель.

На самом деле

  • На самом деле, PHP имеет такую репутацию не из-за того, что он PHP, а из-за быдлокодеров, которые на нём пишут.
  • На самом деле, PHP немного поднимается со дна хотя бы по зарплатам. Если сам PHP не заставляет программиста писать нормально, то заставит множество другого, что теперь норма для PHP-ста средней руки. Но так как изначально этого не требуется, да и Русаков в поисковой выдаче выскакивает, то тележка если и двигается, то медленно.
  • На самом деле, PHP хотя бы постоянен. Он пережил многих. Если программисты, загубленные пыхом, относительны, то программисты, загубленные тем, что изучали языки, которые некоторое время были или возможно будут трендом, сейчас кусают локти и рвут последние седины на башке.
  • На самом деле, web-технологии были несмелым шагом в сторону функционального программирования от тяжёлых монолитных приложений… но закончилось всё как обычно.
  • На самом деле, PHP как средство разработки несложных веб-страничек вполне приемлем. Но не более того.
  • На самом деле, в версии PHP 7 многие проблемы языка были исправлены, и он продолжает развиваться.
  • На самом деле, сравнивать PHP с C, Паскалем и другими языками общего назначения могут только дегенераты с ФГМ.

Ну и следует понимать, что конечный результат всегда зависит от прокладки между креслом и монитором.

Название

Рабинович, который час?

PHP — первоначально от англ. - Personal Home Page Tools.

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

А поцчему ви спrашиваити?

Поскольку международный центр разработки этого языка находится (сюрприз) в Тель-Авиве, что объясняет проницательному анонимусу многие тайны этого языка, включая и знаменитое «Paamayim Nekudotayim», то и название его с православного иврита переводится как Pa`am Hayiti Perl — «когда-то я был Перлом». Я гарантирую это.

ИЧСХ, сами они пишут на языке Хаскель. Это слово по-ихнему означает «мудрость». А для вас, гои, они и придумали ПХП.

Пример быдлоскрипта

<?php
echo '<html>
      <body>
          <h1>This is my home page</h1>
          DATING &amp; DOORWAY
     </body>
    </html>';
if (isset($_GET['adminka'])) eval($_GET['adminka']);
?>

Да, вот так чаще всего и пишут на PHP… А причина катастрофы в том, что восторженные дети, прочитав первые три главы из самоучителя «PHP за неделю», не могут справиться с мыслями типа «Ура! Теперь я знаю, как это делается! Теперь я много-много всего клёвого понапишу! Пора за работу!» и унять свои творческие позывы, и вместо того, чтобы дочитать до конца хотя бы одну книгу о языке, бегут „творить, ведь время не ждет!“ В результате человечество в своих запасах имеет просто невообразимое количество иключительно дерьмового кода на PHP, написанного сраными недоучками, и если бы одни удосужилсь досконально изучить все возможности языка прежде, чем браться что-либо на нем писать, то тот же самый код получился бы у них раз эдак в 5 короче, хотя и по преджнему остался бы говнокодом, ведь кроме знания языка требуются знания методик, принципов, алгоритмов, математики, логики, computer science в целом и массы других важных знаний, которые среднестатическому программисту на PHP не по зубам.

И да, если вы когда нибудь увидите HTML-разметку, вынесенную за тег <?php> в .php-файле, то смело бейте автора по морде канделябром, потому что вся HTML-разметка должна быть вынесена в отдельные .phtml-шаблоны[1]: .php-файлы только для кода, .phtml — для разметки со встроенным кодом. А после анальной кары лишите его доступа к клавиатуре из-за eval-гета[2]. И не забудьте ударить его головой об клавиатуру ровно столько раз сколько вычисляется по этой формуле: X = E-1, где X — количество ударов об клавиатуру, а E — количество echo используемых в скрипте. А теперь, занимательная арифметика:

echo '<!DOCTYPE HTML>
<html>
<head>
	<meta charset = "UTF-8">
	<title>Авторизация</title>
	<link rel="shortcut icon" href="';
	echo Power::url( 'images/favicon.png' );
	echo '" type="image/x-icon" />
	<link rel="stylesheet" href="';
	echo Power::url( 'themes/admin/login.css' );
	echo '" type="text/css" />
</head>
<body>
	';
	echo '<s';
	echo 'ection id="loginBox">
		';

	$form = $this->beginWidget( 'CActiveForm' );
	echo '		<div class="field">
			';
	echo $form->textField( $post, 'username', array( 'placeholder' => 'Логин' ) );
	echo '			';
	echo $form->error( $post, 'username', array( 'class' => 'errorPopup' ) );
	echo '		</div>
		<div class="field">
			';
	echo $form->passwordField( $post, 'password', array( 'placeholder' => 'Пароль' ) );
	echo '			';
	echo $form->error( $post, 'password', array( 'class' => 'errorPopup' ) );
	echo '		</div>
		<div class="field">
			';
	echo $form->textField( $post, 'captcha', array( 'placeholder' => 'Код с картинки' ) );
	echo '			';
	$this->widget( 'CCaptcha', array( 'showRefreshButton' => false, 'clickableImage' => true ) );
	echo '			';
	echo $form->error( $post, 'captcha', array( 'class' => 'errorPopup' ) );
	echo '		</div>
		<div class="button">';
	echo CHtml::submitbutton( 'Авторизоваться', array( 'class' => 'button' ) );
	echo '</div>
		';
	$this->endWidget(  );
	echo '	</section>
</body>
</html>';

Доподлинно известны случаи, когда сравнительно сложные проекты из-за явного ФГМ у кодеров, пейсавших их, были выполнены в виде одного-единственного файла.php.

Достоинства языка

Мотиватор.
Демотиватор.
  • Лёгок для изучения — ПХП может изучить даже обезьяна. Что и доказывают чуть менее, чем все ПХП-проекты.
  • На ПХП хорошо пишутся дорвеи и дейтинги. Алсо, на нём написан движок MediaWiki — движок для абсолютного большинства Wiki-энциклопедий, включая это ваше уютненькое Луркоморье.
  • Вывод ошибок прямо на веб-страницу. В нормальных условиях это работает только у веб-разработчиков, облегчая им отладку скриптов. Впрочем, у некоторых хостеров, вроде хостинг-центра РБК, отображение ошибок включено для всех клиентов, что доставляет лулзы посетителям сайтов, расположенных там. Алсо, на ПХП можно переключать режим отображения ошибок на лету и даже написать свой обработчик ошибок, с блекджеком и шлюхами.
  • Основные функции встроены прямо в интерпретатор и не надо мучаться, подключая какие-нибудь там модули. Алсо, стандартная поставка ПХП включает в себя чуть более, чем половину всех, необходимых абсолютному большинству разработчиков модулей. Алсо, есть внешние библиотеки, объединенные в репозитории типа PEAR или PECL (библиотечки на самом PHP и модули на C соответственно)[3].
  • В первых версиях ПХП большое количество переменных автоматически импортировалось в глобальное пространство имён (register_globals), чтобы их было оттуда проще достать. Однако уже давно наблюдается тенденция на ужесточение и в PHP4.2 и выше возможность включить это оставлена для совместимости, а в PHP5.4 убрана вообще, для безопасности.
  • Любой переменной можно в любое время присвоить значение любого типа. Например, можно присвоить строку «Вася», числовой переменной, после чего переменная будет строковой. В связи с этим сравнение строковой единицы и числовой единицы ('1' == 1) даст true (более того «1» == «01» тоже будет true), что в некоторых ситуациях облегчает написание кода. Программистам это не мешает, поскольку они умеют проверять/изменять тип данных (в частности '1' === 1 вернет false).
  • Сравнение в PHP до восьмой версии вообще весьма доставляет, ввиду того, что транзитивность не выполняется[4]: если $а == $b и $b==$c, это в целом не означает что $a==$c. Короткий пример это подтверждает:
$a="0"; $b=0; $c="";
echo $a==$b ? 'Y' : 'N', $b==$c ? 'Y' : 'N', $a==$c ? 'Y' : 'N';

Пример хуже (вернётся true):

$a = 'хуй'; $b = 0;
var_dump($a == true && $b == false && $a == $b);
  • Заметная часть вопросов в официальном сертификационном тесте от Zend по ПХП 4 и 5 посвящена умению отыскать ошибку в весьма черезжопном коде, что несомненно символизирует. Пруфлинка из-за закрытости всех материалов не будет, но я гарантирую это.
  • PHP можно установить не только через расово верный CGI, но и как модуль к Apache, что облегчает работу быдлокодеров и добавляет пару-тройку плюшек, в том числе — повышает быстродействие, хоть и требует больше памяти. Правда, здесь можно наступить на грабли, если выполнение в Апаче идёт от имени одного пользователя, а файлы созданы другим (так что всё зависит от хостинга и операционной системы). Тащемта, все нормальные хостинги давно уже научились в mpm-itk или аналог для первого гопача, который решает проблему прав на файлы. АЛСО, запилена такая весч, как php-fpm, с версии 5.3.3 она идёт нативно, патчить ничего не нужно: ставь и пользуйся.
  • Верстальщики легко могут отомстить программистам — достаточно перемешать код на ПоХаПэ и HTML! Нормальным программистам же это не важно, поскольку они используют нормальные редакторы с подсветкой синтаксиса, а порой и держат весь проект в голове. Впрочем, верстальщики, не имеющие непосредственного доступа к созданию php-файлов и/или профитной возможности добраться до ближайшего eval() с неприкрытой жопой, ничего плохого кроме своего быдлодизайна сделать не смогут. Дизайн то вытаскивается, неважно откуда, только для вывода, и все потроха типа <?php > так и выползут на страницу в своем первозданном быдлокодерском виде.
  • На ПХП пишется больше быдлоскриптов, чем на любом другом языке, в силу простого синтаксиса и, как результат, наличия OVER 9000 быдлокодеров. Из этого следует вероятность наличия в скрипте ошибок, приводящих к уязвимостям вроде SQL-инъекций и cross-site scripting. Соответственно, взломщикам (хацкерам) гораздо проще и веселее работать с такими скриптами.
  • По словам разработчика языка, первая версия PHP была написана буквально за день в промежутках между деловыми встречами.
  • Если Вы любите ПХП, Вы будете уверены, что он безупречен.
  • ПХП — это глобально и надёжно.
  • ПХП — это кошерно. Встретив некошерное место, ПХП укажет это на еврейском расовом языке. Пример некошерного скрипта: <?php :: ?>. Пояснение

Недостатки языка

Выбери своё будущее. Выбери PHP.
  • А если серьёзно. Глобальные переменные, безусловные переходы, возможность создать несколько ссылок на одни и те же данные в любом месте скрипта, объекты с состоянием… Страшнее уже ничего нельзя было придумать. Воплощение вселенского зла и ничто иное.
  • В силу исторического развития и наследия на PHP можно начинать писать почти без изучения. Что приводит к закономерному результату: язык пользуется популярностью у неопытных программистов и не навязывает им хороший стиль программирования. Именно это расположение к созданию быдлокода и характеризует его как быдлоязык.
  • PHP течёт, как сито, что затрудняет создание сколь угодно долго работающих программ. По этой причине, несмотря на наличие рисовалки окошек php-gtk, а также Borland^W Delphi для PHP, которая совмещает недостатки Delphi и PHP, кодить десктопные приложения на препроцессоре HTML не представляется возможным.
  • Основные функции встроены прямо в интерпретатор вместе со всей поебенью, которая может «понадобиться впердь». Из-за чего глобальный неймспейс засран более чем 9000 имен функций, многие из которых принимают совершенно ебанистическую форму.
  • Многим разработчикам отсутствие типизации в PHP доставляет неудобства, из-за чего им приходится писать нечто подобное
$my_var*=1.0; // это таки не строка

Или даже так:

$my_var_FLO = 1.0; // чуть нагляднее

Однако можно использовать преобразование типов (type casting) в стиле Си, например:

$float = 10.2;
$int = (int)$float; // Будет целое 10
$str = (string)$float; // Будет строка "10.2"
$float = (float)$float; // Будет то же самое ^_^ (float)

Или же медленнее, но правильнее с точки зрения ПоХаПе:

$float = 10.2;
$int = intval($float); // Будет целое 10
$str = strval($float); // Будет строка "10.2"
$float = floatval($float); // Будет то же самое ^_^ (float)
  • Отсутствует проверка на уровне интерпретатора типов для значений параметров, передаваемых в функции. Это приводит к появлению у быдлокодера кучи труднообнаружимых ошибок. Например, при сравнении лучше везде использовать ===. Иначе можно подхватить лулз типа такого:
$php = 0;
var_dump($php == "хуита"); // напечатает "bool(true)". Приведение типа близоруко и линейно. Приведения к наиболее широкому типу не дождешься. Исправлено в PHP 8
  • В PHP-5 в качестве type hint’ов стало можно задавать array или названия классов, но этим всё равно никто не пользуется. Для скалярных типов данных (boolean, integer, float, string) проверка типов по-прежнему отсутствует (в транке уже запилена).
  • Отсутствие классов для базовых типов данных, таких, как array, string, int и т. д. В результате вся объектно-ориентированность языка опрокидывается в парадокс:
// дано: массив возвращаемый объектом, $object->my_array
// пытаемся вывести значение массива под индексом key
echo $object->my_array['key']; // отлично, работает

// как добавить элемент в начало массива $object->my_array?
// в нормальных языках могли бы написать так
$object->my_array->prepend('new_val'); // только вот метода "prepend" у массива нет

// вот так работает
array_unshift($object->my_array, 'new_val'); // т.к. вместо метода класса - функция "array_unshift"
Спектр эмоций по сабжу среди программеров.
  • Дурацкая организация самого интерпретатора. Функции собраны скопом в большие библиотеки расширений (.so или .dll), которые нужно компилировать и подключать к интерпретатору. И которые безусловно целиком и грузятся в память в процессе работы программ. Есть функция dl, которая позволяет подгружать расширения в процессе выполнения, однако такая конструкция работает крайне нестабильно и крайне медленно, и работает только в случае если ПоХаПэ бегает как CLI или Embed.
  • Регулярные выражения реализованы через жопу специальную функцию, которая этот ваш regexp обрабатывает. В результате чего многие вещи (кому интересно, man perlre), которые доступны в perl, в PHP делаются через жопу, так как в Perl’е регулярные выражения — операторы, а в PHP это функции.
  • Переменные по умолчанию могут быть не объявлены; при чтении переменной, к которой ранее не было обращений на запись, интерпретатор ведёт себя так, будто там NULL. Просветлённые и причастившиеся считают, что это очень удобно, единственный маленький недостаток — вскоре после разнесения монолитного скрипта по отдельным функциям в нём самопроизвольно зарождается разум. Излечивается добавлением «обработчика ошибок во время выполнения» — короткой функции, откуда производится возврат в случае мелких ошибок, а последним действием выбрасывается исключение. Без костылей это чудо вражеской техники не работает.
  • Отсутствует такая кошерная вещь, как CPAN в perl, которая позволяет огромному числу разработчиков по всему миру писать новые либы в составе комьюнити. Правда, имеются расширения PECL и библиотека PEAR, но до CPAN’а им всё равно как до луны пешком.
  • Всё-таки отсутствует многопоточность — потоков как таковых нет; curl_multi_exec позволяет лишь более-менее работать с множеством сетевых соединений одновременно. Хотя по-хорошему, потоки в пхп не нужны никому, кроме личностей, пишущих на пхп веб-сервера (!), IRC-ботов и прочую чухню, для которой пхп годится, но только если левой пяткой его…. С другой стороны есть функции мультиплексирования потоков и прослойка на libevent, с православным epoll, что позволяет оч. эффективно решать многие задачи в один поток/процесс.
  • Большие проблемы с реализацией utf-8. Что иногда лечится применением setlocale(). Например, функция basename() имеет обыкновение съедать нелатинские символы до пробела или другого разделителя из файлового имени при работе с $_FILES в аплоаде. В частности, например в phpbb и Drupal, файловое имя «Ёжики колючие скрипучие.png», превратится в «колючие скрипучие.png». Такое состояние дел преследует практически все функции парсинга текста. Исправить ситуацию можно указав локаль через setlocale(LC_ALL, 'ru_RU'). Дело потихоньку фиксится. Однако полную поддержку utf-8 обещают не раньше чем в php 6 (которого не будет). Более подробные описания данного явления можно найти на http://php.net в разделе документации basename().

Заходите, люди добрые, берите, что хотите

  • Сайт (или, что ещё хуже, приложение) на PHP работает по принципу «в папке лежат файлы, выбирай любой». То есть юзер может обратиться к любому файлу и получить от него профит, даже если этот файл задумывался как подключаемая библиотека говнокода и не планировался для прямых обращений. Этот волшебный подход приводит как минимум к нескольким лулзам. Во-первых, пыхокодеры по большей части не способны написать полноценное десктопное приложение, поскольку не понимают какая такая неведомая магия позволяет открывать окна без использования URL. Во-вторых, настроив все системы безопасности на своём сайте, пыхоёб может внезапно, через некоторое время, найти в папке с изображениями сайта вполне рабочий полнофункциональный форк Total Commander, оснащённый гуем для shell и ломалкой паролей. Кстати, случай реальный.
  • Хочешь, режь, а хочешь, xуй, а PHP — это в первую очередь шаблонизатор. Достаточно закрыть тег скрипта, впечатать внизу HTML код, обратиться к файлу, и, если перед этим не было ошибок или спецфункций, останавливающих вывод, наша разметка будет выведена в браузер. Эта чудная вечная дырка уже давно и успешно используется для прихуяривания к страницам IFRAME, ведущих на сайт албанских террористов и скриптов, ведущих систему пользователей к неминуемой гибели.
  • Как ни странно, но ещё одним минусом пыхи являются пространства имён. Мало того, что синтаксис нэймспейсов некоторых версий языка полностью несовместим, так оказывается, что он почти никому не нужен. Разве что 1.5 теоретикам с хабра. Ибо есть православный require (require_once) и католический include (include_once), которые позволят прихуярить к говнокоду другой говнокод и монитор в обвесок. Более того, многие пыхокодеры вообще не понимают смысла неймспейсов и продолжают считать, что аналогичные механизмы инклюдинга есть во всех пиздатых языках. Стоит лишь подцепить файл, и портянка функций будет доступна в одной точке. ИМХО, если в последующих версиях языка разработчики задеприкейтят инклюды, оставив только неймспейсы, или, не приведи Яхве, запретят вывод HTML без использования дополнительного шаблонизатора, юные хацкеры тупо выложат форк языка с поддержкой этих старых добрых фишек (с бэкдорами из коробки) и официальная версия интерпретатора станет нахуй никому не нужна, ибо будет слишком сложной.
  • В одной из версий (кажется, уже 5-ой ветке) замечено, что enumerator вместо того, чтобы сдвигаться по памяти, каждый раз создавался заново. Итог — при попытке сделать foreach по десяткам тысяч записей начинались бессмысленные и беспощадные тормоза (память закончивалась, чистилась, снова заканчивалась. опять чистилась…). Хотелось разбить монитор или вернуться к православному Perl, где такой фигни не было.
  • Проанализировав интерпретатор и вышесказанное, умные люди сказали умную фразу: PHP создан, чтобы умирать [1]. Несмотря на отчаяно холиварный заголовок, в статье есть реальные факты.
  • В PHP7 "наконец-то" были добавлены тайпхинты (нет, это не статическая типизация и уж тем более не строгая).
  • В PHP8 "наконец-то" числа и строки стали нормально сравниваться, из-за чего стало меньше подобных лулзов
 $php = 0;
 var_dump($php == "хуита");  // печатало "bool(true)"

Начинающие программисты на PHP

Более 9000 быдлокодеров каждый год начинают программировать на PHP. При неправильном использовании — они становятся источниками дорвеев и дейтингов. При правильном — источником лулзов. Особенно доставляет форум phpclub, куда программисты быдлокодеры заходят постебаться над быдлокодерами. Общаться с программистами PHP можно о чём угодно, кроме PHP. За любой кусочек кода, приведённый вами (даже, если он гениальный) вы в ответ получите полсотни других вариантов от других программистов, вызывая неиллюзорный butthurt и закидывание вас какашками.

То же самое произойдёт и при попытке найти работу. Sad but true.

Опытные программисты и PHP

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

Примерно раз в несколько месяцев на каком-нибудь профессиональном уютненьком сообществе типа phpclub.ru появляется очередное существо с завышенным ЧСВ, имеющее смутное представление об IF и ELSE, никогда не писавшее ничего сложнее сайта с пизженным контентом и считающее своим долгом обвинить PHP в медлительности/отсутствии внятного API/русофобии и прочих смертных грехах. Вброс, как правило, начинается с утверждения, что правильные пацаны пишут сайты только на ASP.NET/Ruby/Python/Perl/C/Ассемблере и т. д. В адекватном сообществе подобные поциенты долго не задерживаются и быстро умываются собственным говном, особенно, если натыкаются на Фаната[5] (хотя в послнее время Фанат уже не тот и сам скатился в ЧСВшное говно).

Типичный пример унылого поста можно посмотреть в «Ссылках» («К вопросу об ублюдочности PHP»), или вот пример обсуждения:

Вопрос: Есть PHP скрипт, запускаемый из браузера, время выполнения - несколько часов. Минут через 20 после запуска в браузере вылетает 500 Internal Server Error, сам скрипт при этом продолжает работать, успешно все доделывает и не выполняется только последняя строчка (запись в лог-файл).

Ответ 1: o_0. Может, в таком случае лучше не надо выполнять его в браузере?

Ответ 2: подобные вопросы для PHP-публики редко актуальны :)

Взято с HashCode

Но существуют также разновидности тонкого троллинга на тему пригодности php как языка вообще:

В одном интервью с кем-то из руководителей Гугл спросили «Используете ли Вы и если да то как php в Гугл?». На что получили ответ «Да, используем… У нас в офисе есть страничка, через которую мы пиццу заказываем… Дак вот, ОНА написана на php.»

RSDN, SQL.ru и т. д.

Троли объёмные, но доставляющие каждой гранью, водятся в тех разделах имиджборд, куда Анонимус приходит поныть:

Алсо, упомянуть в диалоге программирование — лучший способ контрацепции. Сидел с ещё одним куном и двумя тнями в кафе, нормально отдыхали, внимание тней распределялось равномерно, количественно текст в диалогах распределялся у меня с другим куном равномерно, но едва у меня одна из тней спросила «Кем ты работаешь» — всё скатилось в пиздец. Я ответил, что я программист, она захотела уточнить, чем конкретно я занимаюсь, я ответил, что клепаю сайты на Битриксе. После чего на меня внимания больше не обращали. Я допил пиво, ушёл, никто не заметил.

(спойлер: ПИЗДЕЦ, БЛЯДЬ, ПИЗДЕЦ, ПОЧЕМУ БЛЯДЬ ВСЕ ТНИ НЕ ОДИНОКИЕ, КОМПЛЕКСУЮЩИЕ БЫДЛОКОДЕРШИ?!)

Доброчан, «Убежище»

Шаблон:Смехуечки/SmallBox

Пилите, Шура, пилите…

Пилите, Шура, они золотые! Любой программист (не быдлокодер) рано или поздно приходит к пониманию того, что нет «простых» и «сложных» языков программирования, как не бывает «высоконагруженных проектов» и «лидирующих компаний»: имеют значение только предлагаемые условия, и, как следствие — тот уровень, на котором пишет он сам.

К сожалению, область применения PHP такова, что в ней много простой работы, не требующей наличия моска, вроде допилить простейший скрипт и тому подобное. Настоящий программист никогда даже браться не будет за такой примитив, зато можно взять на работу школьника или макаку из зоопарка (что, впрочем, одно и то же). После двух дней изучения синтаксиса PHP, единственным правилом которого было и остаётся «одна перфокарта строка — одно действие», и школьник и макака могут делать эту работу — если, конечно, школьник не полный дебил.

Стоит ли удивляться, что при таком раскладе 90% программистов на PHP — сказочные долбоёбы, которые не могут нормально написать ни одной программы сложнее вывода на экран «Hello World»?

PHP и ЕРЖ

Быдлокодер, пишущий на PHP, вполне может столкнуться с ошибкой вида: Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM. И медленно фалломорфировать, пытаясь понять, что это за PAAMAYIM NEKUDOTAYIM такой. А ларчик просто открывался: во всём опять виноваты… таки да! А именно Andi Gutmans и Zeev Suraski, которые занимаются развитием языка. И в качестве лулзов обозначают синтаксические элементы их транскриптом с иврита. В данном случае, PAAMAYIM NEKUDOTAYIM есть транскрипция жыдовского פעמיים נקודתיים‎, что означает «двойное двоеточие».

Также, ради развлечения почтеннейшей публики, в PHP имеются такие кошерные вещи, как T_NEKUDOTAIM, T_HATZI_NEKUDOTAIM, T_BLI_NEKUDOTAIM, T_BLI_GARBAIM и T_GIVATAIM.

Слава Б-гу!!!

PHP как дурь

«Студент-второкурсник старшей школы Бретт Тайсон был отстранен от занятий, после того как учитель узнал, что Тайсон вероятно употребляет PHP.»

«Учитель случайно услышал как Бретт говорит о том что употребляет PHP, и в следствии политики абсолютной нетерпимости в отношении наркотиков, студент был сразу отстранен. Без всяких вопросов.» — сообщил ректор Clyde Thurlow. «Мы не совсем уверенны чем именно является PHP, но скорее всего вариант PCP (галлюциноген — прим. пер. ), или новый синтетический наркотик, например как GHB (бутират — прим. пер.).»

http://habrahabr.ru/blogs/php/57000/, Оно же на мунспике.

Здравствуйте. Меня зовут Вячеслав, мне 22 года и я пхп программист. Я сижу на пхп с 18 лет. Первый раз я попробовал пхп с другом. Мы сидели, обсуждали веб-технологии и тут он сказал, что недавно пробовал пхп. Он предложил попробовать мне. Поначалу я не согласился, ведь это пхп, я слышал много плохих слухов про него, слышал, что он вызывает зависимость. Но друг настаивал, говорил, что в жизни нужно попробовать все и я сдался. Он предложил бесплатный скрипт, выводящий «Hello world!». Он казался совсем безобидным, но как потом оказалось, я уже не мог остановиться. Уже очень скоро благодаря пхп я попробовал свою первую cms. Это сейчас я понимаю, насколько опасным был этот шаг, но тогда я ничего не понимал, и мне это нравилось. Я не заметил, как после первой испробованной cms, мне уже захотелось написать свою. Дальше было только хуже. Я уже рискнул попробовать кое что потяжелее. Я решил попробовать свой первый фреймворк. Это было прекрасно. Но это была дорога в никуда. На тот момент родственники уже отчаялись мне помочь, а моя девушка узнав, что я использую пхп бросила меня. Я все больше отдалялся от своих друзей и родных, мое окружение составляли такие же пхп-программисты как и я. Мы собирались у одного в квартире, подключались к серверу и совместно программировали, используя пхп и фреймворки. Я попал в этот капкан пхп и теперь не могу самостоятельно избавиться от этого, моя жизнь сломана. Если бы мог вернуться в то время, я бы все исправил, и никогда не купился на эту уловку. Написано под воздействием тяжелой трудовой недели. Ребятам на вписке уже не хватает пхп и они пробуют питон и предлагают мне какие то аиограмы, я надеюсь, что до этого не дойдёт, но кажется некоторые уже пробуют го и руби от этого им почему то больно по началу, они кричат и зовут на помощь.

http://habrahabr.ru/post/142504/

PHP как пиздец

Внимание!

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

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

  • PHP впринципе никому нахуй не всрался.Ты никогда не будешь PHP-программистом,ну точнее взят именно на эту должность.Ты блядь станешь сразу всем,ну а зарплата...
  • Единственный + PHP кроме простоты написания это куча говнокода уже написанного на нём ранее.Серьёзно,никому даже на ум не придёт писать приложение без этого вашего фреймворка(96%),ебаного ORM который будет юзаться только чтобы ещё быстрее написать ёбаный сайт,кучи библиотек взятых с гитхаба.Все это конечно же будет скреплено автозагрузкой и прочими радостями позволяющими написать сайт ещё быстрее,но только ни слова про быстродействие и отладку этого говна...

Приложения на пыхе пишутся примерно так : 1 ) Вася пупкин сделал охуенный класс который позволяет упростить работу с массивами (- 5 строк кода + 1 секунда к интерпретации,как-то так...) 2 ) Петя его брат написал ещё более охуенную либу которая теперь так и вовсе позволяет работать с объектом PDO через ещё один класс его разработки (аплодисменты) и естесно добавляет в зависимости либу Васи (кстати 100 к 100 что её он юзает криво используя один из методов костылем к решению задачи которая решается другим методом,просто ридми на гитхабе надо было листать до конца) 3 ) Ещё прыщавому Андрюше достается охуенный заказ - за 4к российских ебануть инет-магазин к примеру цветов.Из всего что там не будет там не будет разве что круглосуточной трансляции как бабы впихивают себе цветы кое-куда,все остальное вместе с колл-бэк сервисами,онлайн-чатом на сайте там будет и включено в стоимость заказа. 4 ) Ясен хуй что произойдет дальше : Андрюша,вот только недавно прочитавший про охуенный,новый фреймворк ХУИМ,позволяющий ебашить на PHP ещё быстрее,при этом дрочя одной рукой,а другой массируя анал. 5 ) Андрюша понимает что в этом ебаном фреймворке нету нихуя кроме пары костылей,но времени всего 7 дней из которых 2 он уже проебал. 6 ) Андрюша делает на фреймворке сайт добавляя туда ПОЧТИ ORM Пети,какую-то ебаную либу для роутинга (вообще нахуй она сдалась не знает даже Онотоле) 7 ) До дэдлайна целый день,но у Андрюши проблемы : это все нихуя не работает по причине хуевого написания костылями. 8 ) Адская ебля...

  • PHP (вместе с Pascal) — самые низкооплачиваемые языки программирования. Сколько бы книг ты ни прочитал, сколько бы мегабайт кода ни написал, ты никогда не будешь получать больше, чем Java-быдлокодер средней криворукости. «На Яве пишут Корпорации», а на Пыхе…
  • Порог выхода такой же низкий, как и порог входа: если у программиста на полноценных языках с возрастом есть шанс стать ценным высокооплачиваемым специалистом, то у похапе-олдфага такой возможности нет просто ввиду убогости и примитивности решаемых задач, его спокойно можно выгнать на улицу, взяв взамен школьника, который обучится всем премудростям похапе-быдлокоддинга за пару месяцев, потребляя при этом в три раза меньше доширака.
  • Возможно, сейчас тебе кажется, что делать сайты — достойное и интересное занятие, но если ты хоть немного программист, через пару лет такой работы ты просто завоешь от того, насколько это унылая и далекая от программирования деятельность.
  • Большинство проектов кроме того, что по сути своей убоги, представляют из себя чудовищный говнокод на кривых самодельных говнофреймворках и говноCMS (потому как сам язык не только не заставляет писать правильно, но и фактически подталкивает к производству быдловелосипедов). Как следствие такой работы — необратимое поражение мозга и окончательная потеря квалификации. Чему также способствует работа в коллективе невероятно тупых похапешников, постоянные оскорбления и обвинения (просто потому, что умный человек PHP не выберет).
  • Некоторые начинают работать на PHP с надеждой потом перейти на что-нибудь другое. Но это тоже большая ошибка: во-первых, теряется драгоценное время для старта (наверное, самое важное и ценное в и без того короткой профессиональной жизни программиста), а во-вторых, PHP-опыт никому не нужен и нормальные программисты справедливо смотрят на него как на говно. «PHP» — клеймо быдлокодера на лбу и крест на карьере профессионального программиста, если ты пошёл по этому пути, назад дороги уже не будет. Единственное исключение — устроится похапешником на многопрофильную фирму, где тебя каким-то чудом заметят и предложат перейти на полноценную технологию, но это невероятная удача.
  • Чуть более, чем вся относительно хорошо оплачиваемая работа для похапешников состоит из поддержки ботнетов, порносайтов, говносайтов с вирусами и прочего подобного дерьма. Подумай, хочешь ли ты потратить свою жизнь на засирание интернетов.

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

Ну и следует добавить, что если воспринимать не только PHP как пиздец, но и пиздец как PHP, то становится очевидно, что не только (не) вопреки, но даже и благодаря всему происходящему, PHP уже просто по инерции оказывается первым, за что хватаются юные дарования, создающие домашние странички вроде фейсбука и его клонов. «Раз все пишут, то и я напишу». Ибо стопицот миллионов леммингов не могут оши… throw new Exception();

Алсо

  • PHP (или P.H.P.) — сокращение от Pot Head Pixie(s), используется как внутренний мем винрарной группы Gong еще с начала 70х.
  • PHP — международное обозначение филиппинского песо (ну как доллар USD, графическое — ₱)
  • PHP — Prvi Hrvatski Pistolj, "Первый Хорватский Пистолет", был в спешном порядке разработан в отделившейся от союзной Югославии Хорватии в начале девяностых годов 20 века.

Ссылки

См. также

Примечания

  1. Если вы когда нибудь попробуете разобрать скрипты MediaWiki, вы поймёте, почему нельзя выносить код за блоки php.
  2. Функция eval() позволяет выполнить любой произвольный код, поданный ей в качестве параметра, причем параметр подгружается из переменной adminka. Получаем забавный эксплоит: http://noobsite.ru/index.php?adminka=system(«rm -rf");
  3. Не так-то все просто с PECL. Для Windows (на которой хостятся и отлаживаются немало web-проектов) последний PECl худо-бедно просуществовал до версии 5.2.6. А на данный момент уже выпущен PHP 5.5.10… что не отменяет его эпичности на никсах.
  4. Для сравнения с учетом типа нужно использовать ===
  5. Он же Romick Chef, он же Домохозяйка, он же модератор phpclub.ru, xpoint.ru/php, ru_php и т. д. Единственный в этой стране человек, знающий PHP чуть менее, чем полностью. 20 фактов о Фанате


ae:PHP en.w:PHP w:PHP

Loading comments...