PHP: (binary)
И, чтобы, как говорится «два раза не вставать», расскажу про самую бесполезную конструкцию в ПХП. Я знаю, что не так много народу знают про (unset), про которую я ворчал вчера, а про эту вещицу, как мне кажется, знает ещё меньше программистов на ПХП.
Одна из неприятных вещей, которые остались в ПХП с давних времён — работа встроенных функций и конструкций только со строками в однобайтовых кодировках. С этим можно жить — есть библиотеки, которые позволяют замести эту проблему под ковёр, но сам язык помогать вам в этом не будет.
К сожалению, работу доделать не осилили, очень уж было сложно, особенно тяжело шло с расширениями. В итоге версия так и не вышла, но так как о ней широко раструбили, пришлось даже пропустить номер — после ПХП 5 вышла сразу седьмая версия.
Но некоторые отголоски этой не совершившейся революции
В версии 8.5 по сих пор есть преобразование типа (binary), которое является алиасом к (string), но выдаёт предупреждение об устаревшей конструкции. А кроме этого, у строки есть префикс b: b"string", придуманный для того, чтобы создавать в ПХП6 однобайтовые строки. В современных версиях ПХП он, разумеется, ничего со строкой не делает.
И эту всю красоту из языка
Комментарии 4
эталонное уродство, но всё же не так плохо как$obj->method(…)
Сочувствую. Скоро ИИ нас всех освободит.
Это — 100% вопрос привычки.
Да, писал, это сейчас самая большая проблема языка, от которой можно было бы избавиться хотя бы так, как сделали в ДжаваСкрипте — у каждого примитивного типа есть парный объект с прозрачным преобразованием. Не идеально, но лучше чем сейчас. А самые «рандомные» названия на самом деле не рандомные — они из Си пришли.