1.1, DEF (?), 19:03, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
PHP становиться все лучше и лучше. Постепенно избавляется от динамической типизации и становится строгим с жесткой типизацией. Это плюс.
| |
|
2.16, Аноним (16), 19:31, 08/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
>Постепенно избавляется от динамической типизации и становится строгим с жесткой типизацией.
Ну как жёсткой, сверху тайпскрипт, снизу anytype.
А поклонники тайпскрипта, конечно, наяривают - чому-то на настоящую статическую типизацию их не берут, вот и изгаляются над и так уже изуродованным франкенштейном.
| |
2.27, Аноним (27), 19:52, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Даже не знаешь, на чём лучше писать: то ли на пыхпыхе, то ли на расте...
| |
|
|
4.210, виласкес (?), 14:22, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
там что-то с сертификатом (традиционная "безопасность" в духе раста), лучше не открывать
| |
|
|
2.56, Аноним (56), 20:57, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Где ты там увидел строгость, болезный? Язык как был галимой динамической императивщиной, таким и помирает. Чтобы узнать, что такое строгость надо Clean потыкать.
| |
|
3.88, DEF (?), 22:11, 08/12/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
PHP не умирает, его доля почти 80% веба. Был динамическим, становится статическим со строгой типизацией. Что такое стогость, я лучше тебя знаю, эникейшик. Выздоравливай.
| |
|
4.244, Анончик (?), 13:25, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>становится статическим со строгой типизацией
Извиняюсь, ткните носом где в новости вы такое увидели?
| |
|
|
|
1.2, BuildPrice (?), 19:03, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
>> public function bar((A&B)|null $entity)
догоним и перегоним Rust/C++ по говнокоду?
| |
|
|
3.57, Аноним (56), 20:58, 08/12/2022 [^] [^^] [^^^] [ответить]
| –6 +/– |
Плюсы и похапе примерно одного уровня шлак, только последний столько вреда не принёс ввиду ограниченности области применения.
| |
|
|
3.110, Инженегр (?), 23:28, 08/12/2022 [^] [^^] [^^^] [ответить]
| –4 +/– |
struct A {};
struct B {};
union C
{
A a;
B b;
};
void foo(C * c);
и вcё, не надо никаких невнятных символов, умных терминов, код максимально читаем, ошибку в нём сделать просто невозможно. А вы продолжайте писать на пыхыпэ.
| |
|
4.118, Аноним (27), 00:03, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
у тебя малюююсенькая ошибка: невозможно определить, что же лежит в Цэ.
| |
4.199, Аноним (199), 12:41, 09/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
ты пытался сделать function bar(A|B|null $entity)
но даже это не получилось.
Можешь не пытаться делать Intersection Types в языке без интерфейсов и наследования, учитывая что даже простое объединение не смог
| |
|
3.133, Кир (?), 01:22, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
using namespace std;
variant<int, string, float> x;
x = "foo";
/*....*/
if(holds_alternative<string>(x)) { /* в x -- строка */
cout << get<string>(x) << endl;
}
| |
|
|
5.211, Кир (?), 14:43, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ужас -- это пых, в котором прога свалится в рантайме, если в функцию попадет значение не того типа.
| |
|
6.228, Аноним (228), 21:59, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
php компилирует пофайлово, и понятия не имеет о взаимосвязях между кодом, расположенном в разных файлах. Так что кроме как в райтайме, вариантов и нет.
Впрочем, если пришлось связаться с php, статические анализаторы спасают.
| |
|
|
|
|
2.164, Аноним (164), 09:35, 09/12/2022 [^] [^^] [^^^] [ответить]
| +4 +/– |
Опеннет эксперт по программированию первый раз в жизни увидел объединение и пересечении типов и сделал единственный, доступный на его уровне компетенции вывод.
| |
|
1.5, Аноним (5), 19:14, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
пора его переименовать из personal в corporate home pages.
хотя на счёт home тоже подумать можно
| |
|
2.43, BrainFucker (ok), 20:28, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Так его уже переименовали в "PHP: Hypertext Processor". Но в данном случае для первой буквы могли бы что нибудь поприкольней придумать, "professional", например, и пофиг что к многих бомбанёт с этого ))
| |
|
|
|
|
4.194, Gedweb (ok), 11:41, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
А вот это вопрос по существу. Новые функции называют для единообразия, но ничто не мешало вынести в отдельное пространство имён их изначально. Как с этим позже поступл, например, создатель модуля RdKafka.
| |
4.209, Аноним (209), 13:42, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Так пошло с тех времён, когда неймспейсов не было. Да и по psr нецмспейс первого уровня - это vendor.
| |
|
|
|
|
4.205, Без аргументов (?), 13:13, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
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
| |
|
5.223, Аноним (222), 19:46, 09/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так этот GTK2 спокойно маршалируется с помощью GI в пердсставление с делимитерами в тех языках, которые их поддерживают.
| |
|
4.207, Без аргументов (?), 13:21, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Зря ты так про эксперта, я не теоретик, у меня стаж с детства, интернетов в моем детстве не было, я вместо анимэ уже пытался программировать на VBA/VBS и батники делал, что было в винде 95, а затем XP, и на макроассемблере с WINAPI тоже, и на делфи. Это все еще во время школы лишь, без нормального инета.
| |
|
|
2.174, Аноним (174), 09:44, 09/12/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
Поскольку корни названий заходят в сишечку, на библиотеках на которой пых и собран, а в сишечке с названиями в силу жёсткой естественной фрагментации с именованием полнейший бардак, удивляться тут нечему. И ни у кого, кроме хипстеров, привыкших к полсотне однострочников в зависимостях, это особого баттхёрта не вызывает. Заглянуть в хэндбук в случае чего - дело 5 секунд, дальше часто встречаемое запоминается.
| |
|
3.224, Аноним (222), 19:47, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>Поскольку корни названий заходят в сишечку, на библиотеках на которой пых и собран, а в сишечке с названиями в силу жёсткой естественной фрагментации с именованием полнейший бардак, удивляться тут нечему.
Можно удивиться долбанутости мейтейнера привязок.
| |
|
2.175, Аноним (164), 09:45, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
php движется в сторону java где принято давать длинные идентификаторы объектам. Ограничения типов вводят, магические методы отключают.
| |
|
3.179, Аноним (174), 09:49, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Уху, и поэтому берёшь какой-нибудь там Hibernate, заглядываешь внутрь, и о***неваешь.
| |
|
|
1.8, Аноним (8), 19:22, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
ну, теперь всех новичков точно можно будет отпугивать синтаксисом. Столько сахарку сыпят с каждым релизом...
| |
|
|
|
4.48, Аноним (27), 20:40, 08/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
> 90% всего вэба это вордпресс
причём появляется этот вротпресс в новостях исключительно в негативном смысле.
| |
|
5.54, DEF (?), 20:55, 08/12/2022 [^] [^^] [^^^] [ответить]
| +4 +/– |
Систематическая ошибка выжившего. Хорошие новости не постят.
| |
5.145, Chlen22sm (?), 03:28, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Человек хорошее воспринимает как должное. Поэтому большинство отзывов о товарах и услугах - негативные. Туда же и новости. Открой любой новостной телеграм канал - сплошной негатив.
| |
|
4.60, Аноним (56), 21:02, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
И какое отношение имеет вордпресс к новичкам в пхп? Вордпресс это софт, который пилит кучка наркоманов, "программистов на вордпресс" не существует.
| |
|
|
|
1.9, Аноним (9), 19:24, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
> Добавлены отдельные типы "true", "false" и "null"
Я на пхп никогда не писал, но это выглядит как достижение века!
| |
|
2.47, Аноним (47), 20:39, 08/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
>>> как достижение века! <<<
В язык Си (C23) вон тоже добавили полноценный bool, false, true, - больше не надо использовать <stdbool.h>, а false и true это больше не макросы, - вот это я понимаю достижение:)
| |
|
3.49, Аноним (9), 20:47, 08/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>>> как достижение века! <<<
> В язык Си (C23) вон тоже добавили полноценный bool, false, true, -
> больше не надо использовать <stdbool.h>, а false и true это больше
> не макросы, - вот это я понимаю достижение:)
Блин точняк! Я и забыл, как сам подключал stdbool на сишечке...
| |
|
4.73, Без аргументов (?), 21:15, 08/12/2022 [^] [^^] [^^^] [ответить]
| +4 +/– |
Вам, кто называет "сишечкой" не понятно, что Си создавался для того, чтобы не писать на ассемблере, и чтобы можно было компилить более менее кросс-железно. Его правильней называть языком среднего уровня. В железе нет типа bool, там есть 8/16/32/64-битные регистры, в которых хранятся числа или адреса, а также битовые флаги в регистрах не общего назначения, которые меняются через загрузку в регистр общего назначения и выгрузку обратно, и больше ничего. Задача Си преобразовать алгоритмические читаемые глазами операции в машинный код конкретного процессора. Rust же неоправданно перегружен кучей всяких спецсимволов, осложняющих чтение, что приведёт к ошибкам по невнимательности.
| |
|
5.75, Аноним (47), 21:20, 08/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
>>> Rust же неоправданно перегружен кучей всяких спецсимволов, осложняющих чтение <<<
ИМХО, скоро в Си будет не лучше, - ибо товарищи стандартизаторы они такие:)
| |
5.99, пох. (?), 22:41, 08/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Меня до сих пор изумляет слепота разработчиков, выдумавших в нем совершенно лишние платформозависимые типы, завязавших ВСЕ на sizeof(char) из-за которого нельзя было перейти на юникод без адского трэша, просто объявив что в этом компиляторе char двухбайтный (задуман он тоже, разумеется, был как платформозависимый), и выбросивших тип byte - единственный тип в bcpl, который как раз был в этом месте сделан правильно.
> Rust же неоправданно перегружен кучей всяких спецсимволов, осложняющих чтение, что приведёт к
> ошибкам по невнимательности.
Не приведет. Там и внимательно написанный код не всегда компилируется, пока не обвешают unsafe.
| |
|
6.131, Аноним (128), 01:16, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>объявив что в этом компиляторе char двухбайтный
wchar_t к вашим услугам. Но лучше не надо. Используйте utf-8 и не выпендривайтесь.
| |
|
7.162, Аноним (47), 09:21, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Я бы сказал иначе, - если вам нужно работать "по-серьёзному" со строками?, - выбирайте другой язык программирования!
| |
|
6.230, Аноним (228), 22:57, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Попутал char с трамвайной ручкой. :-)
sizeof(char) == 1 по определению. Да, уместнее его было назвать byte, но в 71-м году как-то про юникод не подумали :-)
sizeof('c') - тут, да, ерунда получилась, в С++ исправили. Но это не char, это character literal.
| |
|
7.252, пох. (?), 20:18, 10/12/2022 [^] [^^] [^^^] [ответить] | +1 +/– | Чьему блжад определению Нет Байт - это байт А char- тип для хранения символов... большой текст свёрнут, показать | |
|
8.263, Аноним (209), 00:53, 11/12/2022 [^] [^^] [^^^] [ответить] | +/– | When sizeof is applied to an operand that has type char, unsigned char, or signe... текст свёрнут, показать | |
|
|
|
5.111, Аноним (9), 23:32, 08/12/2022 [^] [^^] [^^^] [ответить] | +/– | Тип bool однозначно и очевидно переводится в машинное число Но не это главное ... большой текст свёрнут, показать | |
|
6.115, Капитан Очевидность (?), 23:55, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>>Си есть структуры. И это, согласитесь, куда более высокоуровневая штука,
Нет, структуры как и базовые типы, это самая основа, и они ближе к железу.
Даже древние процессоры, хоть как нибудь, аппаратно поддерживали работу со структурами,
ибо они требовались изначально для работы с периферией.
Абстракциия от аппаратной части - это Json и аналоги.
| |
|
7.121, Аноним (9), 00:53, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>>>Си есть структуры. И это, согласитесь, куда более высокоуровневая штука,
> Нет, структуры как и базовые типы, это самая основа, и они ближе
> к железу.
> Даже древние процессоры, хоть как нибудь, аппаратно поддерживали работу со структурами,
> ибо они требовались изначально для работы с периферией.
> Абстракциия от аппаратной части - это Json и аналоги.
Если структуры -- это самая основа, то bool -- это основа основ, потому что это просто число. А работу с числами поддерживают любые процессоры, которые только можно представить.
| |
|
6.201, Без аргументов (?), 12:57, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Почему структуры в Си не равно этим вашим JSON и объектам напримере порта микроконтроллера:
у порта как любого физического устройства есть адрес, по которому физический механизм памяти определяет, куда мультиплексировать (грубо говоря соединить как телефонная станция) сигнальные линии шины с устройством передачи — регистром АЛУ, физических линий. Условно, 0x00001000;
железно, порт внутри содержит регистры, они адресуются инкрементом базового адреса регистра. т.о. шагая вперед с интервалом в 32 бита, 0x00001020, мы можем пройти по каждому регистру.
Структура же просто повторяет физическую структуру порта. И поле регистра структуры сразу адресует в нужное место в рамках адресов регистра.
| |
6.237, Аноним (174), 09:24, 10/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
В число - однозначно. В машинное - вообще не однозначно и не очевидно.
Что такое ваш конкретный bool - 8 бит, 16 бит, 32 бита, 64 бита?
Или быть может оно вообще побитово в слово упаковано по 64 штуки в слове?
| |
|
7.243, Аноним (9), 13:20, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> В число - однозначно. В машинное - вообще не однозначно и не
> очевидно.
> Что такое ваш конкретный bool - 8 бит, 16 бит, 32 бита,
> 64 бита?
> Или быть может оно вообще побитово в слово упаковано по 64 штуки
> в слове?
А какая разница программисту? Пусть компилятор решает. А на счёт упаковывать -- это уже что-то более сложное. Я говорю про самый примитивный bool, который может хранить два значения. Причём в числовом виде обычно 0 -- это false, а любое другое значение -- true. Это ведь не что-то высокоуровневое, не так ли?
| |
|
6.254, пох. (?), 20:24, 10/12/2022 [^] [^^] [^^^] [ответить] | +1 +/– | только в твоих фантазиях В машине нет никакого bool потому что в процессоре ес... большой текст свёрнут, показать | |
|
7.255, Аноним (9), 20:57, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Если для тебя структура является синтаксическим сахарком над смещениями указателя, то синтаксическим же сахарком для тебя должен являться и тип bool (гораздо более простым и очевидным сахарком кстати). Но если для тебя bool -- это что-то из области ООП, то продолжай программировать на сишечке. До более серьёзных языков ты пока не дорос.
| |
|
8.257, пох. (?), 23:08, 10/12/2022 [^] [^^] [^^^] [ответить] | +/– | Еще раз структура твоя - просто кусок памяти, в котором есть оффсеты его внут... текст свёрнут, показать | |
|
|
10.276, пох. (?), 13:52, 12/12/2022 [^] [^^] [^^^] [ответить] | +/– | все ясно с тобой Я же говорил - продолжай программировать на своем пехепе Си т... большой текст свёрнут, показать | |
|
|
|
7.261, Аноним (174), 00:31, 11/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
На самом деле у того же x86 есть операция bt (да и в z80 даже уже была - bit), которая проверяет конкретный бит. Поэтому насчёт отсутствия в машине я бы так огульно не того.
| |
|
8.277, пох. (?), 13:55, 12/12/2022 [^] [^^] [^^^] [ответить] | +/– | _произвольный_ Т е никакого bool в нем по прежнему нет Есть операции с битами... текст свёрнут, показать | |
|
|
|
|
6.203, Без аргументов (?), 13:03, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Это все простейшие операции, которые разрулит компилятор. Другое дело там, где нужно параллелить, работать с векторами. Например, операции DSP, делающие несколько арифметических действий за один такт.
| |
|
5.192, Сшчка (?), 11:31, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
- "там есть 8/16/32/64-битные регистры, в которых хранятся числа или адреса"
Удивительно, но адреса это тоже число, не путайте "сишечников", а то подумают что принципа однородности не существует по Нейману ... пардон ... фон Нейману
| |
|
6.204, Без аргументов (?), 13:07, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Есть еще гарвардская архитектура, где адреса вообще отдельно. И физически адреса подчинены выравниванию памяти под удобство мультиплексирования бит по битности шины.
| |
|
7.258, пох. (?), 23:09, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Есть еще гарвардская архитектура, где адреса вообще отдельно.
Только компьютеров нет. Странно, почему.
(нет, совсем не странно)
| |
|
|
|
4.76, Без аргументов (?), 21:23, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Мне самому непонятно, зачем изобретать (всё равно тормозные и жрущие ОЗУ) GNOME 4x на языке среднего уровня, а также писать криптографические функции, где акцент на математическом алгоритме, ассемблерные вставки же под инструкции процов вроде AES256, SSE4 в нормальных языках можно организовать тоже (но я не в курсе, используются ли они вообще во всяких openssl/libcrypto).
| |
|
3.62, Аноним (56), 21:04, 08/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Слушай, языку с узкой жестко определённой применимостью (ядра ОС и драйверы) это простительно. А вот языку высокого уровня для ламеров - нет, это позор.
| |
|
4.148, Аноним (147), 04:12, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Что такое «жестко определенная применимость» кем это она жестко определенна? Пишите на чем удобно и всего делов. Главное ж результат
| |
|
5.181, Аноним (56), 09:53, 09/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вот из-за "главное результат" имеем электрон на десктопе и нижайшее качество софта за всю историю индустрии. Потому что вот такие с подходом "пилю на чем хочу законом не запрещено" не умеют в проектирование.
| |
|
|
3.146, Chlen22sm (?), 03:34, 09/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
> C23
Не нужно. Си ценят именно как стабильный язык, его реализацию "ISO/IEC 9899:1990" используют в военке, космонавтике, атомных станциях, прочих критически важных и отказоустойчивых системах. Говорю как человек, который знает об этом не по наслышке.
| |
|
4.173, Аноним (47), 09:42, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>> Не нужно. <<<
Ну, что вы так сразу:( Например, там в <limits.h> добавили полезные макросы, - мелочь а приятно:)
| |
|
|
2.229, Аноним (229), 22:29, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
В Common Lisp'е nil и t всегда были типами. И одновременно значениями своих типов. nil так ваще был единственным значением типа nil, а вот тип t, помимо t, включал в себя значения всех других типов. Но это лисп, ему можно, потому что там nil и t заодно ещё и символы, и каждый evalится в себя. Да и вообще это прям таки философия лиспа, засунуть лисп в лисп, чтобы можно было evalить, evalя, он заточен под это. А вот как php переживёт это безумие...
Но я к тому, что нет ничего нового под Луной.
| |
|
1.10, Аноним (5), 19:25, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Кто-то может объяснить чего именно не хватало в пхп что он мутировал в такую мерзоту? Он же прекрасно выполнял всё для чего был создан.
| |
|
2.12, Аноним (8), 19:29, 08/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ему не хватало пхпфондейшен и внесения изменений ради изменений
| |
2.15, Аноним (11), 19:30, 08/12/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
Хотелось, видимо, чтобы он таки был языком программирования, а не недошаблончиком.
| |
|
3.21, Аноним (5), 19:38, 08/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
но так он же и создавался для того чтобы шаблончики разворачивать. Давайте блин из стула язык программирования делать
| |
|
2.17, Аноним (16), 19:32, 08/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
>Кто-то может объяснить чего именно не хватало в пхп
Отпинывателя тайпскриптеров.
| |
2.66, Аноним (56), 21:06, 08/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Никогда не выполнял и сейчас не выполняет. Говно присыпали пудрой. Всегда были альтернативы лучше.
| |
|
3.83, Аноним (5), 21:41, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
ну не соглашусь. когда появился модуль к апачу, альтернатив, чтобы наляпать по быстрому говносайт, на сколько я помню, небыло приличных
| |
|
4.231, Наноним (?), 01:34, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
В эти времена все нормальные люди использовали Perl. Тот же ModPerl под Apache.
| |
|
|
2.101, пох. (?), 22:44, 08/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Кто-то может объяснить чего именно не хватало в пхп что он мутировал в такую мерзоту?
Языка программирования.
> Он же прекрасно выполнял всё для чего был создан.
Да, но шаблоны страничек на адовой смеси html и интерпретируемого скрипта уже лет двадцать как вышли из моды.
| |
|
3.119, Аноним (136), 00:22, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Можно подумать, что на PHP 8.2 нельзя написать адовую смесь html и интерпретируемого скрипта...
| |
|
4.259, пох. (?), 23:13, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Можно подумать, что на PHP 8.2 нельзя написать адовую смесь html и
> интерпретируемого скрипта...
можно (правда, уже сложнее) но речь о том что на нем еще можно просто программы писать, довольно большие и сложные - а вот на любимом тобой php4 - невозможно, увы.
При этом хомпейджи с котенком уже мало кому нужны, котиков принято постить в мордокнижечку. А вот мордокнижечка - это уже та самая сложная и большая программа, ни разу не шаблон вперемешку с кодом.
| |
|
5.262, Аноним (174), 00:34, 11/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Пачимму невозможно то?
Как на классических сях, без всяких объектов, процедурами и передачей структур (ООП так-то по сути всего лишь мелкий сахар над этим щщастьем).
Просто многие разучились.
| |
|
6.269, пох. (?), 20:23, 11/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Пачимму невозможно то?
> Как на классических сях, без всяких объектов, процедурами и передачей структур (ООП
> так-то по сути всего лишь мелкий сахар над этим щщастьем).
> Просто многие разучились.
просто проекты стали - большие. У той pdp7 оперативной памяти было 32k (правда, не байт а двухбайт по-моему)
Для нее процедур и передачи структур хватало.
А для какой QT6 - уже нет.
| |
|
|
|
|
|
1.20, Аноним (13), 19:37, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
напоминаю, что ПХП ("персональная домашняя страничка") - это не язык программирования, а шаблонизатор. Доказательство: как и в любом другом шаблонизаторе, "исходный код" по умолчанию просто выводится в stdout или похожий стрим. А чтобы начать использовать конструкции шаблонизатора, нужно явно это пометить через <? или похожую закорючку. Если переименуете README.txt в README.php, у вас получится правильная "программа" на пыхе. Потому что в ней не окажется <?-закорючки. Хелловорлд на пыхе выглядит не так:
<?php echo 'hello world';
Потому что на шаблонизаторе хелловорлд выглядит так:
hello world
| |
|
|
3.24, Аноним (13), 19:44, 08/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
ага, и на си, и на перле. Пых - это адская мешанина всех вышеозвученных языков. Гугли "PHP: a fractal of bad design"
| |
|
4.61, Аноним (61), 21:02, 08/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Стоит отметить что по прошествию 10 лет, большинство аргументов из оригинальной статьи потеряло актуальность — функциональность была добавлена, либо исправлена
| |
|
5.95, Аноним (56), 22:37, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Не потеряла, семантика и дизайн остались такими же отстойными. Впрочем, если бы создатели пхп могли бы писать хорошо, то они бы не были создателями пхп. Такая вот селя ви.
| |
|
6.127, 5к (?), 01:06, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Впрочем, если бы создатели пхп могли бы писать хорошо
причем тут пхп ? кто вообще может написать крупный проект хорошо и сразу?
| |
|
7.184, Аноним (56), 09:59, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Дело не в хорошо и сразу. Дело блин в изначальном грамотном проектировании и дизайне языка. Если строить с самого начала кривулину, то её потом патчами не допилишь без пересмотра основ. А строили именно кривулину, потому что никакой серьёзной теории за пхп не стоит.
| |
|
6.135, Аноним (61), 01:41, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
К сожалению, обратная совместимость требует постепенных итеративных изменений.
Иначе будет как с третьепитоном — зачем переписывать половину приложения с 2.х на 3.х, если можно переписать всё на другом языке, где не будет таких сложностей с обратной совместимостью.
| |
|
7.275, пох. (?), 13:35, 12/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> К сожалению, обратная совместимость требует постепенных итеративных изменений.
Так нет же ж обратной совместимости... и не было никогда (помним foreach, ненавидим)
| |
|
|
|
|
|
2.31, Аноним (27), 19:59, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> это не язык программирования, а шаблонизатор
> <?php echo 'hello world';
уж лучше на перле шаблонизировать
print <<EOF;
hello world
EOF
| |
|
|
4.232, Наноним (?), 01:45, 10/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
PHP - это если бы дегенерат не осилил Perl и максимально его изуродовал. Именно так PHP и родился, если почитать историю происхождения. До некоторых фишек Perl'а PHP дорос только через десяток лет.
Сама по себе идея совмещать разметку и код была провальной с самого начала. До многих это быстро дошло, но PHP-хомяки жрали это дерьмо долгие годы, пока не переизобрели колесо в виде всё тех же шаблонизаторов.
И к чему в итоге пришёл PHP? К самоотрицанию. Теперь никто не пишет на PHP в том стиле, для которого он был придуман.
| |
|
|
2.45, BrainFucker (ok), 20:34, 08/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Доказательство: как и в любом другом шаблонизаторе
В каком "любом другом", в Jinja2, Pug или где?
| |
|
1.25, anonbrain (?), 19:45, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
На сайте указано что была повышена производительность, но в шортрелизе ниже об этом не было ни слова. хоть пример бы какой завезли. в целом тенденция печальная. они делают упор на строгую типизацию, расширенные комментарии, атрибуты через спецкоменты и так далее. знаете какое это отношение имеет к прогрессии в языке ? я тоже не знаю. китайцы из swoole делают бомбу, но сам php в этом направлении пока не спешит двигаться. весь синтакс уже был доведён до отличного состояния (позаимствован у плюсов), но с момента как начали происходить взаимствования у js... что то пошло не так. надеюсь сообщество обратит внимание на многопоточность, асинхронное выполнение, оптимизацию и на улучшение jit который в некоторых сценариях вместо прироста производительности обеспечивал её спад вплоть до нестабильных исключений.
| |
|
2.98, тоже Аноним (ok), 22:40, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> на многопоточность, асинхронное выполнение, оптимизацию и на улучшение jit
В пыхе, который применяется для скриптов, обязанных как можно быстрее отработать и умереть?
Копайтесь уже в своей ноде и уберите испачканные джаваскриптом руки от нормального бэкенда.
| |
|
3.233, Наноним (?), 01:50, 10/12/2022 [^] [^^] [^^^] [ответить]
| –3 +/– |
Ты хотел сказать "как можно быстрее умереть", потому что PHP точно не тот язык, который когда бы то ни было стремился к оптимизации по скорости. Вот если бы они вместо бесконечного посыпания сахаром действительно ускорили его, то PHP можно было бы простить всё.
| |
|
4.239, Аноним (174), 09:28, 10/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
На этот счёт уже в 5.6 было сделано очень многое. В 7 ещё больше. В 8 теперь есть JIT, который реально решает на ряде вещей.
| |
|
|
2.182, Аноним (174), 09:55, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Многопоточности да, сильно не хватает.
Сейчас приходится юзать свою подложку для кооперативных корутин и exec'нутых подзадач, но там проблема с обменом данными с форкнутыми процессами всё равно остаётся, слишком накладно. Треды с независимыми контекстами и быстрым IPC из треда в тред сильно спасли бы положение.
| |
|
3.188, тоже Аноним (ok), 10:58, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Сейчас приходится
плакать, колоться и вымучивать многопоточные сервисы на пыхе, а не на го, специально для этих задач созданном? Трудно вам.
| |
|
4.193, Аноним (174), 11:40, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нет особого желания браться за нишевый язык, который как и прочие руби, забудут через несколько лет.
| |
|
5.234, Наноним (?), 01:51, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Go уж точно не забудут через несколько лет: на нём написано уже очень много. Продолжайте жрать кактус.
| |
|
4.197, anonbrain (?), 12:12, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
осталось что бы под го завезли хотя бы один вменяемый mvc фремворк и заживём (этого не будет)
| |
|
5.215, тоже Аноним (ok), 16:30, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> (этого не будет)
Уже хотя бы потому, что модели, шаблону и контроллеру параллелить, как правило, тупо нечего.
| |
|
6.240, Аноним (174), 09:30, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Это тебе только кажется. Модели вполне себе способны параллелить запросы к DBMS, а например в условиях геораспределения это может дать вообще неэпический профит.
| |
6.241, Аноним (174), 09:31, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ну и опять же, зависит от того, что у тебя за модель. Если плоская примитивная вида "вгрузи вот это как есть и хорошо" - да, кроме запросов особо ничего и нет. Если модель обвязана буизнесс-логикой и имеет сложные структурные связи, да ещё и к разносортным API присобачена, то там вполне себе есть чего разобрать.
| |
|
|
6.280, Аноннейм (?), 16:54, 13/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Вы читали его доки ? или с китайского ещё не всё перевели хотя бы на английский?
| |
|
|
|
|
|
|
|
3.50, Аноним (50), 20:50, 08/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Поэтому его и не включат туда включают только опасные языки.
| |
|
|
1.28, YetAnotherOnanym (ok), 19:53, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
> Добавлены отдельные типы "true", "false" и "null", которые могут принимать только одно допустимое значение
Вангую добавление в следующих версиях отдельного типа "half", который может принимать только одно допустимое значение 0.5, "quarter", который может принимать только одно допустимое значение "¼", "one", который может принимать только одно допустимое значение 1.0 и "two", который может принимать только одно допустимое значение "II".
| |
|
2.34, Аноним (13), 20:01, 08/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не поверишь, но в языках с богатыми возможностями типизации это уже есть:
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
Ибо тип -- это множество всех допустимых значений.
| |
|
3.39, Аноним (27), 20:05, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ты не понял... Ты привёл пример, где ты сам определяешь тип, а в статье речь про уже "добавлены типы".
| |
3.79, YetAnotherOnanym (ok), 21:35, 08/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ты не поверишь, но в сабже эти типы ("true", "false" и "null") появились только сейчас, и его разработчики даже сочли нужным сообщить об их появлении своей пастве.
| |
|
4.217, Аноним (164), 17:00, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ты не поверишь, но в php тип null появились только 20 лет назад, а очередной опеннет эксперт даже счел нужным сообщить о собственной глупости своей пастве.
| |
|
|
|
3.250, Аноним (250), 19:54, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Для этого надо придумывать "женский" ЯП! Там ВСЁ будет на нечёткой логике. :)) bool - это "да", "нет", "может быть". Ошибка? Есть её обработчик "Отстань, не до тебя сейчас". Цикл от 0 до "я устала". Много чего интересного сделать можно :)
| |
|
|
1.30, Онанистмус (?), 19:59, 08/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
То чувство когда компилируемый golang проще чем интерпретируемый php.
Мда из простых получается только python остался.
| |
|
|
3.46, BrainFucker (ok), 20:36, 08/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Перл проще, потому что на нём писать лучше даже не начинать. Нет кода нет проблем.
| |
|
2.59, Амитабх Бачан (?), 21:02, 08/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Из простых остался только раст. Типы да трейты - вот и весь язык. Ни классов, ни наследования, никаких там "readonly class" - все кашерно, все по минимуму. Раст - единственная достойная замена пыхе. Жалко. Много лет на пыхе программировал - версия 7.4 была самая лучшая, на восьмерку даже и не думал переходить. В итоге сейчас перехожу на раст, так как на восьмой пых больно смотреть.
| |
|
3.129, 5к (?), 01:12, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Вот чем хорош пхп, так это совместимостью, не заставляют же использовать все эти опции, а там хоть 5 хоть 8, это не питон.
| |
|
4.151, Аноним (151), 06:46, 09/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ну попробуй запустить современный фреймворк или волдпресс на PHP 5.6
| |
|
5.271, 5к (?), 00:53, 12/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну попробуй запустить современный фреймворк или волдпресс на PHP 5.6
а мс-офис-2010 на дос запустить не надо?, а может хром на ардуино-нано, дурилка
| |
|
4.235, Наноним (?), 01:55, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Нет там никакой в PHP особой совместимости. Ломают и в 8, ломали при переходе с 4 на 5, и при переходе с 5 на 7. Дофига всего нужно было переделывать.
| |
|
5.270, 5к (?), 00:51, 12/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Нет там никакой в PHP особой совместимости. Ломают и в 8, ломали
> при переходе с 4 на 5, и при переходе с 5
> на 7. Дофига всего нужно было переделывать.
хз, вот недавно с githaba брал скрипт 13-летней давности, ну да 600+ строк кода всего, но никаких проблем вообще, вместо curl какойто ...хз что, но работает в 8 без проблем, есть аналогичные классы для laravel, еще для чего-то, только нафиг их, класс в классе в классе, зачем.
да до этого, много раз было, аналогичное, скрипт на питоне взял, а ему ту библиотеку, или ту версии другой, муть, а потом центос не грузится ага..а пхп тупо работает
| |
|
6.274, 1 (??), 10:17, 12/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ну дык ... Вышеозначенный
<?php
print <<<EOF
hello world
EOF;
Написан раз - работает везде.
Хотя и никому не нужен.
| |
|
|
4.273, 1 (??), 10:15, 12/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Вот чем хорош пхп, так это совместимостью
ты что ль молодой совсем ?
Не застал 5.3 -> 5.4 ? Ну или 5.6 -> 7 ?
| |
|
|
2.158, Аноним (-), 08:20, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>простых
>python
Это в котором тоже с 3 версии синтаксис удобрили до состояния компоста?
| |
|
3.216, Онанистмус (?), 16:32, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Мне только оператор моржика не нравится вот этот := а так самый читаемый язык до сих пор.
| |
|
|
|
2.51, Аноним (50), 20:51, 08/12/2022 [^] [^^] [^^^] [ответить]
| –3 +/– |
Вроде так и должно быть или у тебя такой утонченный стеб? Такой нежирный что даже с монитора не стекает.
| |
|
3.143, Chlen22sm (?), 03:22, 09/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Вроде так и должно быть
Для курильщиков может и так, но здоровый человек должен упрощать.
| |
|
2.156, Аноним (164), 08:14, 09/12/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
Настоящим программистам достаточно "соответствующего тьюрингу" языка, любой опеннет эксперт это знает
| |
|
|
2.53, Аноним (9), 20:51, 08/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Как только куда-то начинают запихивать ООП, это сразу дохнет.
Если вообще что-то запихивать, то тому, во что пихают, будет плохо. Потому что нужно грамотно проектировать, а не пихать.
| |
|
|
2.169, Здрасьте (?), 09:40, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Infinity (INF) и NaN (NAN) в языке есть сто лет в обед, как и во многих других. Эти числа — часть стандарта IEEE 754. И даже минус ноль есть.
| |
|
|
4.214, Здрасьте (?), 16:28, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Значения. Тип у этих значений по стандарту — с плавающей запятой (в данном случае — float).
| |
|
5.220, Sw00p aka Jerom (?), 18:19, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Значения. Тип у этих значений по стандарту — с плавающей запятой (в
> данном случае — float).
так "Отец Ононим" выше за типы говорил, а не значения.
| |
|
|
|
|
|
|
3.172, Здрасьте (?), 09:41, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Да? Почему? Какая разница вообще какой синтаксис у атрибутов? Это всё полнейшая вкусовщина. А у решётки хоть плюс есть — старых версии пхп её воспримут как коммент, обратная совместимость.
| |
|
|
1.120, Аноним (136), 00:43, 09/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Хороший был инструмент под названием PHP до версии 7, простой и самодостаточный. Потом вместо нормальной модульности придумали уродский костыль в виде namespaces.
И понеслось...
| |
|
2.165, Аноним (174), 09:35, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну, namespaces кстати удобны. К ним бы ещё множественное наследования.
А так - да, в плане расширения синтаксиса занимаются хренью какой-то честно говоря.
| |
|
1.125, Аноним (125), 01:03, 09/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Кто нибудь знает, планируется ли добавление блочного ограничения области видимости переменной?
| |
|
2.137, Аноним (136), 01:47, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вротпресс такого не переживет. А без него PHP отправится вслед за Perl.
| |
|
3.236, Наноним (?), 02:00, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
PHP никогда не отправится вслед за Perl, потому что Perl - по-прежнему лучший для парсинга текста и "склеивания" разнородных скриптов и систем. PHP же в этом качестве всегда был негодным инструментом. Поэтому PHP однажды просто сдохнет.
| |
|
|
1.141, Аноним (141), 03:18, 09/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Чего хотели? Каждое десятилетие язык меняется. В конторе есть простенький сайт на php5 на 98 винде крутится, 256 мегабайт оперативки хватает.
| |
1.150, Аноним (150), 05:28, 09/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Нельзя писать "ключевые улучшения" !!!!
Надо писать "ключевые ИЗМЕНЕНИЯ" !! А уж являются ли они "улучшениями, каждый сам для себя решит... пока в язык только хрень всякую тащат :(
| |
|
2.152, Анони Карбайкл (?), 06:53, 09/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Блестяще! Это не улучшения - это ключевые ухудшения! Превратили php в выгребную яму языковых отходов! Руки прочь от нашего пхп! Оставьте его в покое!
| |
|
3.212, Анонист (?), 15:33, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>Превратили php в выгребную яму языковых отходов!
Так так и было задумано - выгребная яма языковых отходов для выгребной ямы индустрии IT.
| |
|
|
1.155, Igraine (ok), 08:01, 09/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>Указание флага "readonly" на уровне класса
Молодцы, даже в kotlin такого нет.
| |
|
2.160, Igraine (ok), 08:33, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>Объявлена устаревшей возможность динамического создания свойств в классе. В PHP 9.0 обращение к свойствам, изначально не определённым в классе, будет приводить к ошибке (ErrorException)
Очень хорошо что выводят строгие ограничения на типы и классы, молодцы.
| |
|
1.163, Аноним (174), 09:33, 09/12/2022 [ответить] [﹢﹢﹢] [ · · · ] | –1 +/– | Такое ощущение, что в коре развития языка случился какой-то Ц - Добавлены отдел... большой текст свёрнут, показать | |
|
2.190, фф (?), 11:04, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
- Функции, подобные strtolower() и strtoupper(), теперь всегда преобразуют регистр символов в диапазоне ASCII как при выставлении локали "С"
Всё бы ничего, но возможность вернуть старое поведение не оставлена, а значит кучу легаси надо будет проверять на предмет использования со всякими "ё".
-- "ё" не входит в "диапазон ASCII" - можно не проверять.
| |
|
3.195, Аноним (174), 11:42, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
"ё" - это образно. В ASCII8 много всякого интересного в начале диапазона.
| |
|
4.196, Аноним (174), 11:43, 09/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
// в начале расширенного диапазона 128-255, а то снова не разжевал
| |
|
5.208, фф (?), 13:28, 09/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
расширенный режим 128-255 не входит в ASCII
ASCII (он же ANSI X3.4) содержит только коды 00-7F (все остальное - это "неизвестные символы")
тут либо описание нововведения неверно, либо проверять нечего
| |
|
6.251, Аноним (174), 20:11, 10/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Там так: в расширенных кодах ASCII8 пыталась учитываться локаль. Теперь чистый ASCII7 по кейсингу, как в C locale.
| |
|
|
|
|
|
|