URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118169
[ Назад ]

Исходное сообщение
"Разработчики PHP предложили P++, диалект со строгой типизацией"

Отправлено opennews , 15-Авг-19 21:54 
Разработчики языка PHP выступили (https://externals.io/message/106503) с идеей по созданию нового диалекта P++, который поможет вывести язык PHP на новый уровень. В текущем виде развитию PHP мешает необходимость сохранения совместимости с имеющейся кодовой базой web-проектов, что удерживает разработчиков в ограниченных рамках. В качестве выхода предлагается (https://wiki.php.net/pplusplus/faq) параллельно начать развивать новый диалект PHP - P++, разработка которого будет вестись без оглядки на необходимость сохранения обратной совместимости, что  позволит добавить в язык революционные улучшения и избавиться от устаревших концепций.

Наиболее заметными изменениями в P++ станет переход к использованию строгой типизации и избавление от применения тегов "‹?". Для проекта предварительно выбрано имя P++ (PHP Plus Plus) по аналогии с  С++. PHP и P++ предложено развивать бок о бок и использовать единый runtime. Не связанные с синтаксисом низкоуровневые компоненты, структуры данных, расширения и оптимизации производительности  одновременно будут разрабатываться для PHP и P++, но в режиме PHP будет сохраняться обратная совместимость, а в P++ можно будет экспериментировать с эволюционированием языка.


Код на PHP и P++ можно будет смешивать в одном приложении и выполнять одним интерпретатором, но метод разделения кода пока не определён. При этом разработчики не отказываются от планов по развитию ветки PHP 8, в которой планируется (https://www.opennet.ru/opennews/art.shtml?num=50428) добавить JIT-компилятор и средства для обеспечения переносимости с библиотеками на C/C++. Проект P++ пока находится на стадии обсуждения предложения. Основным сторонником P++ является Зеев Сураски (Zeev Suraski (https://en.wikipedia.org/wiki/Zeev_Suraski)), один из лидеров сообщества разработчиков PHP, сооснователь компании Zend Technologies и автор движка Zend Engine.

Из возражений (https://wiki.php.net/pplusplus/concerns) оппонентов можно отметить опасение в недостатке ресурсов для продвижения проекта (в режиме полного рабочего дня над PHP работает всего два разработчика), возможность фрагментации сообщества,  конкуренция с уже существующим языком Hack (https://www.opennet.ru/opennews/art.shtml?num=39368) (PHP со статической типизацией), опыт проекта HHVM, в конечном счёте отказавшегося (https://www.opennet.ru/opennews/art.shtml?num=50133) поддерживать в одном runtime PHP и Hack, вопросы по поводу организации сосуществования и взаимодействия PHP и P++, нетривиальность конвертации кода PHP в P++, несовместимость P++ с существующими инструментариями для PHP и необходимость убедить авторов инструментариев и IDE обеспечить поддержку новой редакции.


URL: https://blog.jetbrains.com/phpstorm/2019/08/php-annotated-au.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=51291


Содержание

Сообщения в этом обсуждении
"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено пох. , 15-Авг-19 21:56 
так я не понял - phar:// поддерживать планируют?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 23:36 
Теперь file_exists() будет строго-типизированно запускать third_party-код при условии, что ты ему передашь строго-типизированную строку, строго-типизированно начинающуюся на "phar://".

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 09:12 
Для тех, кто в системные вызовы передаёт пользовательские строки без валидации - обязательно.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 14:09 
PHP система удаленных вызовов! Вот оно как Михалыч!

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Минона , 15-Авг-19 21:59 
Р##

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Рамзан Кадыров , 15-Авг-19 22:06 
Visual PHP

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 07:17 
ПыхПиПи

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 12:36 
Borland PHP

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено bo , 20-Авг-19 08:18 
Turbo PHP

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено MT , 15-Авг-19 22:04 
*.ppp

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 23:38 
π — [pi:]
PyPy — [pipi:]
P++ — [pipipi:]

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Michael Shigorin , 16-Авг-19 16:13 
А компилятор -- PPPC?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 00:05 
*.ppc

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Bbore , 16-Авг-19 00:21 
.пипец?)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Матцумото , 16-Авг-19 00:07 
.3p

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено 4eburashk , 16-Авг-19 02:19 
gpp

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 22:05 
Строгая или статическая типизация?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 22:10 
>strict_types

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Sw00p aka Jerom , 15-Авг-19 22:57 
а вот это ложное понятие, там должно быть strong

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Sw00p aka Jerom , 15-Авг-19 22:54 
это два разных понятия, как вы думаете?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 06:54 
Типизация не нужна. В этом-то и вся прелесть - код отработает и что-то выдаст в почти любой ситуации.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:25 
Правда такую фигню выдаст…

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 18:14 
Зато столько сразу эмоций! Живи эмоциями!

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:48 
Мы уже видели это https://stackoverflow.com/a/2220571

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Anonymoustus , 16-Авг-19 14:27 
> Мы уже видели это https://stackoverflow.com/a/2220571

Эталонное безумие.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 22:15 
"Два креста" - это сразу диагноз! ;)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Адекват , 16-Авг-19 12:15 
В фидо, если память не изменяет - плюсами людей банили.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 16:34 
Расстреливали из плюсометов

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Anonymoustus , 15-Авг-19 22:31 
Предлагаю для нового языка произношение «пипеп».

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 22:36 
- Давайте напишем язык удобный для всех, где нет никаких типов, где можно гвозди сравнивать с бананами и даже получать какой-то результат такого сравнения. Это же ваще круто и удобно.

- прошло 30 лет
- Давайте запилим язык, в котором будет типизация.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Kroz , 15-Авг-19 22:51 
Процесс взросления

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено jOKer , 15-Авг-19 23:46 
"Первые тридцать лет самые сложные в жизни мальчика" (с)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Анан , 16-Авг-19 01:29 
40

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:26 
65

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Hewlett Packard , 15-Авг-19 23:40 
> где можно гвозди сравнивать с бананами и даже получать какой-то результат такого сравнения

Это довольно старая идея. Из неё возникла такая интересная абстракция как "количество", а из неё потом - "число". Из которого потом - вся математика.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Crazy Alex , 16-Авг-19 00:53 
Вот только для написания софта - не очень подходит

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Hewlett Packard , 16-Авг-19 00:58 
Что именно не очень подходит для написания софта - абстракции, числа, математика или старые идеи?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 01:37 
- Да не согласен я!
- Что, с Энгельсом или с Каутским?
- С обоими!

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено илтя , 16-Авг-19 07:41 
Захожу в магазин и говорю: Здравствуйте, дайте мне семь

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Hewlett Packard , 16-Авг-19 08:14 
А вам отвечают что нет, абстракций сегодня не завезли, только настоящие, реальные программистские товары.
И дают вам цикл, монаду и итератор.

"Разработчики PHP предложили god-dam со строгой типизацией"
Отправлено Andrey Mitrofanov_N0 , 16-Авг-19 08:23 
> Захожу в магазин и говорю: Здравствуйте, дайте мне семь

"" Вам желательно отведать хорошей жирной курочки? Зайдите в любую харчевню, сделайте слуге вот этак (показывает, как вращают вертел) , god-dam, и вам приносят кусок солонины без хлеба. Изумительно! ""


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 00:03 
может что-то приличное получится. а то как вспомню:
$a=0;
if ($a==$b) {
//тут код выполнится
//если $b неопределено или null
}
ашшштрясет:) везде надо эти === писать чтобы все предсказуемо работало

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Hewlett Packard , 16-Авг-19 01:03 
Лучше что бы не выполнился? Почему?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:31 
Потому что разыменование не определённой переменной является логической ошибкой, и интерпретатор, написанный адекватными людьми, должен на этом месте падать, а не пытаться угадать, чего же на самом деле хотел сказать кодер.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено заминированный тапок , 16-Авг-19 09:34 
нет не должен (иначе бы софт должен что ли крашиться всегда и везде где встретить NULL в качестве значения? что за дичь)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 10:32 
Вот хороший пример человека, который не понимает разницы между "переменная не объявлена" и "переменной присвоено значение NULL".

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено заминированный тапок , 16-Авг-19 09:38 
ты походу перепутал всё с "разыменованием указателя", но тут ведь нет указателей и их разыменований. тут сравнение конкретного значения, пусть оно и NULL, а не попытка обратиться в область памяти с адресом NULL

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:08 
Это ты попутал ошибку разыменования нулевого указателя с логической ошибкой. В первом случае код всегда упадёт, потому что процессор откажется выполнить операцию (не берём в расчёт те архитектуры, где она допустима), во втором — для процессора всё выглядит нормально, но ошибку можно (и нужно) обнаружить на более высоком уровне, в самом интерпретаторе. Это позволило бы ещё на этапе начальной отладки выявить и устранить ошибку, но PHP её старательно скрывает, и она с высокой долей вероятности может попасть в прод.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено заминированный тапок , 16-Авг-19 09:32 
ммм, а 0 эквивалентно NULL ?

напомнило ещё JS : https://cs9.pikabu.ru/post_img/2016/09/15/7/1473939099158120...

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

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено заминированный тапок , 16-Авг-19 09:33 
*постичь дзен

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Урри , 16-Авг-19 11:00 
Сейчас набежит хипстота и обвинит тебя в неосиляторстве стандарта языка, где вся эта тысяча граблей старательно описана и запротоколирована.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 11:39 
не эквивалентно.
в php 2 типа сравнения, строгое и не строгое.
хочешь поведение когда типы не учитываются - твой путь к 2-м равно, хочешь с учетом типов - используй 3 равно.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 01:35 
Используйте === если Вам важен тип!
Я уже молчу, что Вы ССЗБ, если не проверяете переменную $b на существование или не используете оператор ?? .

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 07:15 
?? -?
Может имелось ввиду:

?bool ?int ?float ?array ?string

? :)


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 10:39 
> ?? -?
> Может имелось ввиду:
> ?bool ?int ?float ?array ?string
> ? :)

Нет!
Имелось ввиду или
$a=0;
if (isset($b) && $a==$b) {
//тут код выполнится
//если $b неопределено или null
}

Или

$a=0;
if ($a==($b??-1)) {
//тут код выполнится
//если $b неопределено или null
}

Хотя согласен, второй пример так себе и использовать лучше первый! (Просто я недооценил упоротость изначального кода)

Используя любую переменную программист ОБЯЗАН или быть уверенным, что она инициализирована, или проверить это!
Это не фишка PHP - это общие правила программирования!


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 10:56 
Нет такой «фишки в программировании», что null равен булевому значению.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 11:31 
> Нет такой «фишки в программировании», что null равен булевому значению.

В языках со СТАТИЧЕСКОЙ типизацией да!
В языках с динамической типизацией у каждого языка существуют свои допустимые правила преобразования типов.
и вполне логично, если вы явно не задаёте сравнение по типу (===), а сравниваете только по значению (==) например Вы сравниваете null с boolean то язык просто обязан привести их к одному типу для сравнения или null в boolean или boolean в null. И вполне логично что false==null 0=='', как и '3'==3, так как HTTP методы GET, POST, и COOKIE (я знаю что этот не HTTP метод, если что) могут могут передавать только строки, то даже используя <input type="number" name="int" value="3"/> В $_POST['int'] никогда не будет 3, там всегда будет '3' - это особенность HTTP-методов и HTTP-протокола, для работы с которым и был написан PHP!


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 17-Авг-19 22:22 
Ага. И if (var) на поинтерах в C тоже не встречается чуть менее чем нигде, уговорили.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:13 
> Используя любую переменную программист ОБЯЗАН или быть уверенным, что она инициализирована, или проверить это!

Между тем, это (на всякий случай, вдруг программист недоглядит, людям ведь свойственно ошибаться) мог бы проверить интерпретатор. А в случае, когда переменная не объявлена, — даже не проверить, а просто не пытаться как-то обойти заведомую ошибку.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 13:31 
Программист !== Рукожоп
Если Вы ДАЖЕ не можете "доглядеть", существование переменной, а проверять её Вам лень - то программирование это не Ваше дело!

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Anonymoustus , 16-Авг-19 14:29 
> Программист !== Рукожоп


Программист != Рукожоп

А если написать так, будет false или true?


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 14:35 
>> Программист !== Рукожоп
>
 
> Программист != Рукожоп
>

> А если написать так, будет false или true?

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:40 
ну и мтоге получается куча писанины и проверки типов. по сути вытаскивание глад через одно место:)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 10:31 
> ну и мтоге получается куча писанины и проверки типов. по сути вытаскивание
> глад через одно место:)

Вы вообще где и как его используете?
У меня в крупном веб-проекте (FastCGI) на самописном движке лишь несколько мест где, действительно, нужна проверка типа,
А в большинстве случаев, например при получении данных из $_POST, где априори, могут быть только строки, она вредит!


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:14 
> А в большинстве случаев, например при получении данных из $_POST, где априори, могут быть только строки, она вредит!

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 13:17 
>> А в большинстве случаев, например при получении данных из $_POST, где априори, могут быть только строки, она вредит!
> И чем же тебе повредит, если интерпретатор лишний раз убедится, что там
> действительно строка?

https://www.opennet.ru/openforum/vsluhforumID3/118169.html#119


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 10:37 
> не проверяете переменную $b на существование

А что, в PHP интерпретатор сам не проверяет переменные на существование перед тем, как исполнить выражение, в котором они встречены? Ну охренеть...


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 10:51 
>> не проверяете переменную $b на существование
> А что, в PHP интерпретатор сам не проверяет переменные на существование перед
> тем, как исполнить выражение, в котором они встречены? Ну охренеть...

Конечно же делает, и даже выдаёт ошибку в лог, который Вы, видимо даже не смотрите!
К сожалению, он НЕ прекращает выполнение скрипта сразу после этого, а сам её инициализирует и продолжает работу.

Можно поинтересоваться, а на каком языке Вы пишите, в котором такое рукожопие считается нормальным?


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:50 
> выдаёт ошибку в лог

Этого мало. Выполнение скрипта должно прекращаться.
> который Вы, видимо даже не смотрите

Упаси меня Господь смотреть логи PHP.
> на каком языке Вы пишите

Сейчас - на C и Erlang, если не считать мелких вспомогательных задачек, которые можно быстренько накарябать на awk.
> такое рукожопие считается нормальным

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 14:23 
>> выдаёт ошибку в лог
> Этого мало. Выполнение скрипта должно прекращаться.

Согласен! Но в динамических языках требования, к сожалению, не такие строгие, и чтобы сделать код надёжным не достаточно просто, чтобы он не вызывал критическую ошибку у интерпретатора, нужно смотреть в логи и исправлять ВСЕ не критические ошибки! Лог ошибок всегда должен быть чист, в идеале!
>> который Вы, видимо даже не смотрите
> Упаси меня Господь смотреть логи PHP.

А в C Вы тоже не смотрите логи компилятора?
Вот от этого у Вас и проблемы!

>> на каком языке Вы пишите
> Сейчас - на C и Erlang, если не считать мелких вспомогательных задачек,
> которые можно быстренько накарябать на awk.

То есть на языках, не считая awk (awk я не представляю без bash), со статической типизацией, не предназначенных для работы с HTTP.

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

PHP это язык с динамической типизацией специально предназначенный для разработки динамических веб-приложений!
Тут своя специфика работы, завязанная на работе протокола HTTP. Тут не C, который разрабатывался для системных исполняемых приложений и библиотек.
И со своей задачей он справляется лучше остальных.
А если кто-то его использует для чего-то другого, не связанного с этой задачей, тот или ССЗБ или должен учитывать его особенности!


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 17:04 
> не предназначенных для работы с HTTP

Авторы Webmachine, Mochiweb, N2O, Chicago Boss, Cowboy, Zotonic и множества других проектов наверняка удивились бы этому заявлению.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 17:25 
>> не предназначенных для работы с HTTP
> Авторы Webmachine, Mochiweb, N2O, Chicago Boss, Cowboy, Zotonic и множества других проектов
> наверняка удивились бы этому заявлению.

Я говорил про C и Erlang, хотя про эти "проекты", тоже впервые слушу, думаю и не один я.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 17-Авг-19 22:25 
Откройте для себя error_reporting(E_ALL), познайте новый чудный мир. А чтобы жизнь мёдом не казалась - ещё и set_error_handler, превращающий любой WARNING и NOTICE в эксепшн. Впрочем последнее - оверкилл, за исключением отдельных случаев когда дебажить выделенно некому.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 09:11 
Не надо везде писать ===. Надо просто понимать различия между == и ===, сиречь знать язык. У PHP не настолько низкий порог вхождения, как вы считаете. Наговнокодить на нём - да, просто. Писать же - не очень просто.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено DIO , 16-Авг-19 09:19 
prolog - не?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 22:43 
> в режиме полного рабочего дня над PHP работает всего два разработчика

А, ну это многое объясняет


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 22:49 
Г++

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 06:31 
ПолныйПЭ++

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 22:50 
Может аффторам пора завязывать с наркотиками? Сколько будут продолжаться метания? То Java пытаются делать из пэхэпэ, сейчас ++. Что дальше, phpjs?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Sw00p aka Jerom , 15-Авг-19 22:56 
устарело, phprust вероятно :)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено НяшМяш , 15-Авг-19 23:02 
Вы поосторожнее с этой игрой, а то так и спиться можно: https://github.com/hirak/phpjs )

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 23:26 
phplisp

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено wd , 16-Авг-19 01:43 
php4delphi и delphi4php я видел овер чем 10 лет назад
само собой не касался этого даже 6-метровой палкой

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 11:41 
жаву из пхп пытаются делать писатели фреймворков. разработчики ядра этим никогда не баловались.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Michael Shigorin , 16-Авг-19 16:21 
> Сколько будут продолжаться метания?

Насколько метамфетамина хватит, похоже... :(


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено th3m3 , 15-Авг-19 22:59 
Вместо того, чтобы закапывать php, собираются и дальше обмазываться этим УГ.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено BlackRot , 16-Авг-19 02:26 
Зачем закапывать пхп?
Вордпресс работает хорошо и быстро, страдания разработчиков видимо отсутствует. Объясните юзеру

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено th3m3 , 16-Авг-19 02:59 
Wordpress - это же притча во языцех. Он, наверное, никогда не работал хорошо и уж тем более быстро. Его даже разработчики php - используют как бенчмарк. Только я не понимаю, что они там тестируют. То ли как Wordpress тормозит на новой версии php, то ли как php тормозит на Wordpress :)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 09:00 
Все здоровые блоут-фреймворки, которые не более, чем попытка использовать классическую MVC модель, изначально спроектированную для компилируемых one-instance-multiple-requests приложений, в PHP, который мало того, что интерпретируемый, так ещё и one-instance-one-request, обречены "никогда не работать хорошо" и "никогда не работать быстро".

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 09:04 
Разработчики всего этого монструозного говнокода на пыхе просто делают так, как привыкли в "классике", абсолютно не учитывая особенностей языка. Например, забывая, что простая загрузка и инициализация 100500 мелких классов из 100500 файлов на каждый запрос даёт накладные расходы, вполне сопоставимые со всем полезным кодом в их блоатвари. Даже несмотря на опкэш, прелоудинги и т.п.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено пох. , 16-Авг-19 10:12 
вы уверены что они к какой-то там "классике" привыкли, а не "насяльника велел копай отсюда до обеда? Джамшут копать!"


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено x3who , 16-Авг-19 10:35 
> простая загрузка и инициализация 100500 мелких классов из 100500 файлов на каждый запрос даёт накладные расходы, вполне сопоставимые со всем полезным кодом в их блоатвари. Даже несмотря на опкэш, прелоудинги и т.п.

Как это на каждый запрос даже несмотря на кеш? Если есть кеш, то явно не на каждый запрос. Правда на каждый запрос может проверяться не устарел ли кеш и проверяться дата всех файлов, но КМК это не фундамельная проблема языка и такой контроль вообще можно сделать отдельным процессом, чтобы сессии не тормозить. Для сохранения состояния сессии между запросами - тех же классов, вроде есть какие-то кеши.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 19:42 
autoload'ы и __construct()'ы всё равно будут на каждый запрос

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Евгений , 16-Авг-19 21:02 
С принятием некоторых PSR и переходом многих фремворков на них, появились решения, которые позволяет выполнять PHP в режиме one-instance-multiple-requests. Процесс не умирает, просто создаётся новый Request, суётся в приложение, принимается Responce (всё это стандартные штуки из PSR), отдаётся клиенту, потом следующих цикл.

Так что ваши знания устарели )


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ананнимас , 17-Авг-19 09:46 
прямо смуззи и барбершопом мироточит
английский обычно лаконичнее впроизношении и написании, но это тот самый случай когда вместо модных-молодежных англицизмов можно было просто написать "Запрос" "Ответ"

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено x3who , 17-Авг-19 16:22 
Это названия объектов, в вашем 21м веке многие их по-старинке предпочитают называть латинскими буквами...

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 17-Авг-19 10:53 
Про PSR и всё что вокруг них вертится я вообще молчу, это попытка забивать миллиметровые гвозди отбойным молотком пятикилометрового размера, работающим на специализированном ядерном реакторе с штатом поддержки из 1500 человек.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено x3who , 17-Авг-19 16:33 
Вообще это выглядит избыточно, есть же сервера приложений - непонятно зачем эту логику впихивать в язык.

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено BlackRot , 17-Авг-19 00:08 
Зачем врать?
Nginx+php-fpm 7.3 летает как ракета, но если у вас всё плохо... могу помочь вам с вашим сервером.
был бы ВП так плох, не был бы номер 1 в мире. имхо

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено th3m3 , 17-Авг-19 00:30 
А я всё ждал, когда уже свидетели мощного wp заглянут на огонёк. Два дня ждали и вот)
1С тоже дно, но почему в бизнес кругах его часто юзают? То то же. Подсадили, а кто-то и рад обмазываться постоянно.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено BlackRot , 17-Авг-19 00:38 
я здесь каждый день так то... сравнивать хрен с пальцем это ты мастак. 1с норм, а вп так мне вообще нравится, я даже не стесняюсь участвовать в развитии этого проекта, локализация, плагины и т.д. но вы продолжайте умничать может кто-то заценит ваши инт способности

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено th3m3 , 17-Авг-19 04:18 
Если у тебя Wordpress топчик, то не сомневаюсь, что и 1C для тебя норм. Что поделать, бывает люди любят всякое копро и прочие экзотические извращённые вещи. Не нам их судить.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено BlackRot , 17-Авг-19 11:26 
WordPress топчик не у меня, а в рейтинге движков, мне он просто нравится, загугли и просветись.
Мнение диванного аналитика который только критикует но не предлогает, говорит о том, что перед нами обычный троль.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Уаська , 17-Авг-19 14:28 
А вот мне кажется пример с 1С прям в точку и совершенно не противоречит вашим словам, за исключением того, что wp - гавно. С чем спорить ну просто не рекомендую на публичных форумах ;) можно заработать плохую оепутацию, личные помутнения, ака любовь к этому убожеству лучше держать в секрете

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено th3m3 , 17-Авг-19 17:54 
Никто не спорит, что в рейтингах по всякому УГ, он занимает первые места. И я уже писал, всё что угодно - будет лучше php. А свой блог, можно быстро запилить на чём угодно. И он не будет таким дырявым куском УГ. Вангую, сейчас будет аргумент про кучу дырявых говноплагинов на все случаи жизни. Это уже даже не смешно.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено пох. , 17-Авг-19 22:20 
ну-те-с, давайте список "чего угодно"?

Г-нецо типа "статических генераторов" сразу засуньте себе - вот туда. У бложека (в отличие от партийных прокламаций) есть/должен быть живой фидбэк.

P.S. поделки на джанке - туда же. Это даже не смешно.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено BlackRot , 17-Авг-19 23:43 
с 2010 года юзаю вп, и плагины разных мастей, самый обычных с репов вп, и никогда никаких взломов небыло.
сайтов на вп у меня в данный момент 37, + несколько сайтов клиентов. но если ты плавал и знаешь о чём говоришь.... делаю вывод с того какой ты веб мастер.

я всего лишь обновлял вп сразу после выхода новой версии, софт на сервер самый свежий (fedora server) и временно закрываю неиспользуемые порты такие как к примеру ftp.

а ты не юзай, ментше слёз на форумах поддержки о поломке сайта по безрукости


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено th3m3 , 18-Авг-19 02:52 
Фу, как мерзко, называть меня этим словом - вебмастер.

WP я начинал уже тыкать где-то с 2005 года. Тогда это был ещё достаточно молодой движок. Даже казалось, что перспективный. Ничего особо не было. Как говорится, на без рыбье и рак щука.

Но шли года, а он становился всё больше днищем. Всё меньше пригодным для простого бложика. Но и для чего-то другого - он превратился в неповоротливого монстра.

Но, да. Он популярен. Народ хавает. Тот случай, когда можно расписарить даже какашку, если завернуть её в красивую обёртку.

Это моё мнение. Кто-то согласится, кто-то нет.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено BlackRot , 19-Авг-19 19:46 
Я лично не боготворю вп, просто в то время когда я его попробовал (где то в 2010м) он мне понравился, к тому же не маловажным для меня была его бесплатность, если бы я узнал о чём то лучшем чем вп, я бы сменил движок, я не из религиозных, для меня главное что бы это было лучшее из бесплатного, а когда у меня есть время с радость помогаю разработчикам выявлять баги, предлагаю идеи, пишу плагины, делаю переводы движка плагинов и тем. у меня есть личный бложик на вп в котором я ничего уже пару лет не пишу, он у меня всегда в бета стадии, использую его чисто для тестирования бенчмарками после каждой обновы, но не сравниваю его по производительности с другими движками. для меня после вп они как исчезли все так я и не мониторю что сейчас на рынке. вот гадостей полно и каждый может гадить, но я так и не услышал конструктивной критику почему он плох? что с ним не так? что тогда лучше и почему?
да, в вп в каждом обновлении закрывают какие то дыры, но мои проекты тьху тьху не ломали, у вп очень большое сообщество, возможно дыры и выявляют и что немаловажно быстро закрывают только благодаря большому сообществу, был бы двиг никому не нужен, никто бы и колупался в нём.
в винде вот тоже много дыр, но никто не спешит переходить на линукс, обновы выходят и уже хорошо.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Kreep , 21-Авг-19 02:32 
> мерзко
> днище
> монстр
> кaкaшка
> народ хавает

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 11:42 
альтернатива? куда не плюнь везде уг.
вон, прекрасный D есть, только что-то им никто не пользуется (без иронии, я и сам его считаю великолепным языком)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Anonymoustus , 16-Авг-19 12:37 
> альтернатива? куда не плюнь везде уг.
> вон, прекрасный D есть, только что-то им никто не пользуется (без иронии,
> я и сам его считаю великолепным языком)

Что посоветуете читать про D?



"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:22 
http://erdani.com/index.php/books/tdpl/

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Anonymoustus , 16-Авг-19 13:27 
> http://erdani.com/index.php/books/tdpl/

Надо же — тот самый Александреску. Что ж, надо читать. Благодарствую.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено th3m3 , 16-Авг-19 17:34 
Всё что угодно - будет лучше php.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено nio , 17-Авг-19 00:53 
Вам сюда: https://golang.org/

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено мужчина , 17-Авг-19 00:55 
> Вам сюда: https://golang.org/

Сам-то писал на нем, мальчик?


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено nio , 17-Авг-19 08:20 
>> Вам сюда: https://golang.org/
> Сам-то писал на нем, мальчик?

Когда я был мальчик, тебя ещё и в проекте не было.
И да: писал.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено nio , 31-Дек-19 02:14 
Да.
А когда я был мальчик, твои мама с папой ещё даже не встретились.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 15-Авг-19 23:11 
Ну наконец-то загнутся!

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 07:21 
"Не рой яму другому, - сам в нее попадешь" (c) Народная мудрость

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:33 
Так они же сами для себя и вырыли. Facebook только начал.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 09:20 
> Так они же сами для себя и вырыли. Facebook только начал.

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

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

Это просто - инструменты. Где то нужен молоток, а где то микроскоп и это очень глупо пытаться использовать микроскоп везде, где достаточно просто молотка.

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

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:24 
Ну да, отклонили, предложение, к сожалению. Продолжат трепыхаться в прежнем режиме.

"Разработчики PHP предложили P++, диалект со строгой типизацией"
Отправлено Анимайзер , 15-Авг-19 23:48 
> Разработчики языка PHP выступили с идеей по созданию нового диалекта P++, который поможет вывести язык PHP на новый уровень.

А что по этому поводу думает Илья Индиго? PHP на данный момент идеален и менять ничего не нужно? Или время идёт, ничто не стоит на месте, изменения назрели, PHP требует перемен и поэтому инициатива с P++ хорошая и полезная и от которой в долгосрочной перспективе только все выиграют?  


"Разработчики PHP предложили P++, диалект со строгой типизацией"
Отправлено Led , 16-Авг-19 00:53 
> Илья Индиго
> думает

А ты злой шутник...


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено vbv , 15-Авг-19 23:50 
Да скажите им, уже про существование С++.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Hewlett Packard , 15-Авг-19 23:57 
Вот этого лучше не надо.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 00:07 
тогда уж лучше про Java ;)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 06:12 
Чтобы потом по миллиарду за заимствованную строчку платить?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 10:00 
Петончик

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 22:35 
Ну это тоже похоронили все. Вместо плавного перехода и варнингов и деприкейтов они взяли и сделали огромную дыру между 2.7 и 3. А дпльше еще хуже пилили корутины, потом асинк и до сих пор полный бардакт и нет толковой документации. Конечно есть пионеры которые сразу такие да берем 3.8 и херачим, но ведь теперь полным полно старого барахла на 2.7, 3.3 и 3.5. Что вот с этим всем делать?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено RedEyed , 22-Авг-19 14:32 
Похоронили? OMG https://www.tiobe.com/tiobe-index/

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 07:05 
> Да скажите им, уже про существование С++.

Видел таких, которым сказали. Видел и результат. Передача векторов строк по значению -- это лишь то, что можно описать словами.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:14 
Ясень фиг, что кроме как сказать им о существовании, надо им еще и посоветовать научиться на нем писать. Например, чтоб не передавать вектор по значению.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 22:37 
А что плохого в передаче вектора по значению может им нужно копию там иметь где-то. Все эти ваши джавы с сылочными типами тоже не особенно хорошо куда не плюнь хер знает чему там что равно и давно ли уже все поменялось внутри.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 09:19 
>Да скажите им, уже про существование С++.

Он только свидетелям сишечки и нужен. Для веба давно есть нода и JS - за ними будущее.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:14 
a V8 по вашему на nodejs написан?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ononim , 15-Авг-19 23:56 
В чем проблема и дальше убивать совместимость постепенно и внедрять фичи. Просто более радикально. Много php4 проектов и так на 7 не заводятся. Без закапывания старого Овна новое лучшее овно не запилишь нормально

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 00:06 
Прыжок в строгую типизацию постепенно не сделаешь.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ononim , 16-Авг-19 00:18 
Можно что-то придумать. Для начала подвести синтаксис. Опционально включение флагом в php.ini. В след релизе по дефолту вкл и опционально выключение флагом. Большинство ньюфагов будут дефолт юзать. Олдфагам человекочасов работы накинут.
Потом и вовсе выпиливание.
Или сразу с плеча рубить. По началу бомбить буду, потом привыкну.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Анан , 16-Авг-19 01:32 
а то сейчас прям не так…
просто глыбу обратной совместимости очень сложно сдвинуть не потеряв половину "безнес-ориентированных" ленивых апологетов без тестов.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Hewlett Packard , 16-Авг-19 01:02 
Да что вы говорите.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено php , 16-Авг-19 02:30 
> Много php4 проектов и так на 7 не заводятся

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 11:45 
есть ретрограды типа того же сураски, которые не хотят ломать совместимость прям совсем. и тянуть легаси вечно.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 12:38 
Я, как пишущий и на php, только за ломание старого и выпиливания совместимости, если это помогает внедрить новые фичи на пути к светлому будущему ¯\(*_*)/¯

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 00:23 
Как бы уже проголосовали https://wiki.php.net/rfc/p-plus-plus единогласно против.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено vitalif , 16-Авг-19 01:40 
Славаяйцам

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 07:27 
странно что Zeev сам предложил и сам проголосовал против :)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 08:47 
Потому что идея витает вокруг да около уже давно, но зачем делать из PHP жабу, если уже есть жаба?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 08:47 
Фух. Разум таки восторжествовал.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Георгий , 16-Авг-19 14:52 
Моё мнение: современный PHP уже достаточно неплохой язык (примерно на уровне Ruby).
Дробить его на два языка — повторять ситуацию с Python 2 и 3.
Лучше стараться развивать язык эволюционно. Например, какой-нибудь "use strict" на уровне класса/функции/неймспейса.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено RedEyed , 22-Авг-19 14:35 
Развивать? Это как майкрософт развивает винду: оно типа лучше, но куча говна выходит из-за поддержки легаси.

А python3 сделали с блек джеком и шлюхами без гемороя с легаси.
Даже написали утилиту 2to3.py


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено анамнез , 16-Авг-19 00:32 
збс комметы на опеннете. лор в сравнением с этим - клуб джентельменов. по сабжу - все правильно, php давно перерос свою скриптовость.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено BlackRot , 16-Авг-19 02:32 
Ну здесь хоть немного трут гадость, а там...
Забанил их сайт у себя что бы случайно не перейти по какой то ссылке туда.
Сообщество посылающих в гугл умников, которые научились делать скрины неофетч и считаю себя уже всё знающими.
По минусам к этому коменту можно определить столько таковых оттуда прочитали это

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено leap42 , 16-Авг-19 02:41 
> php давно перерос свою скриптовость

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 07:41 
> но сейчас они есть

Javascript (aka nodejs) ?
Java ?
Perl ?
Python ?
Ruby ?
C ?
C# ?
C++ ?
Rust ?
Go ?
Erlang ?
Elixir ?

добавте если что то пропустил...

И что из этого массово(!!!) устаноленно на _ВСЕХ_ хостингах под апач или nginx по умолчанию?
И как Вы думаете, что из этого выберут юнные дарования без образования ?


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 07:46 
И какие же конкуренты в нише PHP?
Ruby, Python? О, наверняка, Java? Или язык для всего Rust?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 01:29 
>В текущем виде развитию PHP мешает необходимость сохранения совместимости с имеющейся кодовой базой

Прям как у С++


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 01:31 
Давно пора!

А более глобальные изменения?
Убрать $
Убирание схожих и дублирующий ф-ий и языковых конструкций.
include дать поведение require, а require убрать!
Убрать *_once
Привести в порядок ф-ии работы с массивами или всем дать префикс array_  а ещё лучше дать краткий a_


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Анан , 16-Авг-19 01:33 
ну ты вообщеееее!… экстримал-террорист!

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено vitalif , 16-Авг-19 01:42 
У меня один маленький вопрос, а на хрена тогда PHP?) пиши уж на ноде или на го каких-нибудь

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 22:40 
Да на питоне пиши там тоже можно как на PHP в виде cgi скрипта стартонуть и пожить и сдохнуть. В целом деже Django не так плох хотя конечно то ее дерьмище

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено mr.tacitus , 16-Авг-19 06:14 
или []::filter,[]::sort,[]::column,[]::map :-D

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 10:19 
> или []::filter,[]::sort,[]::column,[]::map :-D

Одновременно оператор массива, являющийся классом массива... это мне, кажется, уже через чур.
Вот так: a_filter(), a_sort(), a_column(), a_map() Было бы достаточно. :-)


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено mr.tacitus , 16-Авг-19 16:46 
но красиво же :)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 16:54 
> но красиво же :)

Согласен, красиво!
Но всё же 4 ([]::) символа вместо 2 (a_), и гораздо труднее реализовать, чем просто переименовать.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено mr.tacitus , 17-Авг-19 04:43 
по мне: что a_, что array_ — одно и то же и a_ напоминает попытку намазать зеленкой закрытый перелом

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 17-Авг-19 08:50 
> по мне: что a_, что array_ — одно и то же и
> a_ напоминает попытку намазать зеленкой закрытый перелом

Цель отделить строковые ф-ии от массивных.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 07:49 
Вот если бы они просто убрали не отключаемые в disabled_functions чудеса под названием language constructs, такие как злостный eval, то это бы поправило имидж  пыха значительно

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 10:45 
> Вот если бы они просто убрали не отключаемые в disabled_functions чудеса под
> названием language constructs, такие как злостный eval, то это бы поправило
> имидж  пыха значительно

Наоборот, нужно убрать саму disabled_functions, которая может приподнести неожиданный сюрприз, ввиде отключённой ф-ии, например невозможность установить права на выгруженный файл или проверить состояние демона через system!


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 11:25 
> Наоборот, нужно убрать саму disabled_functions, которая может приподнести неожиданный
> сюрприз,

сюрпризов не будет если уважать хост на котором прикрутили гайки, а проверять (всего в 3 строки), что можно а что нет:

function system_enabled() {
  return !in_array('system', explode(',', ini_get('disable_functions')));
}

а вот запрет выполнения eval-a, это уже защита хоста, на вскидку процентов 75 как минимум

> например невозможность установить права на выгруженный файл

может все таки лучше уважать права сервера и пользоваться тем что позволят ?

> или проверить состояние демона через system!

проверять состояние демонов - это обязанность админов и их софта который смотрит за системой.

Почему так всем хочется Windows 98, - пиши куда хошь, читай все что хошь.

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

чем попасть в новости с очередной дырой и ликом, не проще наследовать тот же принцип, что и в операционной системе, - исполняемый PHP код только на чтение - 755 && ownership root:root. А там куда PHP позволенно писать, - просто запрещать выполнение php кода.
В такой настройке даже самые старые версии пыха выдерживают атаки.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 11:48 
а зачем мне твоя system_enabled, если мне system нужна?

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 12:06 
> а зачем мне твоя system_enabled, если мне system нужна?

за тем чтоб геморроя не было, если хост беспокоится о безопасности и не позволяет запускать ничего кроме пых-кода. Там где действительно нужно запускать что то из оси, делается гейт, - пых сбрасыет запрос (через банальный файл флаг или REST API) и со стороны оси выполняются только whitelisted команды и возвращают результат


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 12:26 
как это решает вопрос геморроя?
мне system нужна, дай мне ее. ты не даешь.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 13:58 
> как это решает вопрос геморроя?
> мне system нужна, дай мне ее. ты не даешь.

Не даю, потому что если твой код будет иметь дыру, то имея доступ до system, exec, passthru, shell_exec, etc - система будет скомпроментированна


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 14:05 
если мой код будет иметь дыру, то система и без system будет скомпрометирована.
ты просто режешь функционал языка, и предусматривать каждого такого васяна, который решил задисейблить некоторый набор функционала - себе дороже будет. пусть это будет проблемой васяна и он вычищает disabled функции.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Michael Shigorin , 16-Авг-19 16:29 
Если реализация дыры будет через system(), то система без него скомпрометирована не будет.  По крайней мере конкретно через эту дыру.

// когда-то хостивший задаром всякое-разное...


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 11:56 
>> Наоборот, нужно убрать саму disabled_functions, которая может приподнести неожиданный
>> сюрприз,
> сюрпризов не будет если уважать хост на котором прикрутили гайки, а проверять
> (всего в 3 строки), что можно а что нет:
> function system_enabled() {
>   return !in_array('system', explode(',', ini_get('disable_functions')));
> }

Вот это уже костыль!
А если мне, таки, нужен вызов system?!
И мне что каждую в PHP ф-ию таким способом проверять, чтобы убедится, что упоротый админ не отключил её?
> а вот запрет выполнения eval-a, это уже защита хоста,

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

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

А может всё-таки стоит уважать права пользователя! Если сервер выделил для виртуального хоста место, так сказать его домашнюю директорию, то он вправе в ней делать что пожелает!?

>> или проверить состояние демона через system!
> проверять состояние демонов - это обязанность админов и их софта который смотрит
> за системой.

А если у меня, внезапно, веб-админка, которая мониторит и управляет запуском какого-то сервиса, который является непосредственно частью проекта, например отвечающего за обновление страницы в реальном времени, аля web-sockets, или запускающий сli-скрипт для рассылки уведомлений, или чистки чего-либо?
> Почему так всем хочется Windows 98, - пиши куда хошь, читай все
> что хошь.

В пределах домашней директории ДА! Так везде!
> PHP - интернет facing язык и конфигураця настройки должна ...

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 13:50 
> Вот это уже костыль!
> А если мне, таки, нужен вызов system?!

чуть выше уже писал: "Там где действительно нужно запускать что то из оси, делается гейт, - пых сбрасыет запрос (через банальный файл флаг или REST API) и со стороны оси выполняются только WHITELISTED команды и возвращают результат"

Зачем вам system, если система окажется сконфигурирована таким обазом, что и вызывать через system нечего будет (stripped down chrooted enviroment)?

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

да, проверять. Проблема  считать disabled_functions и проверить что перекрыто? Или проблема контактировать проджект менеджера и запросить (обоснованно) доступ к нужным функциям?

> что упоротый админ не отключил её?

"упоротыe" админы просто так не получают шестизначную зарплату в зелени...
они выполняют просто свою работу, чтоб дыр не было.

>> а вот запрет выполнения eval-a, это уже защита хоста,
> Защита какого хоста и от кого?

вы пишите на PHP и не знаете от кого защищают хосты?
От хакеров, от засланных казачков, от дурости и ошибок, etc...

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

Вы называете маразмом кучу взломаных сайтов в интернете ???
Вообще, это называется - security.

> А может всё-таки стоит уважать права пользователя!

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


> Если сервер выделил для виртуального
> хоста место, так сказать его домашнюю директорию, то он вправе в
> ней делать что пожелает!?

Нет, это не правильно. Если вы пишите программу для закрытой домашней локальной сети, то действительно фиг ней с секьюрностью.

Если же это комерческое приложение выпущенное в дикий интернет, то ваша "домашняя" директория должна иметь как минимум 3 уровня защиты на базе файловой системы - это вы,  как веб девелопер с правами писать и читать везде, PHP-FPM юзер которого вы должны ограничить только на чтение и назначить его на php файлы и открыть права на запись только в data директории, ну и others (веб серер) с правами ready only. В такой конфигурации, даже если хакер найдет лазейку, он не сможет изменить PHP файлы, а скинуть сpaнь в дата директорию с надеждой потом выполнить - тоже не получится, потому что в конфигах веб сеpвака  будет запрещена интерпритаця чего либо (php,perl,bash,pyhton...) в data директории


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

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

> В пределах домашней директории ДА! Так везде!

Я правда не хочу вас обидеть, но shared hostings и VPS типа "сделай сам по хавтушкам" - это далеко не везде, в серьезной конторе вы не встретите такого безобразия, это все равно что работать все время из под root-a или администратора а винде. Не правильно это, поэтому и придумали разграничение уровня доступа.


>> PHP - интернет facing язык и конфигураця настройки должна ...
> ...предсказуемой и внезапно не влиять на базовые возможности и ф-ии языка!

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



"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено x3who , 16-Авг-19 15:33 
> упоротый админ

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Ilya Indigo , 16-Авг-19 15:50 
https://www.opennet.ru/openforum/vsluhforumID3/118169.html#113

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено vitalif , 16-Авг-19 01:45 
Асинхронность им надо внедрить в язык. Щас есть всякие ReactPHP, но они сбоку. Внедрят - и попрёт) запретить по дефолту выполнение кода отовсюду кроме /index.php, чтобы дыры позакрывать. И т.п. Как будто заняться нечем.

А от типизации оно не попрёт. Те, кто любят пхп, очевидно, вряд ли любят типизацию.) любили бы - писали бы на чём-то ином.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 08:32 
Вот да, тредов очень сильно не хватает.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 09:33 
> Вот да, тредов очень сильно не хватает.

Для чего конкретно?


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено vitalif , 16-Авг-19 12:29 
Да для вебсокетов хотя бы

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 22:45 
1. Треды есть.
2. Сокеты реализуемы минимум двумя способами

Просто нах это не нужно никому. Вам уже сказали доросли до асинхронности вперед и с песней в JavaScript. Не доросли или страшно облажаться на проде - вперед в потоки в Java. Хотите работать с военными и строгую типизацию - тогда вашему вниманию предлагаю C/C++/D/Golang.

Думаю, что не нужно PHP трогать уже. Оставить его уже в покое и дать людям спакойно дожить. Все в PHP прекрасно и хорошо.

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

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено vitalif , 17-Авг-19 01:39 
Кэшированный AST сто лет в обед уже как раз хранится (apc/zendopcache).

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

В моём понимании просто основная фишка пхп в том, что в нём сразу встроено практически всё (99% того, что нужно в вебе). И всё это стандартное и везде одинаковое. В ноде любое приложение - это 500+ модулей-зависимостей. Помойка. В пхп мне достаточно 5-10 собственных классов и всё.

Я композер до сих пор не юзаю и скорее всего юзать не буду - он в пхп не нужен. Идеология и весь кайф именно в том, что всё встроено. Если юзать пхп как ноду с кучей зависимостей - проще уже действительно юзать саму ноду. И если юзать пхп как жабу с ORM-ами - то проще уже действительно взять саму жабу.

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

Поэтому имхо - если сохранить идеологию "всё встроено", но допилить до поддержки последних нововведений а-ля асинхронности (а-ля как в go) - было бы круто


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 17-Авг-19 10:47 
JavaScript
Асинхронность
/0

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 18-Авг-19 15:41 
А строгая типизация и C не /0? Это же вообще пушка.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 19:46 
Ну скажем так зо***ло писать форки и курлы, когда нужно в фоне обработать пяток блоков данных однотипно на множестве ядер. Это только например.

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

И так далее.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 21-Авг-19 09:20 
> Ну скажем так зо***ло писать форки и курлы, когда нужно в фоне
> обработать пяток блоков данных однотипно на множестве ядер. Это только например.

https://github.com/swoole/swoole-src



"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено OpenEcho , 16-Авг-19 09:41 
> запретить по дефолту выполнение кода отовсюду
> кроме /index.php, чтобы дыры позакрывать.

разве это относится к обязаностям языкa ???
достатчно убрать весь код из DOCUMENT_ROOT оставив только index.php и будет тот же эффект.
Тупоголовсть писателей, - вод где основная дыра



"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Gemorroj , 16-Авг-19 11:49 
ИМХО, им нужно что-то типа roadrunner вкрутить. Так они не потеряют всю stdlib, как произойдет с асинхронщиной.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено vitalif , 16-Авг-19 20:02 
им бы впилить "автоматическую" кооперативную асинхронность, чтобы при блокирующих вызовах на самом деле приостанавливался поток

в роадраннере так?


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:08 
Для чего нужен строго типизированный PHP? Напомню, что изначально PHP это шаблонизатор в который можно добавить немножко логики, прямо в текст страницы. Для чего достаточно трёх классов школы и пары примеров кода. Хотите возможностей Си с немногословностью скриптовых языков? Ваш выбор - Perl! Кстати, для чего эта гонка за производительностью? Ведь утверждалось, что скрипты в основном ждут I/O и хоть на ассемблере перепиши заметного ускорения не получишь.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 08:32 
Застрявшим в 1999 просьба не беспокоить.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 08:40 
Как будто что-то принципиально изменилось, за исключением того, что добавилось несколько более адекватных языков.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 10:13 
Список адекватных языков пожалуйста огласите, а то все какой-то маразм попадается, давно ищу...

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 10:55 
<trollmode>XQuery</trollmode>

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Адекват , 16-Авг-19 12:25 
>Ведь утверждалось, что скрипты в основном ждут I/O и хоть на ассемблере перепиши заметного ускорения не получишь.

как-то была задача написать скрипт

Если корень из (a^2+b^2)/(ab+1) дает целое число, то вывести его, если не целое то не выводить.
На баше скажем, с вызовом внешних софтин была одна скорость, потом я переписал его на си (как сумел) - получил скорость в 10000 выше.
Ради интереса попробуйте написать на вашем любимом языке, потом на СИ и задать цикл от 1 до 10000 посмотрите скорость выполнения.
ЗЫ:
a от 1 до 100
b от 1 до 100


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Michael Shigorin , 16-Авг-19 16:33 
"На баше" такое пишется "на bc(1)", разумеется.  Но с его форком и проверками всяко выйдет уже медленней, чем сишечка.

Кстати, многие ли читают переменные из файлов с помощью read var < file, а не var=`cat file` или в лучшем разе var="$(cat file)"?..


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено PnDx , 19-Авг-19 11:38 
1. Вот таки нет. На awk. На bash можно поливалку (a,b) в пайп организовать (Если очень хочется. Но будет в разы медленнее, полагаю).

2. Это надо специально bash'измы учить. С риском нарваться на какой-нибудь dash/ksh.
Реально требуется редко. Хотя…
M1="11111111111111111111111111111111" # 32 bit mask
M0="00000000000000000000000000000000" # 32 bit mask
mask=${M1::$MASK}${M0:$MASK:32} # Leading "1", trailing "0"
BYTE_MASK=$((2#${mask:0:8})).$((2#${mask:8:8})).$((2#${mask:16:8})).$((2#${mask:24:8})) # 4 octets
…иногда таки да.
По крайней мере, так оно нагляднее, чем битами крутить.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Michael Shigorin , 19-Авг-19 14:21 
>> read var < file
> 2. Это надо специально bash'измы учить.

Странный башизм, на dash/pdksh работает. :)


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним84701 , 19-Авг-19 22:09 
> Если корень из (a^2+b^2)/(ab+1) дает целое число, то вывести его, если не
> целое то не выводить.
> На баше скажем, с вызовом внешних софтин была одна скорость, потом я
> переписал его на си (как сумел) - получил скорость в 10000
> выше.

Что-то уж слишком.


% cat testsq.py&&time pypy testsq.py 10000
import sys, math

to_max = int(sys.argv[1])
for a in range(1, to_max):
    for b in range(a, to_max):
        ab = a*b+1
        sq = a*a + b*b
        mod_res = sq % ab
        if (mod_res == 0):
            div_res = sq / ab
            sqrt = math.sqrt(div_res)
            if sqrt == math.floor(sqrt):
                print(a,b)(1, 1)
(2, 8)
(3, 27)
...
(418, 1560)
(1560, 5822)
pypy testsq.py 10000  1,64s user 0,03s system 99% cpu 1,677 total


vs.

% cat square.c && gcc -Ofast square.c -o square -lm && time ./square 10000
#include <stdio.h>
#include <math.h>
int main(int argc, char** argv) {
    unsigned int max = atoi(argv[1]);
    unsigned int a, b, sq, ab, mod_res, div_res, sqrt_res;
    for (a = 1; a < max; a++) {
        for (b = a; b < max; b++) {
            sq = a*a + b*b;
            ab = a*b + 1;
            mod_res = sq % ab;

            if (!mod_res) {
                // да, я в курсе что целочисленные % и / будет одна операция
                div_res = sq / ab;
                sqrt_res = sqrt(div_res);
                if (sqrt_res  == floor(sqrt_res))
                  printf("%u/%u \n",a,b);
            }
        }
    }
    return 0;
...
./square 10000  0,47s user 0,00s system 99% cpu 0,477 total

ЗЫ: не, можно конечно использовать интринсики/SIMD, но это уже будет другой "класс" программ.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 22:49 
Строгая типизация в основном нужна на мой взгляд для удобства разработчиков. Для планирования перед разработкой, а не сначала делаем потом разбираемся в чем проблема. Для статического анализа и анализа всякими IDE

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 17-Авг-19 10:45 
Да. Строгая типизация в интерпретируемых языках в основном нужна тем, кто не может удержать в памяти и/или документировать структуры данных в процессе разработки.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено RedEyed , 22-Авг-19 14:38 
pypy Это чит ;)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 10:10 
> Дополнение: Проведено голосование, пытающиеся узнать, является ли P++ тем направлением, на развитие которого разработчики PHP готовы тратить своё время и силы. Все участники высказались против.

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


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Адекват , 16-Авг-19 12:17 
>Для проекта предварительно выбрано имя P++ (PHP Plus Plus) по аналогии с С++.

Ага, одно из новшеств будет прямое использование памяти, как C/C++.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:57 
Notepad++ :D

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 13:40 
pypi

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Георгий , 16-Авг-19 14:57 
Самое сложное лично для меня в современном PHP то, что нигде нет толкового объяснения, как можно заставить выполнять phar по аналогии с jar без распаковки. Чтобы не было гемора с правами файлов и т.п. Чтобы решение поставлялось одним куском и никакой вирусняк ничего не мог код редактировать. И чтобы от админа ничего не зависело.
Последний раз писал на PHP несколько лет назад. Отстал от жизни, короче.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 15:25 
PHP теперь умеет выполнять и c++ код!!

https://www.php.net/manual/ru/ffi.examples-basic.php


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Георгий , 16-Авг-19 18:18 
лол

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 16-Авг-19 19:51 
FFI просто офигенная вещь. Теперь вместо того, чтобы запиливать кастомные экстеншны к специфичным либам, в ряде случаев можно будет просто нарисовать обёртку.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Георгий , 16-Авг-19 20:12 
Вот это будет прикольно, если сделают, чтобы корректность проверялась на этапе запуска приложения, а не через type cast: https://wiki.php.net/rfc/generics

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Онаним , 17-Авг-19 10:43 
А зачем это языку с динамической типизацией, простите? Ну вот реально, каков юзкейс?

Вот чего реально не хватает - так это переопределения классами стандартных операторов (математических, логических, сравнения, etc.), но похоже с этим - никогда.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено pda , 17-Авг-19 02:58 
Я помню, добивался этого, но толку от этого оказалось чуть. Вместо прав php файлов вы получаете проблему прав на phar файл. А встроенные механизмы защиты они про контроль целостности, а не безопасность. Лучшее что там есть - подпись файла через openssl, но публичный ключ должен лежать рядом с phar. И это захардкожено.
Дальнейшее я припоминаю плохо, но по моему подписанные (по крайней мере opessl) phar вообще не могут быть исполняемыми. Это правда обходится неподписанным php или phar, который включает в себя подписанный...
Короче, phar это просто контейнер для composer и ни для чего другого он не предназначен.

С другой стороны, сейчас проще использовать контейнеры. Собрать сервер из контейнеров с nginx, php-fpm, mariadb... Ну и контейнер с файлами сайта можно туда монтировать. Вот и неизменяемость.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 16-Авг-19 15:42 
Зачем изобретать новый, когда уже есть жава, сишарп, етк

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено pda , 17-Авг-19 03:00 
Ну, затем что C# нормально работает только на венде. А решения на Java начинаются с предложения взять сервер с 16 Gb памяти. Для начала.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 19-Авг-19 18:54 
Сегодня заглянул в магазин 16 GB памяти стоит 5 тыс. рублей. разово
Стоимость месяца специалиста знающего С++ стоит 5 тыс. долларов ежемесячно
Выбор бизнеса очевижен вроде как. А для домашних пользоватлеей и тех кто не умеет считать всегда можно пистаь на PHP ;)

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено pda , 20-Авг-19 09:13 
Ещё бы эту память из магазина в VPS поставить - совсем хорошо будет.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Valar Morghulis , 16-Авг-19 16:57 
Лучше бы поправили всякие родовые травмы, а в целом язык оставили. Hih короче

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Griggorii , 16-Авг-19 22:10 
Ninja-ide help httpython вот так проще

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 18-Авг-19 16:10 
>в которой планируется добавить JIT-компилятор

Шел 2019 год.


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 20-Авг-19 16:05 
> удерживает разработчиков в ограниченных рамках
> все участники высказались против

Прикольно)


"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено rihad , 20-Авг-19 16:24 
Фейсбук был написан Цукербергом на пыхе. Что еще раз доказывает, что для того чтобы стать миллиардером никакие толстожопые языки и фреймворки вроде руби, рельсов или жабы с шарпами не нужны.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено mickvav , 20-Авг-19 17:27 
А потом, когда взлетело хоть как-то - неспеша переписан нормальными ребятами за зарплату на типизированном надмножестве php - hack-e, который удобен для фейсбуковских задач. Так что да, чтобы стать миллионером - таки не нужны. А вот чтобы перешагнуть миллиард - внезапно оказывается, что можно и нужно написать свой фреймворк. И платить инженерам, чтобы вот все это летело.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено Аноним , 20-Авг-19 22:51 
они изобретают го походу. кто-нить, расскажите им, что го уже существует, они походу не в курсе.

"Разработчики PHP предложили P++, диалект со строгой типизаци..."
Отправлено InuYasha , 04-Ноя-19 20:26 
Как жаль что предложение так и не приняли :(