The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Начало альфа-тестирования PHP 7. Новые выпуски PHP 5 с устранением уязвимостей

12.06.2015 10:59

Доступна для тестирования первая альфа-версия новой ветки языка программирования PHP 7, отличающейся кардинальной переработкой некоторых подсистем. Релиз запланирован на 12 ноября.

Ключевые улучшения:

  • Существенное увеличение производительности, благодаря применению новых методов организации работы с памятью и переходу на новые структуры хранения данных. В некоторых тестах PHP 7 до двух раз быстрее PHP 5.6;
  • Целостная поддержка 64-разрядных типов на 64-разрядных системах. В том числе возможность использования строк, размером до 2^31 байт, поддержка 64-разрядных значений integer при работе в Windows, поддержка больших файлов в 64-разрядных сборках.
  • Возможность обработки через исключения многих ошибок, ранее приводивших к принудительному завершению работы;
  • Новый оператор "??", позволяющий определить альтернативное значение, в случае если неопределён первичный объект присвоения. Например, для присвоения пустой строки, если не заполнен элемент ассоциативного массива теперь вместо isset($_GET['mykey']) ? $_GET['mykey'] : '' можно указать $_GET['mykey'] ?? "";
  • Возможность явного определения скалярных типов int, float, string и bool для аргументов и значений функций (например, "function foo(int $abc): int").
  • Режим жесткой проверки типов, включаемый директивой "declare(strict_types=1)", при котором несоответствие типа передаваемого функции или возвращаемого функцией значения будет приводить к ошибке.
  • Новый оператор комбинированного сравнения "<=>" с реализацией поведения, похожего на strcmp() и version_compare(), но через использование типового синтаксиса операторов сравнения. В частности, новый оператор позволяет не только проверить идентичность операндов, но и оценить какой из них больше другого (0 - равны, 1 - левый больше, -1 - правый больше);
  • Поддержка анонимных классов;
  • Поддержка группировки определений в операторе use (например, use Doctrine\\Common\\Collections\\Expr\\{ Comparison, Value, CompositeExpression };);
  • Новый метод Closure::call();
  • Дополнительный синтакс для встраивания unicode-строк \\u{xxxxxx};
  • Поддержка задания массивов констант в операторе define();
  • Возможность использования зарезервированных ключевых слов в новых контекстах (например, можно определить функцию forEach и она не будет пересекаться с оператором foreach);
  • Новый синтаксис "yield from выражение" для делегирования фукциями-генераторами операций в перемещаемые объекты и массивы.
  • В дополнение openssl добавлена поддержка TLS-расширения я ALPN (Application-Layer Protocol Negotiation) для согласования протоколов уровня приложений, используемых для обеспечения защищённого соединения. Используется в SPDY и HTTP/2;
  • Унификация синтаксиса определения переменных и переход к использованию AST (Abstract Syntax Tree). Изменение некоторой редко используемой семантики комбинирования переменных (например, $foo->$bar['baz'] теперь интерпретируется как ($foo->$bar)['baz'], а не $foo->{$bar['baz']}). Достаточно большая порция изменений, нарушающих совместимость;
  • Прекращение поддержки старых и не поддерживаемых вызовов SAPI и расширений: sapi/aolserver, sapi/apache sapi/apache_hooks, sapi/apache2filter, sapi/caudium, sapi/continuity, sapi/isapi, sapi/milter, sapi/nsapi, sapi/phttpd, sapi/pi3web, sapi/roxen , sapi/thttpd, sapi/tux, sapi/webjames, ext/mssql и ext/sybase_ct;

Дополнительно можно отметить выход корректирующих выпусков языка программирования PHP 5.6.10, 5.5.26 и 5.4.42, в которых устранены восемь уязвимостей и исправлено около десяти ошибок. В функцию mail() добавлена защита от подстановки дополнительных заголовков. В расширении FTP устранено целочисленное переполнение, которое может привести к выполнению кода. В функции escapeshellarg устранена уязвимость позволяющая осуществить подстановку команд операционной системы при экранировании спецсимволов в аргументах к функции system(). Две уязвимости устранены в расширении PCRE (CVE-2015-2325, CVE-2015-2326) и три в Sqlite3 (CVE-2015-3414, CVE-2015-3415, CVE-2015-3416).

  1. Главная ссылка к новости (http://php.net/archive/2015.ph...)
  2. OpenNews: Языку PHP исполнилось 20 лет
  3. OpenNews: Новые выпуски PHP 5.6.9, 5.5.25 и 5.4.41 с устранением уязвимостей
  4. OpenNews: В PHP 7 появится режим проверки скалярных типов
  5. OpenNews: Около 74% установок PHP содержат проблемы с безопасностью
  6. OpenNews: Разработчики PHP представили интерпретатор нового поколения (PHPNG)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42411-php
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (102) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, YetAnotherOnanym (ok), 12:06, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    "Кардинальная переработка некоторых подсистем" - это обнадёживает, но посмотрим, с какой частотой будут выходить версии семёрки с исправлением критических уязвимостей.
     
     
  • 2.7, Аноним (-), 14:01, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    99% уязвимостей - они в расширениях, в этом смысле ничего не поменялось, только разве что чуточку в лучшую сторону - есть более вменяемые и читабельные макросы для работы с параметрами, где ошибиться намного сложнее. Хотя сделаны они в первую для повышения производительности.

    А изменения тут в основном в zend engine. Переписали костыль-powered набор регулярок на нормальный Abstract Syntax Tree и оптимизировали потребление памяти, перейдя к более эффективным внутренним структурам. Структуры в LUA подсмотрели частично.

     
  • 2.11, Xasd (ok), 14:33, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –7 +/
    вот только в PHP до тех пор пока НЕТ механизма сохранения скриптового состояниия... большой текст свёрнут, показать
     
     
  • 3.12, Аноним (-), 15:23, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    хоспади, даже лень отвечать, какая у тебя каша в том, что у других называется головой
     
     
  • 4.34, angra (ok), 19:07, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > хоспади, даже лень отвечать, какая у тебя каша в том, что у
    > других называется головой

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


     
     
  • 5.38, Xasd (ok), 19:43, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Предложение по решению проблемы может и не самое удачное

    согласен что решение (предложенное мною) -- говно. да!

    просто, я поражаюсь что нет даже его :-)

     
     
  • 6.63, Аноним (-), 22:30, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Промежуточные данные в хранилищах, например [no]SQL базы. Вы хотите из php получить java для разработки локальных приложений?
     
  • 6.87, Аноним (-), 01:41, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    http://php.net/manual/en/book.pthreads.php
     
  • 6.103, абвгдейка (ok), 14:27, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    если ты чего-то не знаешь, это не значит, что этого нет. Открой для себя http://php.net/manual/en/book.shmop.php , http://php.net/manual/ru/book.apc.php и храни там свои "состояния":)
     
  • 6.104, AlexAT (ok), 14:59, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё можно сессии в mm хранить. В общем выборов решений - на вкус и цвет, но нет, некоторые упёрлись в классическую плохо пригодную для web модель "всё внутри", и пытаются ей оперировать.
     
  • 3.13, YetAnotherOnanym (ok), 15:25, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Неужели там всё действительно настолько неоптимально? Мне доводилось читать, что в PHP каждая страница формируется сама по себе, но что даже код самого интерпретатора каждый раз инициализируется заново - такого я даже предположить не мог.
     
     
  • 4.42, AlexAT (ok), 20:10, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Неужели там всё действительно настолько неоптимально? Мне доводилось читать, что в PHP
    > каждая страница формируется сама по себе, но что даже код самого
    > интерпретатора каждый раз инициализируется заново - такого я даже предположить не
    > мог.

    И при этом всём он ни фига не медленнее руби с питоном. Сюрпрайз?


     
     
  • 5.44, Одмин (?), 20:17, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > И при этом всём он ни фига не медленнее руби с питоном

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

     
     
  • 6.45, AlexAT (ok), 20:23, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это ты не понял сути проблемы. В PHP совершенно другая модель разработки, если тебе между запросами обязательно, вот ну прямо вешалки, надо хранить километры _внутреннего_ (!) состояния процесса - тебе мимо. Куда-то в сторону жабы или дотнета. Ну или для совсем примитива - nodejs.

    Для хранения того, что желательно хранить - есть СУБД, memcached, да APCU хотя бы. А если очень хочется что-то вот так мудрёно посчитать с большим стейтом (какую-то конкретику) - можно заюзать gearman/zeromq/rabbitmq/..., и разделить приложение на нестейтовый фронтенд и фоновую стейтовую логику, да ещё и распараллелить последнюю при этом. Ни капли не потеряв гибкости и плюшек языка. Решения есть, другое дело, что не надо совать одну и ту же "единственно расово верную" парадигму затычкой в каждую бочку.

     
     
  • 7.52, Аноним (-), 21:16, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это классическое CGI-поведение Не нужно выдавать неполноценность PHP за особенн... большой текст свёрнут, показать
     
     
  • 8.53, AlexAT (ok), 21:18, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С перлом только одно код там прочитать чужой без лишних телодвижений можно, не ... текст свёрнут, показать
     
     
  • 9.55, Аноним (-), 21:27, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Можно конеч Я читаю, дорабатываю как свои код, так и занимаюсь модулями из CPAN... текст свёрнут, показать
     
  • 9.77, vitalif (ok), 00:17, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да конечно можно, вопрос нечитаемого кода - он не в языке, а в быдлокодерах, кот... текст свёрнут, показать
     
  • 8.76, vitalif (ok), 00:16, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фуфло это всё Я сначала когда на перле писать начинал, тоже так думал В пыхе и... текст свёрнут, показать
     
     
  • 9.81, Аноним (-), 00:41, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я так понял что ты не осилил в итоге Ну а я - осилил - Теперь я копаю глубже... текст свёрнут, показать
     
  • 9.82, Аноним (-), 00:42, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    То есть в пыхе все все гоwнище сразу в памяти еще до старта Судя по тому скольк... большой текст свёрнут, показать
     
  • 9.83, Аноним (-), 00:44, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Кто тебе насвистел такое Или ты просто ниасилил Ну так я осилил Ты не умеешь ... текст свёрнут, показать
     
     
  • 10.84, vitalif (ok), 00:57, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Изыди троллятина онанимусная Осилил, не осилил, по существу бы лучше что-то ска... текст свёрнут, показать
     
     
  • 11.86, Аноним (-), 01:31, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Сказал же что я осилил горизонтально масштабирование с IPC SharedCache ... текст свёрнут, показать
     
     
  • 12.102, Аноним (-), 13:19, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Умница ... текст свёрнут, показать
     
  • 8.78, vitalif (ok), 00:20, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    P S Никто тебе, кстати, не мешает написать на пыхе свой HTTP сервер - есть даже... текст свёрнут, показать
     
     
  • 9.80, Аноним (-), 00:37, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вы предлагаете писать на PHP Не уважаете других - уважайте хотя бы себя ... текст свёрнут, показать
     
  • 3.27, Evolve32 (ok), 17:58, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    И как же вы такие вот negotiation'ы будете уникально идентифицировать, а? По сессионному ID? По IP? Я вашим таким ПХП память съем за несколько минут простейшим досом/ддосом, создавая уникальные сессии.
     
  • 3.28, Аноним (-), 18:02, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    отвечу.

    PHP-fpm постоянно крутит заданное количество рабочих процессов PHP, которые с версии 5.5 имеют встроенный zend cache. Zend cache сохраняет готовый байткод для исполнения, никакие файлы не инклудятся после первого запуска.

    Как код напишешь так и будет- никакой халявы тут не бывает.
    Для сохранения состояний есть специализированые средства от отдельного демона c zeroMQ и redis до mongoDB и других баз данных.

    Да всё это тоже есть в python, perl и ruby. PHP быстрее изначально и у него очень близкий синтаксис к C.

     
     
  • 4.31, Аноним (-), 18:41, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы либо СИ в глаза не видели, либо пхп, если разглядели близкий синтаксис, но ск... большой текст свёрнут, показать
     
     
  • 5.89, asd (??), 03:25, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> PHP быстрее изначально и у него очень близкий синтаксис к C.
    > Вы либо СИ в глаза не видели, либо пхп, если разглядели близкий
    > синтаксис, но скорее всего вы просто невежда который знает поверхностно 1
    > или 2 яп но мнит себя мега специалистом.

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

     
  • 4.35, angra (ok), 19:19, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит различать стадию парсинга исходников и превращения их в байткод от стадии ... большой текст свёрнут, показать
     
     
  • 5.37, VVV (??), 19:40, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Казалось бы что проще. Ну планируешь проект, который в пыхе "инициализируется несколько секунд", ну не используй и все.
    Найди десяток сишников посади их года два писать проект (они посреди дня еще трепаться будут здесь и на ЛОРе), вкрячь кучу бабла и пролети мимо прибыли, для надежности повтори 10 раз.
     
     
  • 6.40, angra (ok), 19:48, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя подростковое черно-белое мышление? Кроме php и C других ЯП нет?
     
     
  • 7.91, asd (??), 03:26, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > У тебя подростковое черно-белое мышление? Кроме php и C других ЯП нет?

    а я знаю! жаба исчо!


     
  • 5.41, AlexAT (ok), 20:08, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    И при каждом падении замечательно падает всё окружение со всеми дофигища исполняемыми запросами. А при "нелетальном" повреждении памяти... ээээ... кхм...
     
     
  • 6.46, angra (ok), 20:29, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это рассуждение в стиле "взрыв снаряда в стволе гаубицы куда смертоносней для ее расчета, чем треснувшее древко стрелы у лучника, давайте будем использовать лук и стрелы, вместо гаубиц".
    Ну и с чисто технической стороны речь шла про классический fcgi, который выполняет запросы последовательно. Рассказывать пыхарям про конечные автоматы и параллельное выполнение запросов одной копией скрипта уже было бы избиением младенцев. Пусть хоть обычный fcgi освоят.
     
     
  • 7.47, AlexAT (ok), 20:31, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечные автоматы говоришь А кто тебе мешает приложение разделить на стейтфул б... большой текст свёрнут, показать
     
     
  • 8.49, angra (ok), 20:47, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе осталось найти такое решение в php Теоретически конечно можно написать тол... текст свёрнут, показать
     
     
  • 9.51, AlexAT (ok), 21:09, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Опять же - ищем проблемы там, где их нет Чем nohup не угодил - я не знаю, но дл... текст свёрнут, показать
     
  • 8.58, Аноним (-), 21:53, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А причем тут архитектура приложений и кривой пхп Вы мне по факту предлагаете ис... текст свёрнут, показать
     
     
  • 9.59, AlexAT (ok), 22:04, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1 Какие два ЯП Где 2 ZeroMQ Или Gearman Инфраструктуру Ну я даже не знаю ... текст свёрнут, показать
     
     
  • 10.72, Аноним (-), 23:31, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Аналогично ... текст свёрнут, показать
     
  • 5.98, Аноним (-), 07:27, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    лолка, что тебе мешает иметь демона в котором все нужные объекты уже инициализированы и обращаться к нему из быстро загружаемых клиентов?

    >>Чувак, синтаксис к скорости не имеет практически никакого отношения.

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

    >>Скорость конкретных реализаций ЯП на некоторых задачах можно посмотреть на http://benchmarksgame.alioth.debian.org/

    вот и посмотри, PHP из скриптовых пока уступает только LuaJIT и Javascript на V8, с версии 7 отставание значительно сократится.

     
     
  • 6.99, Аноним (-), 08:09, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > вот и посмотри, PHP из скриптовых пока уступает только LuaJIT и Javascript на V8, с версии 7 отставание значительно сократится.

    Не смешнее меня ладно, уже не однократно писалось что тесты на данном сайте вообще не объективны, я лично оптимизировал пару тестов и они начинали работать в 1.5-2 раза быстрее.

     
  • 6.100, анонимус (??), 10:57, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Что? А Dart на 6-м месте что не скриптовый?
     
     
  • 7.105, Аноним (-), 17:23, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    разве он очень популярен?
     
  • 3.43, AlexAT (ok), 20:13, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > вот только в PHP до тех пор пока НЕТ механизма сохранения скриптового
    > состояниия между http-запросами (кроме как то что засунуто в $_SESSION) --

    Просто там совершенно другая модель работы, которую вы не осознаёте.

     
  • 3.117, MVK (??), 13:59, 20/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > вот только в PHP до тех пор пока НЕТ механизма сохранения скриптового
    > состояниия между http-запросами

    memcached для данных + opcache для скриптов -> все что нужно будет жить между запросами

     
  • 2.19, Нанобот (ok), 16:10, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    "Кардинальная переработка некоторых подсистем" - это значит, что все те подсистемы, которые за много лет были более-менее очищены от багов, теперь придётся очищать по новой
     

  • 1.2, ttldtor (?), 12:11, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И когда уже declare(strict_types=1) будет по умолчанию и неотключаемой?
     
     
  • 2.3, VVV (??), 12:20, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вряд ли скоро. И хорошо что так.
    Одни вон (не буду тыкать пальцем) доигрались с обратной совместимостью
     
  • 2.9, Аноним (-), 14:05, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, никогда - будет так же, как в JavaScript с 'use strict': BC поддерживается, но писать без стрикта - моветон и ататат.

    В JS мне совсем не мешает - поставил галочку в IDE, чтобы автоматически вставляло use strict, и все дела. Можно и без IDE - те же vim и emacs с задачей вставить строку при создании файла определенного типа справятся легко.

     
     
  • 3.18, Аноним (-), 16:10, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С перлом не попутали?
     
     
  • 4.36, angra (ok), 19:27, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.w3schools.com/js/js_strict.asp
    https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Strict_mode
     
  • 4.110, Аноним (-), 21:20, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Не попутал - я, в отличие от вас, имею опыт разработки на JavaScript.

    (Интересно, какие идиоты плюсуют такие высказывания).

     
  • 3.25, конь (?), 17:17, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    глупости. строгая типизация не приживется, а будет использоваться только в исключительных случаях.
     
     
  • 4.109, Аноним (-), 21:18, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зависит от того, в каком обществе.

    В среде программистов лапшой на вордпрессах - вряд ли.

    А в комьюнити вокруг symfony2 - вполне.

     

  • 1.4, Аноним (-), 13:08, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Потенциально скоро дорастут до Java.
     
     
  • 2.5, A.Stahl (ok), 13:32, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А оттуда и до плюсов недалеко...
     
  • 2.32, Аноним (-), 18:43, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Потенциально скоро дорастут до Java.

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

     
     
  • 3.67, Аноним (-), 22:46, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Эта яма называется рыночной нишей: веб и клиент-серверные приложения. У Java проблемы не архитектурные, а тезис был об этом (ОО парадигмы очень похожие сейчас).
     
     
  • 4.68, AlexAT (ok), 22:48, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На самом деле PHP за пределы веб выбрался уже давно, просто эти приложения слегка не на виду.
     
     
  • 5.75, Аноним (-), 00:08, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кроме мертворожденного php-gtk не могу припомнить...
     

  • 1.8, Аноним (-), 14:05, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > use Doctrine\Common\Collections\Expr\{ Comparison, Value, CompositeExpression };);
    > ??
    > <=>

    Сначала мы значит от перла уходим, типа нечитаемо, немодно, надоел и вообще. А сейчас - тихой сапой оттуда тащим фичи десятилетней давности. Окей.

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

     
     
  • 2.16, VVV (??), 15:45, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Пусть перл тоже стащить вещи десятилетней давности типа нормального ООП и сигнатур функций и я переметнусь обратно.
     
     
  • 3.20, Аноним (20), 16:31, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ооп не нужно
    там есть пакеты, кложуры
    используй функциональный подход и композицию вместо наследования - будь мужиком!
     
  • 3.21, Аноним (20), 16:33, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > сигнатур
    > функций и я переметнусь обратно.

    ненене
    сигнатуры ограничивают и загоняют тебя в рамки при реализации функций

    без сигнатур - возможности в реализации ограничены только твоим разумом

     
     
  • 4.23, VVV (??), 16:59, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    В этом вся проблема и есть.
    Когда надо принудительно ограничить возможности (инкапсулировать что-то, сделать строгий вызов функций, ограничить типы) в перле надо дополнительно измудряться. И каждый измудряется по своему. На определенном уровне все эти "костыли с гибкостью" даже если и требуются то решаются узким кругом людей в ограниченном месте с помощью еще более низкоуровневых плагинов например на С.
    А пых сознательно идет на ужесточение ограничений.
     
     
  • 5.39, angra (ok), 19:46, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Один из двух основных принципов Perl это "есть много способов содрать с кошки шкуру". Именно за это он любим. Вот только вменяемые перловики знают, что в команде всегда можно ввести _наиболее удобный большинству_ набор ограничений на способы снятия шкуры. После чего вместо разброда и шатания получаем не менее однозначный чем у питона вариант написания и оформления кода, но при этом он не навязан каким-то Гвидо, а выбран самой командой.
     
     
  • 6.54, AlexAT (ok), 21:21, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Один из двух основных принципов Perl это "есть много способов содрать с
    > кошки шкуру".

    Это что-то из официальной документации?

     
     
  • 7.62, Аноним (-), 22:26, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вы - тролль.
     
  • 3.56, Аноним (-), 21:37, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не нужно ООП. Вы еще тут начните говорить чтобы в Си классический ООП ввели. Нету в этих языка ООП и не нужно, это ООП-нотация которая позволяет реализовать если оно требуется. Вы наверное не знаете но техники наследования, полиморфизма и инкапсуляции реализуются и в Си довольно легко, а в Perl - и подавно.
     
     
  • 4.57, AlexAT (ok), 21:39, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не нужно трактора. Лопата есть. Вы наверное не знаете, что вдвоём копается лучше, а всей семьёй до пятого колена - и подавно.
     
     
  • 5.61, Аноним (-), 22:26, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не нужно трактора. Лопата есть. Вы наверное не знаете, что вдвоём копается лучше, а всей семьёй до пятого колена - и подавно.

    Вы - тролль.

     
     
  • 6.64, AlexAT (ok), 22:34, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ды ладно :)
     
  • 3.95, Аноним (-), 04:24, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Критерий "нормальности" - фстудию!

    На данный момент есть: штатный, через blessed хэши, и куча других реализаций: Moose, Mouse, Mojo. Есть даже inside-out.

    Сигнатуры добавили в 5.20.

     
  • 2.79, vitalif (ok), 00:25, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> use Doctrine\Common\Collections\Expr\{ Comparison, Value, CompositeExpression };);
    >> ??
    >> <=>
    > Сначала мы значит от перла уходим, типа нечитаемо, немодно, надоел и вообще.
    > А сейчас - тихой сапой оттуда тащим фичи десятилетней давности. Окей.
    > Вот только сделают как обычно, через задницу.

    Да, +100, неймспейсы эти в пыхе - это по-моему худшая из возможных реализаций. Даже синтаксис неймспейсов самый уродский из всех языков...

     

  • 1.14, Аноним (-), 15:28, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А я то думал, они 7 версией удивят, а оказалось что это просто перестановка мебели.
     
     
  • 2.48, Аноним (-), 20:46, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ожидали увидеть яву?
     

  • 1.50, Есюки (?), 21:08, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Нехай веселятся. GO их скоро сожрет с потрохами.

     
  • 1.60, Kodir (ok), 22:20, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    "В некоторых тестах PHP 7 до двух раз быстрее PHP 5.6;"

    Какой тонкий маркетинг! А ведь можно и так прочитать:
    "В похапэхе 5.6 некоторые функции были до того уродски спроектированы, что работали в 2 раза медленнее того, как можно было сделать подумавши".

    Вообще само существование похапэхи при наличии УЖЕ НАПИСАНОГО Перла - непонятный маразм. Синтаксис - видно откуда пёрли, так зачем это писали вообще? Поверхностный буржуйский ум готов применять любую парашу, лишь бы писать поменьше, а думать о перспективах - пусть яйцеголовые этим занимаются!

     
     
  • 2.65, Аноним (-), 22:36, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Читал новость: http://www.opennet.me/opennews/art.shtml?num=42387 ?

    PHP изначально назывался "Perl for Home Pages" и представлял из себя набор CGI Perl-скриптов. Не могу сказать почему функционал который был в CGI-скриптах не был представлен в виде Perl-модулей, но склоняюсь к мысли что это от неосиляторства. Ну а дальше CGI-скрипты тупо "толстели" без какой-либо вменяемой концепции. Практика показала что многим и такое вполне сгодилось в пищу..

     
     
  • 3.66, AlexAT (ok), 22:39, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ~70-80+% веб-сайтов в мире на протяжении уже больше пяти лет, да ещё с постоянным ростом и суровый крупняк типа фейсбука и вконтакта включая - это что угодно, но точно не неосиляторство.
     
     
  • 4.69, Аноним (-), 22:50, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вспоминая про большинство и 95% населения:

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

    Марк Твен

     
     
  • 5.70, AlexAT (ok), 22:51, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > "Если вы заметили, что вы на стороне большинства, это верный признак того,
    > что пора меняться."

    Ещё не ходите на руках по улицам, и не ездите на бочке на работу? А пора бы меняться.

     
     
  • 6.71, Аноним (-), 22:55, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Очень слабо (как раз соответствует уровню пхп-шника).
     
  • 6.106, Аноним (-), 20:47, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Оо да у вас хватает невежества спорить с Марком Твеном.
     
     
  • 7.115, AlexAT (ok), 18:43, 14/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Оо да у вас хватает невежества спорить с Марком Твеном.

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

     
  • 4.74, Аноним (-), 23:38, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что пхп разработчики уже начали получать нормальную зарплату? или как обычно вместо одного разработчика на ruby,python нанимают двух на пхп за те же деньги?
     
  • 4.85, Мяут (ok), 01:29, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > фейсбука и вконтакта включая <

    Которым в итоге пришлось в итоге выкинуть стандартную реализацию (Zend PHP) и пилить свои. Не очень удачный пример.

     
     
  • 5.94, Аноним (-), 03:33, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Которым в итоге пришлось в итоге выкинуть стандартную реализацию (Zend PHP) и пилить свои. Не очень удачный пример.

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

     
  • 5.112, be_nt_all (ok), 05:58, 14/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну что, запилили. Молодцы. Кроме фэйсбука на HHVM как минимум википедия теперь крутится. И что в этом плохого? Будем ставить в упрёк Питону, что они до сих пор не реализовали JIT в референсном CPhyton и народу пришлось пилить для этого PyPy? Логика развития современных скриптовых языков, однако. А если в седьмом пыхе люди правда добились сравнимого с "хипхопом" быстродействия, но без всякого джита, то на это даже становится интересно посмотреть.
     

  • 1.73, Аноним (-), 23:35, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    PHP - пожалуй самый худший предметно-ориентированный язык который я видел.
     
     
  • 2.88, Аноним (-), 02:04, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Perl же
     
     
  • 3.90, Аноним (-), 03:25, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    PHP - это давно уже не Perl сразу с момента как как закончилось использование CGI-скриптов.
    Perl создавался для обработки текста, но так как любые данные по сути являются текстом, то вполне логично что Perl оказался пригодным и всюду. Поэтому и интерпретатор что "безтиповые" данные обрабатываются через интерпретацию согласно написанному сценарию.
     
     
  • 4.92, Аноним (-), 03:29, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > PHP - это давно уже не Perl сразу с момента как как
    > закончилось использование CGI-скриптов.
    > Perl создавался для обработки текста, но так как любые данные по сути
    > являются текстом, то вполне логично что Perl оказался пригодным и всюду.
    > Поэтому и интерпретатор что "безтиповые" данные обрабатываются через интерпретацию согласно
    > написанному сценарию.

    и потому Perl - самый худший предметно-ориентированный язык (и это правда(с)васильева)

     
     
  • 5.97, Аноним (-), 07:14, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > и потому Perl - самый худший предметно-ориентированный язык (и это правда(с)васильева)

    Это не так, Perl - один из мощнейших языков программирования общего назначения. Только многие его не смогли осилить из-за недостатка IQ.

     

  • 1.93, Аноним (-), 03:30, 13/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, что же стало с PHP6 ?
     
     
  • 2.96, Аноним (-), 04:46, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в армию забрали
     
  • 2.101, Аноним (-), 11:35, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Авторы испугались, что php six похоже на php sux.
     
  • 2.107, Sylvia (ok), 20:59, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    PHP 6 была попыткой перевести все на юникод, от чего позже отказались,
    тем не менее книжки и статьи были написаны, вот чтобы народ не смущать 6-кой, от которой отказались, ее пропустили.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру