The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования PHP 8.0, opennews (ok), 26-Ноя-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


52. "Релиз языка программирования PHP 8.0"  –8 +/
Сообщение от menangen (?), 26-Ноя-20, 19:53 
Кроме нового тормозного JIT - ничего нового, и эти дурацкие $имена $переменных - господи, они так неумело перл копировали, что всё говнецо спёрли в свой пхп
Ответить | Правка | Наверх | Cообщить модератору

60. "Релиз языка программирования PHP 8.0"  +2 +/
Сообщение от Страшный аноним (?), 26-Ноя-20, 20:00 
Не кинешь нам на посмотреть ссылочку на твою правильную копию perl-а?
Ответить | Правка | Наверх | Cообщить модератору

62. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 26-Ноя-20, 20:03 
$ в именах переменных - это слегка непривычно, но в конечном счёте очень удобно.
Во-первых, снимает проблему насчёт того, окажется твой $xor ($throw, $define, нужное вписать) ключевым словом или нет.
Во-вторых, есть такой концепт, как обращение к методу или свойству по динамическому имени. $object->$namedProperty. Позволяет не городить map'ы.
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

67. "Релиз языка программирования PHP 8.0"  +1 +/
Сообщение от Аноним (58), 26-Ноя-20, 20:17 
А реальная причина в том, что парсеру так проще, он получается эффективнее. Для не-компилируемого языка это тоже немаловажно. В чём допустим проблема, что у вротпресса и симфоней от JIT толку нет? Они 100500 файлов кода затаскивают дольше, чем этот код выполняют, любители "классики" и "разбить на 100500 классов по 1 методу в каждом" игрались.
Ответить | Правка | Наверх | Cообщить модератору

155. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (155), 27-Ноя-20, 04:25 
Бред, не имеющий ничего общего с реальностью. Симфони компилирует ди-контейнер + опкеш умеет подгружать небольшие файлы + есть прелоад
Ответить | Правка | Наверх | Cообщить модератору

205. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 27-Ноя-20, 10:43 
1. Для загрузки каждого класса срабатывают загрузчики классов самого скрипта. 100500 раз на каждый мелкий класс. Это ещё до опкеша не дойдя.
2. Preload делается только вручную. Ну и preload не панацея, см. далее.
3. Там проблема не только в 100500 файлах, но и 100500 классах / объектах. Каждый надо инициализировать. Как внутри Zend, так и потом при вызове конструктора. С первым preload вообще может навредить, если мы загружаем потенциальное "всё что может понадобиться". Инициализация "всего" в Zend будет на каждый запуск, даже если это наше всё не нужно.
4. С опкешем казалось бы всё хорошо, но есть два "но".
- 4a. По умолчанию опкеш проверяет отсутствие изменений файлов регулярно. Это fstat(), далеко не самый лёгкий вызов. Чтобы он этого не делал, надо выкручивать руками, и не всегда пригодно. Особенно если сама аппликуха может перестраивать свой собственный кеш в виде .php-файлов.
- 4b. Даже загрузка из опкеша с выкрученным в 0 проверяльщиком также приводит к инициализации внутренних структур Zend для каждого из загружаемых файлов, классов и т.п. Эти накладные расходы при наличии 100500 классов очень велики.

Если не растекаться мыслью по древу - смотрите на эффект от JIT. Он очень показателен. Как уже писал - в мега-декомпозитах накладные расходы превышают по весу само приложение, и это сразу видно.

Ответить | Правка | Наверх | Cообщить модератору

102. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (40), 26-Ноя-20, 21:38 
Они когда неумело копировали perl, не удосужились подумать, для чего там что было сделано. В итоге получилось намного хуже, но без полной ломки обратной совместимости уже не исправить (да и зачем, если есть perl?).
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

228. "Релиз языка программирования PHP 8.0"  +3 +/
Сообщение от анон (?), 27-Ноя-20, 12:30 
Проблема даже не в дурацком синтаксисе - этот язык не предназначен для чего-либо серьезного. Сразу начинают всплывать детские болезни языка. Я php не использую, но приходится подстраиваться. Простой пример - принимая пустой Map PHP отдаст пустой Array, что вызывает ошибки на тех серверах с которыми он общается. А все потому-что в PHP map и array это одно и тоже(это все map). Если этот map пуст или элементы пронумерованы по порядку - php считает его array. Плюс концепция php где он выполняет работу и умирает плохо подходит для современных веб приложени. И попытки заставить php генерировать события выглядят как натягивание ежа на глобус. Да и объедиенение фронтенда и бекенда в одном сервисе(а именно такая работает php) - это плохой подход. В итоге на php остаются те кто по каким-то причинам не стал учить другие яп. Из плюсов только низкий порог вхождения, это также и минус т.к. если профессионалы хоть как-то могут сделать более-менее нормальное приложение на php, то новички вообще ужас творят.
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

268. "Релиз языка программирования PHP 8.0"  –1 +/
Сообщение от Аноним (58), 27-Ноя-20, 16:20 
> концепция php где он выполняет работу и умирает плохо подходит

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

Ответить | Правка | Наверх | Cообщить модератору

296. "Релиз языка программирования PHP 8.0"  +/
Сообщение от анон (?), 27-Ноя-20, 22:28 
О чем речь? Вызов метода в "классической" парадигме - эквивалент полному циклу работы php. Много мозгов не нужно чтобы это понять, а вот перестроиться под нормальную работу после php мозгу какраз тяжело. И для современного веба это плохо подходит - постоянные уведомления в веб приложениях, и прочий интерактив. Я не говорю что php надо хоронить, но крупные проекты доставляют неудобства не только самим пхпшникам и решение проблем и детских болезней php занимает уже значительное время в разработке.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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