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

Исходное сообщение
"Релиз языка программирования PHP 8.2"

Отправлено opennews , 08-Дек-22 19:03 
После года разработки представлен релиз языка программирования PHP 8.2. Новая ветка включает серию новых возможностей, а также несколько изменений, нарушающих совместимость...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=58288


Содержание

Сообщения в этом обсуждении
"Релиз языка программирования PHP 8.2"
Отправлено DEF , 08-Дек-22 19:03 
PHP становиться все лучше и лучше. Постепенно избавляется от динамической типизации и становится строгим с жесткой типизацией. Это плюс.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:31 
>Постепенно избавляется от динамической типизации и становится строгим с жесткой типизацией.

Ну как жёсткой, сверху тайпскрипт, снизу anytype.

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:52 
Даже не знаешь, на чём лучше писать: то ли на пыхпыхе, то ли на расте...

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 01:10 
https://docs.rs/phper/latest/phper/

"Релиз языка программирования PHP 8.2"
Отправлено виласкес , 09-Дек-22 14:22 
там что-то с сертификатом (традиционная "безопасность" в духе раста), лучше не открывать

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:57 
Где ты там увидел строгость, болезный? Язык как был галимой динамической императивщиной, таким и помирает. Чтобы узнать, что такое строгость надо Clean потыкать.

"Релиз языка программирования PHP 8.2"
Отправлено DEF , 08-Дек-22 22:11 
PHP не умирает, его доля почти 80% веба. Был динамическим, становится статическим со строгой типизацией. Что такое стогость, я лучше тебя знаю, эникейшик. Выздоравливай.

"Релиз языка программирования PHP 8.2"
Отправлено Анончик , 10-Дек-22 13:25 
>становится статическим со строгой типизацией

Извиняюсь, ткните носом где в новости вы такое увидели?


"Релиз языка программирования PHP 8.2"
Отправлено Lost Inside , 09-Дек-22 10:58 
Ну есть же скрепное intval(), чего тебе еще надо? ))

"Релиз языка программирования PHP 8.2"
Отправлено BuildPrice , 08-Дек-22 19:03 
>> public function bar((A&B)|null $entity)

догоним и перегоним Rust/C++ по говнокоду?


"Релиз языка программирования PHP 8.2"
Отправлено Растишка , 08-Дек-22 19:07 
Хруст и плюсы точно приятнее

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:58 
Плюсы и похапе примерно одного уровня шлак, только последний столько вреда не принёс ввиду ограниченности области применения.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:28 
Ну-ка, умник, а как же будет не говнокод?

"Релиз языка программирования PHP 8.2"
Отправлено Инженегр , 08-Дек-22 23:28 
struct A {};
struct B {};
union C
{
  A a;
  B b;
};
void foo(C * c);

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 00:03 
у тебя малюююсенькая ошибка: невозможно определить, что же лежит в Цэ.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 12:41 
ты пытался сделать function bar(A|B|null $entity)
но даже это не получилось.
Можешь не пытаться делать Intersection Types в языке без интерфейсов и наследования, учитывая что даже простое объединение не смог

"Релиз языка программирования PHP 8.2"
Отправлено Кир , 09-Дек-22 01:22 

using namespace std;

variant<int, string, float> x;
x = "foo";

/*....*/

if(holds_alternative<string>(x)) { /* в x -- строка */
    cout << get<string>(x) << endl;
}



"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 01:42 
Какой ужас!

"Релиз языка программирования PHP 8.2"
Отправлено Кир , 09-Дек-22 14:43 
Ужас -- это пых, в котором прога свалится в рантайме, если в функцию попадет значение не того типа.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 21:59 
php компилирует пофайлово, и понятия не имеет о взаимосвязях между кодом, расположенном в разных файлах. Так что кроме как в райтайме, вариантов и нет.

Впрочем, если пришлось связаться с php, статические анализаторы спасают.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:35 
Опеннет эксперт по программированию первый раз в жизни увидел объединение и пересечении типов и сделал единственный, доступный на его уровне компетенции вывод.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:14 
пора его переименовать из personal в corporate home pages.
хотя на счёт home тоже подумать можно

"Релиз языка программирования PHP 8.2"
Отправлено BrainFucker , 08-Дек-22 20:28 
Так его уже переименовали в "PHP: Hypertext Processor". Но в данном случае для первой буквы могли бы что нибудь поприкольней придумать, "professional", например, и пофиг что к многих бомбанёт с этого ))

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:51 
Painful

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:00 
Parody))

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:33 
Pandemonium

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 12:31 
Pride

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:32 
CP получается, мне это нравится

"Релиз языка программирования PHP 8.2"
Отправлено Вы забыли заполнить поле Name , 08-Дек-22 19:18 
> добавлены новые функции
> sodium_crypto_stream_xchacha20_xor_ic

Какое красивое и лаконичное название. Очень продуманно, как и весь язык в целом.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:29 
содиум крипто стрим икс чача двадцать ксорик

"Релиз языка программирования PHP 8.2"
Отправлено Gedweb , 08-Дек-22 19:35 
PHP он такой, берёт функцию из сырцов, добавляет префикс и готово.
Хотя постойте, выходит так назвали функцию в священном .., о боги!
https://github.com/jedisct1/libsodium/blob/master/src/libsod...

"Релиз языка программирования PHP 8.2"
Отправлено Вы забыли заполнить поле Name , 08-Дек-22 20:56 
> добавляет префикс

На кой лад тогда в язык добавляли пространства имён, если все скидывают в глобальную область?


"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 08-Дек-22 21:05 
Это перескок на другую тему

"Релиз языка программирования PHP 8.2"
Отправлено Gedweb , 09-Дек-22 11:41 
А вот это вопрос по существу. Новые функции называют для единообразия, но ничто не мешало вынести в отдельное пространство имён их изначально. Как с этим позже поступл, например, создатель модуля RdKafka.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 13:42 
Так пошло с тех времён, когда неймспейсов не было. Да и по psr нецмспейс первого уровня - это vendor.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 19:44 
Шоб было.

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 08-Дек-22 21:04 
Это называется самодокументированный код.

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 08-Дек-22 21:06 
вы наверно GTK и традиции некрософта не знаете?

"Релиз языка программирования PHP 8.2"
Отправлено Вы забыли заполнить поле Name , 08-Дек-22 21:11 
Просвети, ты же эксперт

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 22:15 
Это он Qt ещё не видел

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 13:14 
в Qt хотя бы объекты группируют, что не надо писать еще и префикс объекта.

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 13:13 
GTK2:
void g_signal_handlers_unblock_by_func( gpointer  object, GCallback func, gpointer  data);
button = gtk_button_new_with_label ("button,");
NTDLL:
NtAdjustTokenClaimsAndDeviceGroups
NtAlpcImpersonateClientContainerOfPort
NtWaitForWorkViaWorkerFactory

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 19:46 
Так этот GTK2 спокойно маршалируется с помощью GI в пердсставление с делимитерами в тех языках, которые их поддерживают.

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 13:21 
Зря ты так про эксперта, я не теоретик, у меня стаж с детства, интернетов в моем детстве не было, я вместо анимэ уже пытался программировать на VBA/VBS и батники делал, что было в винде 95, а затем XP, и на макроассемблере с WINAPI тоже, и на делфи. Это все еще во время школы лишь, без нормального инета.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:44 
Поскольку корни названий заходят в сишечку, на библиотеках на которой пых и собран, а в сишечке с названиями в силу жёсткой естественной фрагментации с именованием полнейший бардак, удивляться тут нечему. И ни у кого, кроме хипстеров, привыкших к полсотне однострочников в зависимостях, это особого баттхёрта не вызывает. Заглянуть в хэндбук в случае чего - дело 5 секунд, дальше часто встречаемое запоминается.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 19:47 
>Поскольку корни названий заходят в сишечку, на библиотеках на которой пых и собран, а в сишечке с названиями в силу жёсткой естественной фрагментации с именованием полнейший бардак, удивляться тут нечему.

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:45 
php движется в сторону java где принято давать длинные идентификаторы объектам. Ограничения типов вводят, магические методы отключают.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:49 
Уху, и поэтому берёшь какой-нибудь там Hibernate, заглядываешь внутрь, и о***неваешь.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:22 
ну, теперь всех новичков точно можно будет отпугивать синтаксисом. Столько сахарку сыпят с каждым релизом...

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:29 
Какие новички на похапе? Похапэ это только лютое легаси.

"Релиз языка программирования PHP 8.2"
Отправлено Chlen22sm , 08-Дек-22 20:02 
Ага, учитывая что 90% всего вэба это вордпресс.

"Релиз языка программирования PHP 8.2"
Отправлено DEF , 08-Дек-22 20:12 
Не 90%, а 43%.

"Релиз языка программирования PHP 8.2"
Отправлено BrainFucker , 08-Дек-22 20:30 
Будто вордпрес не легаси. Там код ппц.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:40 
> 90% всего вэба это вордпресс

причём появляется этот вротпресс в новостях исключительно в негативном смысле.


"Релиз языка программирования PHP 8.2"
Отправлено DEF , 08-Дек-22 20:55 
Систематическая ошибка выжившего. Хорошие новости не постят.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 14-Дек-22 10:48 
Либо их кто-то очень особенный не читает.

"Релиз языка программирования PHP 8.2"
Отправлено Chlen22sm , 09-Дек-22 03:28 
Человек хорошее воспринимает как должное. Поэтому большинство отзывов о товарах и услугах - негативные. Туда же и новости. Открой любой новостной телеграм канал - сплошной негатив.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:02 
И какое отношение имеет вордпресс к новичкам в пхп? Вордпресс это софт, который пилит кучка наркоманов, "программистов на вордпресс" не существует.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:54 
> Столько сахарку сыпят

Это уже не сахар, а лимон с перцем.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:24 
> Добавлены отдельные типы "true", "false" и "null"

Я на пхп никогда не писал, но это выглядит как достижение века!


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:39 
>>> как достижение века! <<<

В язык Си (C23) вон тоже добавили полноценный bool, false, true, - больше не надо использовать <stdbool.h>, а false и true это больше не макросы, - вот это я понимаю достижение:)  


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:47 
>>>> как достижение века! <<<
> В язык Си (C23) вон тоже добавили полноценный bool, false, true, -
> больше не надо использовать <stdbool.h>, а false и true это больше
> не макросы, - вот это я понимаю достижение:)

Блин точняк! Я и забыл, как сам подключал stdbool на сишечке...


"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 08-Дек-22 21:15 
Вам, кто называет "сишечкой" не понятно, что Си создавался для того, чтобы не писать на ассемблере, и чтобы можно было компилить более менее кросс-железно. Его правильней называть языком среднего уровня. В железе нет типа bool, там есть 8/16/32/64-битные регистры, в которых хранятся числа или адреса, а также битовые флаги в регистрах не общего назначения, которые меняются через загрузку в регистр общего назначения и выгрузку обратно, и больше ничего. Задача Си преобразовать алгоритмические читаемые глазами операции в машинный код конкретного процессора. Rust же неоправданно перегружен кучей всяких спецсимволов, осложняющих чтение, что приведёт к ошибкам по невнимательности.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:20 
>>> Rust же неоправданно перегружен кучей всяких спецсимволов, осложняющих чтение <<<

ИМХО, скоро в Си будет не лучше, - ибо товарищи стандартизаторы они такие:)


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 23:56 
в Си хотя бы стандарты есть.

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 08-Дек-22 22:41 
Меня до сих пор изумляет слепота разработчиков, выдумавших в нем совершенно лишние  платформозависимые типы, завязавших ВСЕ на sizeof(char) из-за которого нельзя было перейти на юникод без адского трэша, просто объявив что в этом компиляторе char двухбайтный (задуман он тоже, разумеется, был как платформозависимый), и выбросивших тип byte - единственный тип в bcpl, который как раз был в этом месте сделан правильно.

> Rust же неоправданно перегружен кучей всяких спецсимволов, осложняющих чтение, что приведёт к
> ошибкам по невнимательности.

Не приведет. Там и внимательно написанный код не всегда компилируется, пока не обвешают unsafe.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 01:16 
>объявив что в этом компиляторе char двухбайтный

wchar_t к вашим услугам. Но лучше не надо. Используйте utf-8 и не выпендривайтесь.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:21 
Я бы сказал иначе, - если вам нужно работать "по-серьёзному" со строками?, - выбирайте другой язык программирования!

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 19:48 
Энтерпрайзно одобренный способ вызывать malloc()

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 22:57 
Попутал char с трамвайной ручкой. :-)

sizeof(char) == 1 по определению. Да, уместнее его было назвать byte, но в 71-м году как-то про юникод не подумали :-)

sizeof('c') - тут, да, ерунда получилась, в С++ исправили. Но это не char, это character literal.


"Релиз языка программирования PHP 8.2"
Отправлено пох. , 10-Дек-22 20:18 
> sizeof(char) == 1 по определению.

Чьему блжад определению?

> Да, уместнее его было назвать byte

Нет. Байт - это байт. А char- тип для хранения символов. Так же как int тип для хранения неведомо какого размера чисел. Который в результате ни для какого непригоден в программках сложнее хеловрот, поскольку совершенно непонятно ни как считать в числах неведомой размерности, ни как их потом сохранять на диск для последующего чтения или в сеть отдать, и приходится заменять его уродливыми uint64t

Зачем тот и другой мусор в языке для управления памятью и работы с устройствами - боюсь, сегодня даже сами Керниган с Томсоном не могли бы ответить. (Но я подозреваю что из-за того что space travel была на фортране каком-нибудь, а потом уже некогда было думать, кодить надо)

В bcpl от которого они отпочковались, все было правильно. А *a++ завязанного на занятную но бесполезную детальку реализации одного специфического процессора мертвого сорок лет как - не было.
(потому что он под interdata делался, где такого нет)


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 11-Дек-22 00:53 
When sizeof is applied to an operand that has type char, unsigned char, or signed char, (or a qualified version thereof) the result is 1.”

- C11 (ISO/IEC 9899–2011) Section 6.5.3.4


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 11-Дек-22 16:51 
Ох, уж эти стандарты:)
Немного оффтопик. Я кстати, был приятно удивлён что в С23 накоцец таки теперь представление целых чисел это only 2's complement:) Хм... такими темпами может скоро и CHAR_BIT сделают only 8:))

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 23:32 
> Вам, кто называет "сишечкой" не понятно, что Си создавался для того, чтобы
> не писать на ассемблере, и чтобы можно было компилить более менее
> кросс-железно. Его правильней называть языком среднего уровня. В железе нет типа
> bool, там есть 8/16/32/64-битные регистры, в которых хранятся числа или адреса,
> а также битовые флаги в регистрах не общего назначения, которые меняются
> через загрузку в регистр общего назначения и выгрузку обратно, и больше
> ничего. Задача Си преобразовать алгоритмические читаемые глазами операции в машинный код
> конкретного процессора. Rust же неоправданно перегружен кучей всяких спецсимволов, осложняющих
> чтение, что приведёт к ошибкам по невнимательности.

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

А если начнёте говорить, что это, мол, уже абстракция над машинным числом, то я отвечу, что в Си есть структуры. И это, согласитесь, куда более высокоуровневая штука, чем этот бедный bool.


"Релиз языка программирования PHP 8.2"
Отправлено Капитан Очевидность , 08-Дек-22 23:55 
>>Си есть структуры. И это, согласитесь, куда более высокоуровневая штука,

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 00:53 
>>>Си есть структуры. И это, согласитесь, куда более высокоуровневая штука,
> Нет, структуры как и базовые типы, это самая основа, и они ближе
> к железу.
> Даже древние процессоры, хоть как нибудь, аппаратно поддерживали работу со структурами,
> ибо они требовались изначально для работы с периферией.
> Абстракциия от аппаратной части - это Json и аналоги.

Если структуры -- это самая основа, то bool -- это основа основ, потому что это просто число. А работу с числами поддерживают любые процессоры, которые только можно представить.


"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 12:52 
Bool это не просто число, он может быть только единицей.

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 12:57 
Почему структуры в Си не равно этим вашим JSON и объектам напримере порта микроконтроллера:
у порта как любого физического устройства есть адрес, по которому физический механизм памяти определяет, куда мультиплексировать (грубо говоря соединить как телефонная станция) сигнальные линии шины с устройством передачи — регистром АЛУ, физических линий. Условно, 0x00001000;
железно, порт внутри содержит регистры, они адресуются инкрементом базового адреса регистра. т.о. шагая вперед с интервалом в 32 бита, 0x00001020, мы можем пройти по каждому регистру.
Структура же просто повторяет физическую структуру порта. И поле регистра структуры сразу адресует в нужное место в рамках адресов регистра.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 19:57 
Про выравнивание в курсе?

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 09:24 
В число - однозначно. В машинное - вообще не однозначно и не очевидно.
Что такое ваш конкретный bool - 8 бит, 16 бит, 32 бита, 64 бита?
Или быть может оно вообще побитово в слово упаковано по 64 штуки в слове?

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 13:20 
> В число - однозначно. В машинное - вообще не однозначно и не
> очевидно.
> Что такое ваш конкретный bool - 8 бит, 16 бит, 32 бита,
> 64 бита?
> Или быть может оно вообще побитово в слово упаковано по 64 штуки
> в слове?

А какая разница программисту? Пусть компилятор решает. А на счёт упаковывать -- это уже что-то более сложное. Я говорю про самый примитивный bool, который может хранить два значения. Причём в числовом виде обычно 0 -- это false, а любое другое значение -- true. Это ведь не что-то высокоуровневое, не так ли?


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 18:03 
Самый примитивный bool - это и есть любой бит в слове произвольной длины. Соответственно можно и упаковать :)

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 10-Дек-22 20:24 
> Тип bool однозначно и очевидно переводится в машинное число. Но не это

только в твоих фантазиях. В машине нет никакого bool.

> главное. В Си есть логические операции, но работают они с числами!

потому что в процессоре есть логические операции, и работают они - вот удивительно - с числами. jz и jnz совершенно все равно какое там число, если оно не ноль.

> Вот это поначалу обескураживает.

Тебе лучше программировать на php.

> то я отвечу, что в Си есть структуры. И это, согласитесь,
> куда более высокоуровневая штука, чем этот бедный bool.

Нет, ни разу. Это просто набор смещений для указателя на область памяти. Т.е. вполне отображаемый на архитектуру компьютера синтаксический сахарок.
В отличие от "bool", которого не существует в принципе.

Если эти вещи тебе не очевидны еще со школьных уроков информатики - продолжай программировать на php. js боюсь покажется тебе слишком сложным и непонятным с его 1+1.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 20:57 
Если для тебя структура является синтаксическим сахарком над смещениями указателя, то синтаксическим же сахарком для тебя должен являться и тип bool (гораздо более простым и очевидным сахарком кстати). Но если для тебя bool -- это что-то из области ООП, то продолжай программировать на сишечке. До более серьёзных языков ты пока не дорос.

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 10-Дек-22 23:08 
Еще раз: "структура" твоя - просто кусок памяти, в котором есть оффсеты его внутренних кусков.
Ничего такого чего нет физически в процессоре.
Большинство современных ассемблеров даже умеют эти структуры почти как в си, потому что это просто арифметика на адресах.

Никакого bool в процессоре - нет.

Не лопни от серьезности, твой удел - php.

Си придумали те кто совершенно не собирались абстрагироваться от аппаратных реализаций.
Просто сделали себе язык чуть поудобнее в написании чем макроассемблер. Поэтому bool им был без надобности. Вот зачем они притащили char вместо byte - действительно загадка. Полагаю таки именно по причине того, что самая первая версия языка была не для системной, а для прикладной задачи.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 11-Дек-22 01:08 
Структура -- кусок памяти. Значение bool -- тоже кусок памяти. И эти куски жёстко определены на этапе компиляции. Так где ты разглядел отличие одного от другого?

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


"Релиз языка программирования PHP 8.2"
Отправлено пох. , 12-Дек-22 13:52 
> Структура -- кусок памяти.

все ясно с тобой. Я же говорил - продолжай программировать на своем пехепе. Си ты даже на уровне кое-как наспех прочитанной K&R не знаешь.

struct a
{
   int b;
   char c[100];
};

где тут кусок памяти?

> А ещё, довожу до твоего сведения, что язык C появился как раз для того, что бы
> "абстрагироваться от аппаратных реализаций".

довожу до твоего сведения: нет, ни разу. Астральное знание (ибо книжек ты не читал) тебя опять подвело.

*(a++) это прямо вот аппаратная реализация. Причем - одного конкретного процессора DEC.
Причем a++, но --a. И только так (спроси у инженеров DEC почему - ты ж астральное знание имеешь, значит можешь с ними связаться).

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

Более того - модный потом c++ ТОЖЕ появился в первую очередь чтоб поменьше по кнопкам колотить. От ассемблеров уже ушли, и захотели уйти от ctrl-c/ctrl-v, переложив его на компилятор. Оно именно это и делало на начальном этапе.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 13-Дек-22 23:02 
>> Структура -- кусок памяти.
> все ясно с тобой. Я же говорил - продолжай программировать на своем
> пехепе. Си ты даже на уровне кое-как наспех прочитанной K&R не
> знаешь.

Напоминаю, что "структура -- кусок памяти" -- это было твоё утверждение. Я всего лишь снизошёл до твоего уровня лексики, что бы попробовать объяснить на понятном тебе языке. Но, видать, не судьба. Трудно что-то объяснить человеку с настолько короткой памятью.

Далее, про "абстрагирование от железа". Не знаю, какие ты книжки читал (и читал ли вообще), но начать стоило хотябы с вики: [https://ru.wikipedia.org/wiki/История_языка_Си]. И там для тебя написано вот такое:

> Было вынесено предложение использовать какой-нибудь высокоуровневый портируемый язык, чтобы можно было легко переносить ОС с одного компьютера на другой. Язык Би, который они хотели сначала задействовать для этого, оказался лишён функциональности, способной использовать новые возможности PDP-11. Поэтому они и остановились на разработке языка Си.

Если написанное пока ещё не понятно (ничего страшного, ведь это посложнее комментиков на опеннете), позволю себе присовокупить ещё вот такое опеределение понятия "абстракция", найденное на просторах интернета (именно оно подходит сюда по контексту):

> Абстракция — результат абстрагирования. Абстрагирование — отвлечение в процессе познания от несущественных сторон, свойств, связей объекта (предмета или явления) с целью выделения их существенных, закономерных признаков. Результат абстрагирования — абстрактные понятия, например: цвет, кривизна, красота и т.д.

А теперь поясняю конкретно на твоём примере. Создатели Си посчитали, что программисту неважно, какие конкретно опкоды будут, к примеру, у операции сложения в PDP-7 и PDP-11. То есть это несущественное свойство архитектуры, которое можно абстрагировать. Так в C появился оператор сложения, который является абстракций над опкодами сложения в любых поддерживаемых компилятором архитектурах.

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

Если дочитал досюда, молодец! Это было сложно. Возьми конфетку, заряди мозг. И постарайся хоть что-то запомнить. Если ты действительно пишешь на си, то тебе будет полезно знать такие вещи.


"Релиз языка программирования PHP 8.2"
Отправлено пох. , 14-Дек-22 14:18 
> Напоминаю, что "структура -- кусок памяти" -- это было твоё утверждение

ты ни читать не умеешь, ни си не знаешь.

> не знаю, какие ты книжки читал (и читал ли вообще), но начать стоило хотябы
> с вики: [https://ru.

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

Нет, твой бред читать дальше мне незачем.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 11-Дек-22 00:31 
На самом деле у того же x86 есть операция bt (да и в z80 даже уже была - bit), которая проверяет конкретный бит. Поэтому насчёт отсутствия в машине я бы так огульно не того.

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 12-Дек-22 13:55 
> На самом деле у того же x86 есть операция bt (да и
> в z80 даже уже была - bit), которая проверяет конкретный бит.

_произвольный_.

Т.е. никакого bool в нем по прежнему нет. Есть операции с битами.

Не путай булеву алгебру и примитивный bool.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 04:08 
А как же stc или просто какой-нибудь xor/add/test итп?

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 13:03 
Это все простейшие операции, которые разрулит компилятор. Другое дело там, где нужно параллелить, работать с векторами. Например, операции DSP, делающие несколько арифметических действий за один такт.

"Релиз языка программирования PHP 8.2"
Отправлено Сшчка , 09-Дек-22 11:31 
- "там есть 8/16/32/64-битные регистры, в которых хранятся числа или адреса"

Удивительно, но адреса это тоже число, не путайте "сишечников", а то подумают что принципа однородности не существует по Нейману ... пардон ... фон Нейману


"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 13:01 
Это чтобы хоть маленько донести инфу

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 09-Дек-22 13:07 
Есть еще гарвардская архитектура, где адреса вообще отдельно. И физически адреса подчинены выравниванию памяти под удобство мультиплексирования бит по битности шины.

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 10-Дек-22 23:09 
> Есть еще гарвардская архитектура, где адреса вообще отдельно.

Только компьютеров нет. Странно, почему.

(нет, совсем не странно)


"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 10-Дек-22 23:53 
Микроконтроллеры. Cortex M3, M4, M7

"Релиз языка программирования PHP 8.2"
Отправлено Без аргументов , 08-Дек-22 21:23 
Мне самому непонятно, зачем изобретать (всё равно тормозные и жрущие ОЗУ) GNOME 4x на языке среднего уровня, а также писать криптографические функции, где акцент на математическом алгоритме, ассемблерные вставки же под инструкции процов вроде AES256, SSE4 в нормальных языках можно организовать тоже (но я не в курсе, используются ли они вообще во всяких openssl/libcrypto).

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:04 
Слушай, языку с узкой жестко определённой применимостью (ядра ОС и драйверы) это простительно. А вот языку высокого уровня для ламеров - нет, это позор.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 04:12 
Что такое «жестко определенная применимость» кем это она жестко определенна? Пишите на чем удобно и всего делов. Главное ж результат

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:53 
Вот из-за "главное результат" имеем электрон на десктопе и нижайшее качество софта за всю историю индустрии. Потому что вот такие с подходом "пилю на чем хочу законом не запрещено" не умеют в проектирование.

"Релиз языка программирования PHP 8.2"
Отправлено Chlen22sm , 09-Дек-22 03:34 
> C23

Не нужно. Си ценят именно как стабильный язык, его реализацию "ISO/IEC 9899:1990" используют в военке, космонавтике, атомных станциях, прочих критически важных и отказоустойчивых системах. Говорю как человек, который знает об этом не по наслышке.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:42 
>>> Не нужно. <<<

Ну, что вы так сразу:( Например, там в <limits.h> добавили полезные макросы, - мелочь а приятно:)


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 22:29 
В Common Lisp'е nil и t всегда были типами. И одновременно значениями своих типов. nil так ваще был единственным значением типа nil, а вот тип t, помимо t, включал в себя значения всех других типов. Но это лисп, ему можно, потому что там nil и t заодно ещё и символы, и каждый evalится в себя. Да и вообще это прям таки философия лиспа, засунуть лисп в лисп, чтобы можно было evalить, evalя, он заточен под это. А вот как php переживёт это безумие...

Но я к тому, что нет ничего нового под Луной.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:25 
Кто-то может объяснить чего именно не хватало в пхп что он мутировал в такую мерзоту? Он же прекрасно выполнял всё для чего был создан.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:29 
Ему не хватало пхпфондейшен и внесения изменений ради изменений

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:40 
Вот точно, похоже со стартом фондейшна всё и крякнулось.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:30 
Хотелось, видимо, чтобы он таки был языком программирования, а не недошаблончиком.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:33 
Т.е. 20 лет писали на недоязыке и сейчас пришло время?

"Релиз языка программирования PHP 8.2"
Отправлено Анонимомус , 08-Дек-22 19:38 
С разморозкой! Время пришло ещё 15 лет назад и все изменения поступательные.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:38 
но так он же и создавался для того чтобы шаблончики разворачивать. Давайте блин из стула язык программирования делать

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:32 
>Кто-то может объяснить чего именно не хватало в пхп

Отпинывателя тайпскриптеров.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:06 
Никогда не выполнял и сейчас не выполняет. Говно присыпали пудрой. Всегда были альтернативы лучше.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:41 
ну не соглашусь. когда появился модуль к апачу, альтернатив, чтобы наляпать по быстрому говносайт, на сколько я помню, небыло приличных

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 22:35 
Cgi был задолго до.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 07:05 
Чем перл не альтернатива?

"Релиз языка программирования PHP 8.2"
Отправлено Наноним , 10-Дек-22 01:34 
В эти времена все нормальные люди использовали Perl. Тот же ModPerl под Apache.

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 08-Дек-22 22:44 
> Кто-то может объяснить чего именно не хватало в пхп что он мутировал в такую мерзоту?

Языка программирования.

> Он же прекрасно выполнял всё для чего был создан.

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 00:22 
Можно подумать, что на PHP 8.2 нельзя написать адовую смесь html и интерпретируемого скрипта...


"Релиз языка программирования PHP 8.2"
Отправлено пох. , 10-Дек-22 23:13 
> Можно подумать, что на PHP 8.2 нельзя написать адовую смесь html и
> интерпретируемого скрипта...

можно (правда, уже сложнее) но речь о том что на нем еще можно просто программы писать, довольно большие и сложные - а вот на любимом тобой php4 - невозможно, увы.

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



"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 11-Дек-22 00:34 
Пачимму невозможно то?
Как на классических сях, без всяких объектов, процедурами и передачей структур (ООП так-то по сути всего лишь мелкий сахар над этим щщастьем).
Просто многие разучились.

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 11-Дек-22 20:23 
> Пачимму невозможно то?
> Как на классических сях, без всяких объектов, процедурами и передачей структур (ООП
> так-то по сути всего лишь мелкий сахар над этим щщастьем).
> Просто многие разучились.

просто проекты стали - большие. У той pdp7 оперативной памяти было 32k (правда, не байт а двухбайт по-моему)

Для нее процедур и передачи структур хватало.

А для какой QT6 - уже нет.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:37 
напоминаю, что ПХП ("персональная домашняя страничка") - это не язык программирования, а шаблонизатор. Доказательство: как и в любом другом шаблонизаторе, "исходный код" по умолчанию просто выводится в stdout или похожий стрим. А чтобы начать использовать конструкции шаблонизатора, нужно явно это пометить через <? или похожую закорючку. Если переименуете README.txt в README.php, у вас получится правильная "программа" на пыхе. Потому что в ней не окажется <?-закорючки. Хелловорлд на пыхе выглядит не так:

    <?php echo 'hello world';

Потому что на шаблонизаторе хелловорлд выглядит так:

    hello world


"Релиз языка программирования PHP 8.2"
Отправлено Анонимомус , 08-Дек-22 19:42 
После этого шаблонизатора можно на Java писать сразу как на родном

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:44 
ага, и на си, и на перле. Пых - это адская мешанина всех вышеозвученных языков. Гугли "PHP: a fractal of bad design"

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:02 
Стоит отметить что по прошествию 10 лет, большинство аргументов из оригинальной статьи потеряло актуальность — функциональность была добавлена, либо исправлена

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 22:37 
Не потеряла, семантика и дизайн остались такими же отстойными. Впрочем, если бы создатели пхп могли бы писать хорошо, то они бы не были создателями пхп. Такая вот селя ви.

"Релиз языка программирования PHP 8.2"
Отправлено 5к , 09-Дек-22 01:06 
> Впрочем, если бы создатели пхп могли бы писать хорошо

причем тут пхп ? кто вообще может написать крупный проект хорошо и сразу?


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:59 
Дело не в хорошо и сразу. Дело блин в изначальном грамотном проектировании и дизайне языка. Если строить с самого начала кривулину, то её потом патчами не допилишь без пересмотра основ. А строили именно кривулину, потому что никакой серьёзной теории за пхп не стоит.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 09:28 
Зато за ним стоит много серьёзной практики. И поэтому он почти весь вёб, и за пределами вёба тоже применяется.
Правда сейчас до езычга как раз теоретики дорвались, похоже, и он превращается в элегантные шорты...

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 01:41 
К сожалению, обратная совместимость требует постепенных итеративных изменений.
Иначе будет как с третьепитоном — зачем переписывать половину приложения с 2.х на 3.х, если можно переписать всё на другом языке, где не будет таких сложностей с обратной совместимостью.

"Релиз языка программирования PHP 8.2"
Отправлено пох. , 12-Дек-22 13:35 
> К сожалению, обратная совместимость требует постепенных итеративных изменений.

Так нет же ж обратной совместимости... и не было никогда (помним foreach, ненавидим)


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:59 
> это не язык программирования, а шаблонизатор
> <?php echo 'hello world';

уж лучше на перле шаблонизировать

print <<EOF;
hello world
EOF


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 08:28 
Перл все слизал с пхп

<?php
print <<<EOF
hello world
EOF;


"Релиз языка программирования PHP 8.2"
Отправлено Наноним , 10-Дек-22 01:45 
PHP - это если бы дегенерат не осилил Perl и максимально его изуродовал. Именно так PHP и родился, если почитать историю происхождения. До некоторых фишек Perl'а PHP дорос только через десяток лет.
Сама по себе идея совмещать разметку и код была провальной с самого начала. До многих это быстро дошло, но PHP-хомяки жрали это дерьмо долгие годы, пока не переизобрели колесо в виде всё тех же шаблонизаторов.
И к чему в итоге пришёл PHP? К самоотрицанию. Теперь никто не пишет на PHP в том стиле, для которого он был придуман.

"Релиз языка программирования PHP 8.2"
Отправлено Аноннейм , 13-Дек-22 16:49 
Частично верно

"Релиз языка программирования PHP 8.2"
Отправлено BrainFucker , 08-Дек-22 20:34 
> Доказательство: как и в любом другом шаблонизаторе

В каком "любом другом", в Jinja2, Pug или где?


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 08:19 
А ведь можно было присунуть PHP в питон...

"Релиз языка программирования PHP 8.2"
Отправлено anonbrain , 08-Дек-22 19:45 
На сайте указано что была повышена производительность, но в шортрелизе ниже об этом не было ни слова. хоть пример бы какой завезли. в целом тенденция печальная. они делают упор на строгую типизацию, расширенные комментарии, атрибуты через спецкоменты и так далее. знаете какое это отношение имеет к прогрессии в языке ? я тоже не знаю. китайцы из swoole делают бомбу, но сам php в этом направлении пока не спешит двигаться. весь синтакс уже был доведён до отличного состояния (позаимствован у плюсов), но с момента как начали происходить взаимствования у js... что то пошло не так. надеюсь сообщество обратит внимание на многопоточность, асинхронное выполнение, оптимизацию и на улучшение jit который в некоторых сценариях вместо прироста производительности обеспечивал её спад вплоть до нестабильных исключений.

"Релиз языка программирования PHP 8.2"
Отправлено тоже Аноним , 08-Дек-22 22:40 
> на многопоточность, асинхронное выполнение, оптимизацию и на улучшение jit

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


"Релиз языка программирования PHP 8.2"
Отправлено Наноним , 10-Дек-22 01:50 
Ты хотел сказать "как можно быстрее умереть", потому что PHP точно не тот язык, который когда бы то ни было стремился к оптимизации по скорости. Вот если бы они вместо бесконечного посыпания сахаром действительно ускорили его, то PHP можно было бы простить всё.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 09:28 
На этот счёт уже в 5.6 было сделано очень многое. В 7 ещё больше. В 8 теперь есть JIT, который реально решает на ряде вещей.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:55 
Многопоточности да, сильно не хватает.
Сейчас приходится юзать свою подложку для кооперативных корутин и exec'нутых подзадач, но там проблема с обменом данными с форкнутыми процессами всё равно остаётся, слишком накладно. Треды с независимыми контекстами и быстрым IPC из треда в тред сильно спасли бы положение.

"Релиз языка программирования PHP 8.2"
Отправлено тоже Аноним , 09-Дек-22 10:58 
> Сейчас приходится

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 11:40 
Нет особого желания браться за нишевый язык, который как и прочие руби, забудут через несколько лет.

"Релиз языка программирования PHP 8.2"
Отправлено Наноним , 10-Дек-22 01:51 
Go уж точно не забудут через несколько лет: на нём написано уже очень много. Продолжайте жрать кактус.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 11-Дек-22 10:22 
На рубях тоже написано много всякого ненужно, а толку.

"Релиз языка программирования PHP 8.2"
Отправлено anonbrain , 09-Дек-22 12:12 
осталось что бы под го завезли хотя бы один вменяемый mvc фремворк и заживём (этого не будет)

"Релиз языка программирования PHP 8.2"
Отправлено тоже Аноним , 09-Дек-22 16:30 
> (этого не будет)

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 09:30 
Это тебе только кажется. Модели вполне себе способны параллелить запросы к DBMS, а например в условиях геораспределения это может дать вообще неэпический профит.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 09:31 
Ну и опять же, зависит от того, что у тебя за модель. Если плоская примитивная вида "вгрузи вот это как есть и хорошо" - да, кроме запросов особо ничего и нет. Если модель обвязана буизнесс-логикой и имеет сложные структурные связи, да ещё и к разносортным API присобачена, то там вполне себе есть чего разобрать.

"Релиз языка программирования PHP 8.2"
Отправлено Лигивон , 11-Дек-22 10:17 
Уже давно завезли buffalo

"Релиз языка программирования PHP 8.2"
Отправлено Аноннейм , 13-Дек-22 16:54 
Вы читали его доки ? или с китайского ещё не всё перевели хотя бы на английский?

"Релиз языка программирования PHP 8.2"
Отправлено Аноннейм , 13-Дек-22 16:52 
Упаси господь, есть куда более приемлимые варианты.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 19:46 
Ждём когда linux перепишут на PHP!

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:01 
Требуем включить пых в ядро как самый безопасный язык!

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:50 
Поэтому его и не включат туда включают только опасные языки.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 04:16 
По-моему если пишешь на пыхе - ты уже представляешь опасность

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:07 
Ну вот уж не надо, лучше на расте.

"Релиз языка программирования PHP 8.2"
Отправлено YetAnotherOnanym , 08-Дек-22 19:53 
> Добавлены отдельные типы "true", "false" и "null", которые могут принимать только одно допустимое значение

Вангую добавление в следующих версиях отдельного типа "half", который может принимать только одно допустимое значение 0.5, "quarter", который может принимать только одно допустимое значение "¼", "one", который может принимать только одно допустимое значение 1.0 и "two", который может принимать только одно допустимое значение "II".


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:01 
Не поверишь, но в языках с богатыми возможностями типизации это уже есть:

    type Half = 0.5;

    const myVar1: Half = 0.6; // Error: Type '0.6' is not assignable to type '0.5'.
    const myVar2: Half = 0.5; // OK

Ибо тип -- это множество всех допустимых значений.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:05 
Ты не понял... Ты привёл пример, где ты сам определяешь тип, а в статье речь про уже "добавлены типы".

"Релиз языка программирования PHP 8.2"
Отправлено YetAnotherOnanym , 08-Дек-22 21:35 
Ты не поверишь, но в сабже эти типы ("true", "false" и "null") появились только сейчас, и его разработчики даже сочли нужным сообщить об их появлении своей пастве.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 17:00 
Ты не поверишь, но в php тип null появились только 20 лет назад, а очередной опеннет эксперт даже счел нужным сообщить о собственной глупости своей пастве.

 


"Релиз языка программирования PHP 8.2"
Отправлено Лигивон , 11-Дек-22 10:18 
Ну верни мне тип null из функции в 8.1, эксперт.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:39 
Напоминает специальную олимпиаду...

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:02 
а когда сделают нечёткую логику "да, но потом"?

"Релиз языка программирования PHP 8.2"
Отправлено Sw00p aka Jerom , 08-Дек-22 21:37 
вот вот раз уж пошла иерархия типов

"Релиз языка программирования PHP 8.2"
Отправлено YetAnotherOnanym , 08-Дек-22 21:38 
Маньяна, иншалла.

"Релиз языка программирования PHP 8.2"
Отправлено тоже Аноним , 08-Дек-22 22:41 
Да, но потом.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 10:00 
Lazy evaluations?

"Релиз языка программирования PHP 8.2"
Отправлено Sw00p aka Jerom , 08-Дек-22 23:23 
Motivation -> Type system completeness

хорошая мотивация


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 01:19 
Это к реактосному джедайке.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 19:54 
Для этого надо придумывать "женский" ЯП! Там ВСЁ будет на нечёткой логике. :)) bool - это "да", "нет", "может быть". Ошибка? Есть её обработчик "Отстань, не до тебя сейчас". Цикл от 0 до "я устала". Много чего интересного сделать можно :)

"Релиз языка программирования PHP 8.2"
Отправлено Онанистмус , 08-Дек-22 19:59 
То чувство когда компилируемый golang проще чем интерпретируемый php.
Мда из простых получается только python остался.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:06 
перл проще - в нём пробелы считать не надо.

"Релиз языка программирования PHP 8.2"
Отправлено BrainFucker , 08-Дек-22 20:36 
Перл проще, потому что на нём писать лучше даже не начинать. Нет кода нет проблем.

"Релиз языка программирования PHP 8.2"
Отправлено Амитабх Бачан , 08-Дек-22 21:02 
Из простых остался только раст.  Типы да трейты - вот и весь язык. Ни классов,  ни наследования,  никаких там "readonly class" - все кашерно,  все по минимуму. Раст - единственная достойная замена пыхе. Жалко. Много лет на пыхе программировал - версия 7.4 была самая лучшая,  на  восьмерку даже и не думал переходить. В итоге сейчас перехожу на раст, так как на восьмой пых больно смотреть.

"Релиз языка программирования PHP 8.2"
Отправлено 5к , 09-Дек-22 01:12 
Вот чем хорош пхп, так это совместимостью, не заставляют же использовать все эти опции, а там хоть 5 хоть 8, это не питон.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 06:46 
Ну попробуй запустить современный фреймворк или волдпресс на PHP 5.6

"Релиз языка программирования PHP 8.2"
Отправлено 5к , 12-Дек-22 00:53 
> Ну попробуй запустить современный фреймворк или волдпресс на PHP 5.6

а мс-офис-2010 на дос запустить не надо?, а может хром на ардуино-нано, дурилка


"Релиз языка программирования PHP 8.2"
Отправлено Наноним , 10-Дек-22 01:55 
Нет там никакой в PHP особой совместимости. Ломают и в 8, ломали при переходе с 4 на 5, и при переходе с 5 на 7. Дофига всего нужно было переделывать.

"Релиз языка программирования PHP 8.2"
Отправлено 5к , 12-Дек-22 00:51 
> Нет там никакой в PHP особой совместимости. Ломают и в 8, ломали
> при переходе с 4 на 5, и при переходе с 5
> на 7. Дофига всего нужно было переделывать.

хз, вот недавно с githaba брал скрипт 13-летней давности, ну да 600+ строк кода всего, но никаких проблем вообще, вместо curl какойто ...хз что, но работает в 8 без проблем, есть аналогичные классы для laravel, еще для чего-то, только нафиг их, класс в классе в классе, зачем.

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


"Релиз языка программирования PHP 8.2"
Отправлено V1 , 12-Дек-22 05:06 
Ссылку на чудо скрипт дайте. Он ведь не секретный.

"Релиз языка программирования PHP 8.2"
Отправлено 1 , 12-Дек-22 10:17 
Ну дык ... Вышеозначенный
<?php
print <<<EOF
hello world
EOF;

Написан раз - работает везде.
Хотя и никому не нужен.


"Релиз языка программирования PHP 8.2"
Отправлено 1 , 12-Дек-22 10:15 
> Вот чем хорош пхп, так это совместимостью

ты что ль молодой совсем ?
Не застал 5.3 -> 5.4 ? Ну или 5.6 -> 7 ?


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 08:20 
>простых
>python

Это в котором тоже с 3 версии синтаксис удобрили до состояния компоста?


"Релиз языка программирования PHP 8.2"
Отправлено Онанистмус , 09-Дек-22 16:32 
Мне только оператор моржика не нравится вот этот := а так самый читаемый язык до сих пор.

"Релиз языка программирования PHP 8.2"
Отправлено Chlen22sm , 08-Дек-22 20:03 
Пыха стал тяжелее крестов. Что называется дожили.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:51 
Вроде так и должно быть или у тебя такой утонченный стеб? Такой нежирный что даже с монитора не стекает.  

"Релиз языка программирования PHP 8.2"
Отправлено Chlen22sm , 09-Дек-22 03:22 
> Вроде так и должно быть

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


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 08:14 
Настоящим программистам достаточно "соответствующего тьюрингу" языка, любой опеннет эксперт это знает

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:08 
Как только куда-то начинают запихивать ООП, это сразу дохнет.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 20:51 
> Как только куда-то начинают запихивать ООП, это сразу дохнет.

Если вообще что-то запихивать, то тому, во что пихают, будет плохо. Потому что нужно грамотно проектировать, а не пихать.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 09:32 
Есть некоторые исключения из этого...

"Релиз языка программирования PHP 8.2"
Отправлено Sw00p aka Jerom , 08-Дек-22 21:37 
>Добавлены отдельные типы "true", "false" и "null"

про дурака и Бога :)


"Релиз языка программирования PHP 8.2"
Отправлено Отец Ононим , 08-Дек-22 21:41 
Когда уже добавят undefined, Infinity и NaN? Мне не хватает средств для самовыражения.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 22:06 
Куда ты торопишься? Они только-только до false дошли.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 22:40 
Когда дочитают вторую книгу по программированию.

"Релиз языка программирования PHP 8.2"
Отправлено Здрасьте , 09-Дек-22 09:40 
Infinity (INF) и NaN (NAN) в языке есть сто лет в обед, как и во многих других. Эти числа — часть стандарта IEEE 754. И даже минус ноль есть.

"Релиз языка программирования PHP 8.2"
Отправлено Sw00p aka Jerom , 09-Дек-22 11:25 
>в языке есть сто лет в обед

типы или значения?


"Релиз языка программирования PHP 8.2"
Отправлено Здрасьте , 09-Дек-22 16:28 
Значения. Тип у этих значений по стандарту — с плавающей запятой (в данном случае — float).

"Релиз языка программирования PHP 8.2"
Отправлено Sw00p aka Jerom , 09-Дек-22 18:19 
> Значения. Тип у этих значений по стандарту — с плавающей запятой (в
> данном случае — float).

так "Отец Ононим" выше за типы говорил, а не значения.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 08-Дек-22 21:51 
Кто первый придумал это уродство?
#[\SensitiveParameter] $password,

"Релиз языка программирования PHP 8.2"
Отправлено Sw00p aka Jerom , 08-Дек-22 23:01 
этот -> Author: Tim Düsterhus, duesterhus @ woltlab.com

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:37 
Вообще реализация атрибутов - лютый ***тизм.

"Релиз языка программирования PHP 8.2"
Отправлено Здрасьте , 09-Дек-22 09:41 
Да? Почему? Какая разница вообще какой синтаксис у атрибутов? Это всё полнейшая вкусовщина. А у решётки хоть плюс есть — старых версии пхп её воспримут как коммент, обратная совместимость.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:47 
Оно не инлайнится, опять рулоны.

"Релиз языка программирования PHP 8.2"
Отправлено Здрасьте , 09-Дек-22 10:34 
Если плевать на обратную совместимость, инлайнится, конечно.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 10:03 
И после этого кто-то будет называть пхп пристойным языком?

"Релиз языка программирования PHP 8.2"
Отправлено Golangdev , 08-Дек-22 22:56 
> класса доступным только для чтения

копипаста с Java Records


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 00:43 
Хороший был инструмент под названием PHP до версии 7, простой и самодостаточный. Потом вместо нормальной модульности придумали уродский костыль в виде namespaces.
И понеслось...


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:35 
Ну, namespaces кстати удобны. К ним бы ещё множественное наследования.
А так - да, в плане расширения синтаксиса занимаются хренью какой-то честно говоря.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 01:03 
Кто нибудь знает, планируется ли добавление блочного ограничения области видимости переменной?

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 01:47 
Вротпресс такого не переживет. А без него PHP отправится вслед за Perl.

"Релиз языка программирования PHP 8.2"
Отправлено Наноним , 10-Дек-22 02:00 
PHP никогда не отправится вслед за Perl, потому что Perl - по-прежнему лучший для парсинга текста и "склеивания" разнородных скриптов и систем. PHP же в этом качестве всегда был негодным инструментом. Поэтому PHP однажды просто сдохнет.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 03:18 
Чего хотели? Каждое десятилетие язык меняется. В конторе есть простенький сайт на php5 на 98 винде крутится, 256 мегабайт оперативки хватает.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 05:28 
Нельзя писать "ключевые улучшения" !!!!
Надо писать "ключевые ИЗМЕНЕНИЯ" !! А уж являются ли они "улучшениями, каждый сам для себя решит...  пока в язык только хрень всякую тащат  :(

"Релиз языка программирования PHP 8.2"
Отправлено Анони Карбайкл , 09-Дек-22 06:53 
Блестяще! Это не улучшения - это ключевые ухудшения! Превратили php  в выгребную яму языковых отходов! Руки прочь от нашего пхп! Оставьте его в покое!

"Релиз языка программирования PHP 8.2"
Отправлено Анонист , 09-Дек-22 15:33 
>Превратили php  в выгребную яму языковых отходов!

Так так и было задумано - выгребная яма языковых отходов для выгребной ямы индустрии IT.


"Релиз языка программирования PHP 8.2"
Отправлено Igraine , 09-Дек-22 08:01 
>Указание флага "readonly" на уровне класса

Молодцы, даже в kotlin такого нет.


"Релиз языка программирования PHP 8.2"
Отправлено Igraine , 09-Дек-22 08:33 
>Объявлена устаревшей возможность динамического создания свойств в классе. В PHP 9.0 обращение к свойствам, изначально не определённым в классе, будет приводить к ошибке (ErrorException)

Очень хорошо что выводят строгие ограничения на типы и классы, молодцы.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 09:33 
Такое ощущение, что в коре развития языка случился какой-то Ц.

- Добавлены отдельные типы "true", "false" и "null", которые могут принимать только одно допустимое значение
Бред? Бред.

- Функции, подобные strtolower() и strtoupper(), теперь всегда преобразуют регистр символов в диапазоне ASCII как при выставлении локали "С"
Всё бы ничего, но возможность вернуть старое поведение не оставлена, а значит кучу легаси надо будет проверять на предмет использования со всякими "ё".

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

- В PHP 9.0 обращение к свойствам, изначально не определённым в классе, будет приводить к ошибке (ErrorException)
Ну то есть опять все динамические модели лепить на magic methods и проперте с array, производительность под плинтус. А скорее - извращаться с костылями в виде Reflection на лету. Ок, чего.

---

Но есть и годнота.

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

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


"Релиз языка программирования PHP 8.2"
Отправлено фф , 09-Дек-22 11:04 
- Функции, подобные strtolower() и strtoupper(), теперь всегда преобразуют регистр символов в диапазоне ASCII как при выставлении локали "С"
Всё бы ничего, но возможность вернуть старое поведение не оставлена, а значит кучу легаси надо будет проверять на предмет использования со всякими "ё".

-- "ё" не входит в "диапазон ASCII" - можно не проверять.


"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 11:42 
"ё" - это образно. В ASCII8 много всякого интересного в начале диапазона.

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 09-Дек-22 11:43 
// в начале расширенного диапазона 128-255, а то снова не разжевал

"Релиз языка программирования PHP 8.2"
Отправлено фф , 09-Дек-22 13:28 
расширенный режим 128-255 не входит в ASCII
ASCII (он же ANSI X3.4) содержит только коды 00-7F (все остальное - это "неизвестные символы")
тут либо описание нововведения неверно, либо проверять нечего

"Релиз языка программирования PHP 8.2"
Отправлено Аноним , 10-Дек-22 20:11 
Там так: в расширенных кодах ASCII8 пыталась учитываться локаль. Теперь чистый ASCII7 по кейсингу, как в C locale.