LINUX.ORG.RU

PHP исполнилось 20 лет

 


3

2

Именно в этот день, 8 июня 1995 года, Расмус Лердорф открыл исходный код PHP Tools общественности.

Созданное в 1994 году Расмусом Лердорфом, самое первое воплощение PHP было простым набором CGI-скриптов, написанных на языке программирования Си.

Первой версией PHP, напоминающей тот язык, каким мы знаем его сегодня, была версия 3.0. Примерно после девяти месяцев публичного тестирования, при объявлении официального выпуска PHP 3.0, он уже был установлен на более чем 70000 доменах по всему миру. На пике своего развития PHP 3.0 был установлен приблизительно на 10% веб-серверов в Интернете.

PHP 4.0, основанный на новом движке «Zend Engine», официально вышел в мае 2000 года. Кроме значительного улучшения производительности, PHP 4.0 получил ещё несколько ключевых нововведений, таких как поддержка намного большего числа веб-серверов, поддержка HTTP сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

В июле 2004 был выпущен PHP 5 с обновлённым движком «Zend Engine 2.0», новой объектной моделью и множеством других нововведений. Версия 5.3 порадовала пользователей пространствами имён, поздним статическим связыванием и замыканиями.

В 2009 году появилась группа совместимости фреймворков (PHP-FIG), которая начала благородную миссию по стандартизации совместимости PHP-проектов. Большинство PHP-библиотек и фреймворков начали адаптацию под рекомендации, предложенные или одобренные группой совместимости фреймворков (PSR).

В апреле 2011 началась работа над менеджером зависимостей Composer, который должен прийти на замену устаревшему PEAR.

Новая значительная версия PHP 5.4 была выпущена в марте 2012. С выпуском этой версии PHP получил заметные улучшения производительности, новые функции включают трейты, короткий синтаксис массивов, встроенный веб-сервер для тестирования и многое другое.

С приходом версии 5.5 в PHP появились генераторы и сопрограммы, ключевое слово finally, упрощенное API для хеширования паролей и множество других новых функций.

Несмотря на наличие обширной документации, первоначальный черновик спецификации был анонсирован только в 2014 году.

А в августе этого же года вышла стабильная значительная версия PHP 5.6. Новые функции включают скалярные выражения в константах, функции с переменным числом аргументов при помощи оператора ..., оператор возведения в степень **, импорт функций и констант при помощи ключевого слова use и многое другое.

Уже осенью этого года состоится выпуск PHP 7, который включит революционные для этого языка изменения.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от pihter

Покажите мне язык на котором проще написать домашнюю страничку и я уткнусь

На HTML + Javascript естественно.

grim ★★☆☆
()
Ответ на: комментарий от deadlock

Перфекционизм и демагогия

Нужно быть очень упёртым, чтобы путать перфекционизм/демагогию со столь явной гиперболой :)

KRoN73 ★★★★★
()
Ответ на: комментарий от yanka

И вот после этого любители пхп обвиняют python в многословности?

Я что-то пропустил? Где такое было? Или ты перепутал любителей PHP с любителями Perl и JS? Это последние обычно говорят о многословности Python :) И в теме выше целый холивор на этот счёт был.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Ну и ничего страшного. Кложура жива за счёт жабьей инфраструктуры, если своего в либах нет, завсегда жабье прикрутить можно.
А вот вещь с которой я прусь. http://www.luminusweb.net/
Вот тоже классная вещь, по своей сути обёртка над жабьим и жабоскриптовым процессингом: http://quil.info/
Ну и овертон до кучи: https://overtone.github.io/

пример универсальной системы

Пожалуй, она универсальна настолько же, насколько универсальна жаба.
Основой упор, как мне кажется, больше вебня. Нацепил ещё кложурскрипт, и, по сути, на одном языке ваяешь и клиент и сервер. Сообщество активно. Вот что расстроило, это пустое место у ClojureCLR. Что дотнетовская скала никому оказалась не нужна, что clj. Почему то дотнет и моно всех отпугивают. Скорее всего это предрассудки и суеверия.

Hertz ★★★★★
()
Ответ на: комментарий от deadlock

number на i замени и получишь тоже самое. Манипулятор херов.

Да можно сразу же привести готовый вариант:

foreach(range(1, 9, 2) as $i)
    echo $i;

for i in xrange(1, 10, 2)
    print(i)

KRoN73 ★★★★★
()
Ответ на: комментарий от Hertz

Кложура выстрелила.

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

anonymous
()
Ответ на: комментарий от anonymous

Community у Clojure достаточно большое. Особенно для Lisp. Поэтому можно считать, что взлетело.

deadlock
()
Ответ на: комментарий от anonymous

А даже если и так. Есть предложение по оптимизации?

deep-purple ★★★★★
()
Ответ на: комментарий от KRoN73

И что? Даже с учетом твоей оптимизации, получилось не короче, а длиннее, пхп не может быть менее многословным нежели python, потомучто в python отступы синтаксически значимы. Я уж не говорю об идиотизме идущем еще из перл начинать переменные знаком $

yanka ★★
()
Ответ на: комментарий от erzent

Java EE даже наши крупные проекты многие написаны на ней. например сайты лукойла и газпрома.

Про какой сайт ЛУКОЙЛа идет речь?

Fafhrd
()
Ответ на: комментарий от yanka

И что? Даже с учетом твоей оптимизации, получилось не короче, а длиннее

Ок, так и запишем. Ты — не программист, а кодер :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

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

yanka ★★
()
Ответ на: комментарий от yanka

по специальности я математик

Похоже, с математикой у Вас всё плохо. Вы упустили ряд условий и начали решать совсем не ту задачу. Но дам, всё же, подсказку: PHP исполнилось 20 лет (комментарий)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Да харош уже за всех пыхеров мира тут перед всеми оправдываться ))

Пых в своей нише прекрасно справляется с возложенными на него задачами. Всё!

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Да харош уже за всех пыхеров мира тут перед всеми оправдываться ))

Я не оправдываюсь. Я традиционно против перекосов :) Поэтому только в этой теме я и Питон уже защищал, и Go. Может и ещё что, уже не упомнишь. А так — да. Аргументированный ответ на наезд нередко воспринимается как попытка оправдаться. Но это уже проблема индейцев :D

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

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

yanka ★★
()
Ответ на: комментарий от pihter

Лучше Страуструпа? :)

Поверь, даже он не знает всё о цепепе. Такой вот он сложный и полный сюрпризов :-)

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

После таких логических выводов теперь я ещё раз убедился, почему цепепе и пехепе так популярны :-)

простое всегда популярно (я про РНР)

Не путай простоту с доступностью, а то ты так и вовсе мне поверишь, что пехепе для http-серверов или gui - это самое то :-)

какой язык во время рождения сабжа позволял крафтить простенькие странички меньшими усилиями?

И тогда, и сейчас - Лисп.

Да конечно нет, но изучать целый С++ ради того, чтоб можно было с тобой на равных поспорить, мне как-то лениво :)

Тогда свободен :-)

anonymous
()
Ответ на: комментарий от pihter

Покажите мне язык на котором проще написать домашнюю страничку и я уткнусь, не покажете — и уткнитесь вы уже (хоть в этом треде)

HTML. :-)

anonymous
()
Ответ на: комментарий от pihter

Тем не менее, язык? Да. С какой целью был создан? Чтоб быть выразительным? Ага.

Тебя реально пучит. Ты то молотки с кисточками сравниваешь с языками программирования, то брэйнфак в качестве довода приводишь. Ты в себе? :-)

anonymous
()
Ответ на: комментарий от yanka

и пых пых не обсуждаю, нравится он вам

Вот, снова у Вас ошибка в выводах. PHP не относится к языкам, которые мне нравятся.

можете кончать от него каждую минуту

Ваша культура общения вызывает интерес. Продолжайте, откройтесь сообществу с этой стороны.

KRoN73 ★★★★★
()
Ответ на: комментарий от pihter

У него вот точно такой же внешний вид, как и у любого скриптового языка.

Ну вот, что и требовалось доказать - пехепе - язык общего назначения :-)

anonymous
()
Ответ на: комментарий от pihter

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

Крикун, ты сам себя слышишь? :-) Всё развивалось под влиянием C++? :-)

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

Все фонаты банальны и неинтересны.

anonymous
()
Ответ на: комментарий от pihter

Надо понимать, у Страуструпа нет такого опыта и знания, ну что за бред?!

Причём тут теоретик Страуструп вообще? Назови хотя бы одну программу на C++ под его авторством?

anonymous
()
Ответ на: комментарий от pihter

А я утверждаю, что это — неправильная мысль. Ты вопрошал почему так много языков, я сказал — задач много и языки специализированные. Сегодня, почти все скриптовые языки умеют в сишные либы. По твоей логике, они все являются ЯОН. Ну и объясни мне зачем тогда их так много?

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

anonymous
()
Ответ на: комментарий от annulen

DuckDuckGo, например

Ему 7 лет. Хотя с некоторой натяжкой можно засчитать. Достаточно ли одного проекта, чтобы сказать «ще не вмерла»? :)

...

На самом деле, всё просто. http://adambard.com/blog/top-github-languages-2014/

Количество новых проектов на Perl:

2012: 46607
2013: 19418
2014: 13888

Для сравнения, в 2014:

JS: 383185
Java: 283354
Ruby: 259268
C: 178891
PHP: 175476
Python: 151669

Perl уступает даже Go (16631), который только-только стартовал и даже не входит в Top-50 Tiobe...

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

github - это плохой показатель, там слишком много мусора. Репа с каким-то кодом - это не обязательно реально используемый кем-то «проект».

Да и к тому же, 13888 - это далеко не ноль, так что слухи о смерти сильно преувеличены

annulen ★★★★★
()
Ответ на: комментарий от annulen

Да и к тому же, 13888 - это далеко не ноль

Про ноль я нигде не говорил :) Но 0.7% от нуля не очень далеко...

так что слухи о смерти сильно преувеличены

Ну да. Некая гальванизация ещё присутствует :)

KRoN73 ★★★★★
()
Ответ на: комментарий от yanka

обвиняют python в многословности

Тред не читай, сразу отвечай.

И что за дурацкие примерчики? Ну ладно, давай оправдывайся:

for($i=2;$i<1000000;$i*=$i) echo "$i\n";
И где теперь твой питон?

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 2)
Ответ на: комментарий от annulen

github - это плохой показатель, там слишком много мусора.
13888 - это далеко не ноль

У тебя логика сломалась, чини.

anonymous
()
Ответ на: комментарий от pihter

Булькает наружу?

Какает.

пруфы

А ты поизмеряй ёмкость плоского керамического конденсатора до пребывания в зоне облучения частиц и сразу после нескольких минут.

ну бред же: почему никто их не регистрирует при сегодняшних технологиях?

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

Napilnik ★★★★★
()

PHP, да и вообще динамически типизированные языки для больших проектов не годятся. Взять тот же Symfony 2. Тормозное уебище.xdebug для отладки делает это уебище еще в два раза медленнее. В каждом месте кода ты сам блять думай какого типа эта переменная. Тот пхпкод который я видел представлял из себя огромную кучу php-doc в комментах для хинтинга типа переменной. Так сделайте уже строгую типизацию блять. Как сказал один разработчик в Яндексе, у меня слишком плохая память, чтобы писать на динамическом языке. А еще аннотации в пхп-комментах это адов пиздец, только пхпшники могли до такого додуматься. Поддержки со стороны IDE никакой. Я видел как пхпшники пишут тесты,это пипец, дорогая передача. А вообще большинство и не знают что такое тесты.

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

zenden
()
Последнее исправление: zenden (всего исправлений: 2)
Ответ на: комментарий от zenden

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

zenden
()
Ответ на: комментарий от zenden

В каждом месте кода ты сам блять думай какого типа эта переменная

В этой Symfony2 всё утыкано тайпхинтами, о чём ты говоришь?

А еще аннотации в пхп-комментах это адов пиздец, только пхпшники могли до такого додуматься. Поддержки со стороны IDE никакой

phpDoc кушает эти анотации, о чём ты говоришь? О какой IDE речь, netbeans всё прекрасно поддерживает.

А вообще большинство и не знают что такое тесты

И что? Большинство программистов на языке %anylang% не знают, что такое тесты.

вообще динамически типизированные языки для больших проектов не годятся

Годятся, если обмазываться тайпхинтами. В пыхе это можно.

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

HHVM работает так как ты хочешь. Планируют запихнуть это в php8.

PHP ужасен, в каждой версии что-нибудь ломают

По сравнению с руби или зоопарком питонов, пых - сама стабильность.

no-such-file ★★★★★
()
Ответ на: комментарий от zenden

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

- где-то всего пару раз встречал такие языковые проблемы, и то это был «ужасный код» от недопонимания. Насчет фреймворков, да - вполне возможно: часто пишут зачастую хрупкий код. Но это уже не язык. Там авторы изучают ООП ;)

Ну идеология у ПХП такая, запрос->выхлопнул страницу->умер, наговнокодил->сдал сайт->забыл.

- Наверняка, это больше проблемы асинхронщины и «неутненько» без рантайма. Дадут рантайм - выпрут проблемы персистентности ещё острее и пойдут заумные REST-ы

anonymous
()
Ответ на: комментарий от zenden

только пхпшники могли до такого додуматься

внезапно: мода изначально пошла от руби и, или джавы

anonymous
()
Ответ на: комментарий от Napilnik

Всё что официально публикуется в рецензируемых изданиях, перед этим проходит жёсткую фильтрацию на соответствие 100 летним постулатам.

Несомненно. А еще в кране нет воды. Совпадение?

dexpl ★★★★★
()
Ответ на: комментарий от zenden

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

Это ложь. Наример, Emacs Lisp - динамически типизированный язык, на котором написан просто огромный проект Emacs и великое множество его расширений. Ты, видимо, хотел сказать, «языки со слабой типизацией», такой, как пехепе. :-)

Так сделайте уже строгую типизацию

Сильную типизацию :-)

Как сказал один разработчик в Яндексе, у меня слишком плохая память, чтобы писать на динамическом языке.

Он, видимо, двоечник, разработчик из Яндекса :-)

И да, вытащите меня из криокамеры и разбудите

Кому ж ты нужен то? :-)

anonymous
()
Ответ на: комментарий от zenden

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

И вот как раз этим он прекрасен! На Хабре перевод статьи пролетал по этому поводу: http://habrahabr.ru/post/179399/

ShibaOn
()
Ответ на: комментарий от dexpl

Несомненно. А еще в кране нет воды. Совпадение?

Ты не поверишь, но в кране вода сейчас есть, но как сказал один еврей: сразу видно по лицу, тех кто кушает мацу:)

Napilnik ★★★★★
()
Ответ на: комментарий от ShibaOn

на вашем хостинге за 5 долларов в месяц
с тысячами запросов в минуту
нет доступа по SSH, утилиты cron или похожего инструмента
что одна задача завершится до того, как она же вызовется снова
верным решением кажется создание демонов

Смешная переводная статейка мамонтовых времен и версий. Что ни строчка, то перл.

Fafhrd
()
Ответ на: комментарий от Fafhrd

Смешная переводная статейка мамонтовых времен и версий. Что ни строчка, то перл.

2 года прошло, не такой уж и большой срок.

На днях буквально деплоил проект на Symfony 2 на виртуальный хостинг — клиент на нём висит уже много лет, переезжать не собирается, что такое vds не знает и знать не хочет.

ssh там хоть и был, но от него было мало толку, поскольку по нему php из консоли без dbo запускался. Пришлось пилить исполнение симфониевских консольных команд из админки. АД.

ShibaOn
()
Ответ на: комментарий от Napilnik

пруфы

А ты поизмеряй ёмкость плоского керамического конденсатора до пребывания в зоне облучения частиц и сразу после нескольких минут.

У меня на малой родине есть место, где все березы коряво-коряво растут и не понятно почему. Считается это за геопатогенную зону?

Измеряя емкость конденсатора в ней и вне ее — я смогу уловить отличия?

Как и что там будет влиять на емкость конденсатора?

pihter ★★★★★
()
Ответ на: комментарий от Napilnik

ну бред же: почему никто их не регистрирует при сегодняшних технологиях?

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

На самом деле, поживешь в нашем «честном» мире, еще и не в такое поверишь. Но в летающие камни я, таки, не соглашусь: было бы видно в телескоп, например. Или любительским радаром. Такое шило в мешке не утаишь.

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

Кто не глупый? Я?! Да в меня каждый Специалист на этом сайте, считает своим долгом, кинуть камень, завернутый в бумажку РНР — быдло.

pihter ★★★★★
()
Ответ на: комментарий от deadlock

Манипулятор херов.

Она — барышня (по крайней мере, пишет о себе, как о барышне :)

pihter ★★★★★
()
Ответ на: комментарий от grim

Покажите мне язык на котором проще написать домашнюю страничку и я уткнусь

На HTML + Javascript естественно.

Динамически-генерируемую домашнюю страницу: там же между строк написано ДИНАМИЧЕСКУЮ

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Лучше Страуструпа? :)

Поверь, даже он не знает всё о цепепе. Такой вот он сложный и полный сюрпризов

Верю, но в то, что ты знаешь С++ лучше него — решительно нет: глупо в такое верить, а мне сегодня сказали, что я — не глупый

какой язык во время рождения сабжа позволял крафтить простенькие странички меньшими усилиями?

И тогда, и сейчас - Лисп.

Почему, на твой взгляд, функциональное программирование менее популярно по сравнению с классическим (хотя что классичнее — вопрос) процедурным?

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Покажите мне язык на котором проще написать домашнюю страничку и я уткнусь, не покажете — и уткнитесь вы уже (хоть в этом треде)

HTML. :-)

Там же русским по серому написано (между строк, разумеется) ДИНАМИЧЕСКИ-ГЕНЕРИРУЕМУЮ домашнюю страничку!

pihter ★★★★★
()
Ответ на: комментарий от anonymous

то брэйнфак в качестве довода приводишь

Ты сказал что ЛЮБОЙ язык должен быть выразительным — я доказал, что НЕ ЛЮБОЙ. Да, брейнфак — язык хохмы для, тем не менее — язык и он существует и своим существованием перечеркивает твое заявление.

pihter ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.