Я сомневаюсь что многие библиотеки используют исключения. Так как автор хорошей библиотеки всегда должен держать в уме сценарий использования в среде с отключёнными исключениями.
Сслыка про UCS-2 и UTF-16. Я говорил про UCS-4 и UTF-32.
То, что нет кодепойнтов от U+D800 до U+DFFF -- это не "приколы с суррогатными парами", это просто факт, что таких кодепойнтов нет. Впрочем, по крайней мере понятно, о чём, возможно, вы хотели сказать.
Нет такой проблемы, вы её выдумали.
Есть. Как и ещё миллион разных ситуаций, где текст обрубается в произвольном месте между байтами. Даже банально из-за программных ошибок когда неверно индекс подсчитан -- я сам такие делал и хорошо, что Rust проверяет такие вещи и проверяет именно с помощью свойств UTF-8.
Подумайте также вот над чем. 1. UTF-8 придумал Кен Томпсон, при этом Кен Томпсон понимал что делает и зачем. 2. Кен Томпсон сделал код самосинхронизирующимся. 3. Из 1 следует: если бы это не было необходимо, Кен Томпсон не стал бы делать код самосинхронизирующимся. 4. Из 3 и 2 следует: самосинхронизация необходима. Таким образом, строго логически можно доказать, что самосинхронизация необходима.
Четырёх байтовые: UCS-4 фиксированной ширины и UTF-32 — переменной
Это одно и то же.
UTF-8 довольно простой, если не считать приколов с суррогатными парами
В UTF-8 нет ниаких "приколов" с суррогатными парами, суррогатные пары -- исключительная вотчина UTF-16
Но большая часть из них до сих пор не используется
Сегодня не используется, а завтра используется.
решать вопрос битых данных надо не на уровне кодирования текста, а на транспортном уровне
Вот есть у вас бинарный файл неизвестного формата, требуется найти в нём текстовые куски, как вы решите тут "вопрос битых данных"? Или есть битый диск со слетевшей файловой системой, как вытащить с него все возможные текстовые данные?
проблема компактного представления остаётся
Нет такой проблемы, вы её выдумали только ради того чтобы герически решить.
Только если очень специфически понимать "сокращение на 50%" и "поколение". Если под населением понимать общую численность, а под поколением 25 лет или что-то вроде того, то нет, сокращение гораздо медленнее.
Как раз понятно. Это почти абсолютно неконтролируемый процесс. Повлиять можно увеличением и уменьшением рождаемости где-то в пределах плюс минус 0,3 ребёнка на женщину. То есть немножко замедлить или чуть-чуть ускорить. Так что глобально на счёт контроля можно не переживать: его нет и не будет.
Это не вымирание, а депопуляция. Причина депопуляции -- демографический переход и он происходит во всех странах, хотя и не совсем одновременно. Повлиять на это сильно нельзя да и незачем. У депопуляции есть положительные и отрицательные следствия. Чтобы смягчить отрицательные следствия надо постараться растянуть депопуляцию на подольше -- это до некоторой степени возможно, только, конечно, не налогом на презервативы. Так, например, по данным демографов снижение гендерного неравенства увеличивает немного рождаемость, а изменения ценностей в консервативную сторону уменьшает. В любом случае численность человечества будет снижаться пока не достигнет значений примерно на уровне до начала демографического перехода (что-то около половины миллиарда), но в любом случае это займёт сотни лет.
Так может говорить только человек, который это самое натуральное хозяйство в глаза не видел. Это очень тяжёлый труд, занимающий всё доступное время. Мало кто согласится так жить.
Не стоит ссылаться на квантовую механику, если не разбираешься в этом. Особенно если собеседник разбирается. Коллапс волновой функции — это вообще не процесс. Процессы происходят во времени и пространстве, коллапс же не таков.
Вообще представление о мире как о чём-то существующем в данный момент и меняющемся с течением времени, наталкивается на серьёзные трудности из-за теории относительности. Вот почему в современной философии популярен этернализм, согласно которому Вселенная существует как нечто неизменное, зафиксированное и включающее прошлое и будущее на равных правах.
Но всё это на самом деле имеет мало отношения к программированию. У программирования свои законы. А исключения кстати есть даже в Хаскелл, так что связь с функциональным программированием тут весьма косвенная.
Практика показывает, что исключения неудобны что в функциональном программировании, что в императивном. Они не отражаются в типах, из-за чего компилятор не помогает их правильно обрабатывать. Они имеют громоздкий синтаксис. У них крайне ограничена выразительность (например, вы не можете иметь коллекцию исключений).
И std::expected.
Я сомневаюсь что многие библиотеки используют исключения. Так как автор хорошей библиотеки всегда должен держать в уме сценарий использования в среде с отключёнными исключениями.
В std исключений почти везде можно избежать.
Сслыка про UCS-2 и UTF-16. Я говорил про UCS-4 и UTF-32.
То, что нет кодепойнтов от U+D800 до U+DFFF -- это не "приколы с суррогатными парами", это просто факт, что таких кодепойнтов нет. Впрочем, по крайней мере понятно, о чём, возможно, вы хотели сказать.
Есть. Как и ещё миллион разных ситуаций, где текст обрубается в произвольном месте между байтами. Даже банально из-за программных ошибок когда неверно индекс подсчитан -- я сам такие делал и хорошо, что Rust проверяет такие вещи и проверяет именно с помощью свойств UTF-8.
Подумайте также вот над чем. 1. UTF-8 придумал Кен Томпсон, при этом Кен Томпсон понимал что делает и зачем. 2. Кен Томпсон сделал код самосинхронизирующимся. 3. Из 1 следует: если бы это не было необходимо, Кен Томпсон не стал бы делать код самосинхронизирующимся. 4. Из 3 и 2 следует: самосинхронизация необходима. Таким образом, строго логически можно доказать, что самосинхронизация необходима.
Вы очень упрощаете. Демография -- сложная наука, туда лучше без подготовки не лезть.
Демографы предсказывают, что пик населения Земли будет между 9 и 9,5 млрд, а последующее снижение будет очень долгим процессом.
Проблема, которая решается, неясна. Какой бы результат ни приписать операции деления на ноль, это не сделает это деление осмысленным.
Это одно и то же.
В UTF-8 нет ниаких "приколов" с суррогатными парами, суррогатные пары -- исключительная вотчина UTF-16
Сегодня не используется, а завтра используется.
Вот есть у вас бинарный файл неизвестного формата, требуется найти в нём текстовые куски, как вы решите тут "вопрос битых данных"? Или есть битый диск со слетевшей файловой системой, как вытащить с него все возможные текстовые данные?
Нет такой проблемы, вы её выдумали только ради того чтобы герически решить.
А с каких пор фото в купальнике -- это "откровенное изображение"?
Ага, особенно если исключения отключены вместе с RTTI /сар
Только если очень специфически понимать "сокращение на 50%" и "поколение". Если под населением понимать общую численность, а под поколением 25 лет или что-то вроде того, то нет, сокращение гораздо медленнее.
Как раз понятно. Это почти абсолютно неконтролируемый процесс. Повлиять можно увеличением и уменьшением рождаемости где-то в пределах плюс минус 0,3 ребёнка на женщину. То есть немножко замедлить или чуть-чуть ускорить. Так что глобально на счёт контроля можно не переживать: его нет и не будет.
Это не вымирание, а депопуляция. Причина депопуляции -- демографический переход и он происходит во всех странах, хотя и не совсем одновременно. Повлиять на это сильно нельзя да и незачем. У депопуляции есть положительные и отрицательные следствия. Чтобы смягчить отрицательные следствия надо постараться растянуть депопуляцию на подольше -- это до некоторой степени возможно, только, конечно, не налогом на презервативы. Так, например, по данным демографов снижение гендерного неравенства увеличивает немного рождаемость, а изменения ценностей в консервативную сторону уменьшает. В любом случае численность человечества будет снижаться пока не достигнет значений примерно на уровне до начала демографического перехода (что-то около половины миллиарда), но в любом случае это займёт сотни лет.
Так может говорить только человек, который это самое натуральное хозяйство в глаза не видел. Это очень тяжёлый труд, занимающий всё доступное время. Мало кто согласится так жить.
Это не из-за их архитектуры, это просто из-за малого распространения.
Вот тормоза -- это да: та же QNX адски медленная, это я непонаслышке знаю.
20 системных вызовов делали бы это гораздо лучше
Разница даже не на порядок. 500 системных вызовов -- это уже сумасшествие.
Не стоит ссылаться на квантовую механику, если не разбираешься в этом. Особенно если собеседник разбирается. Коллапс волновой функции — это вообще не процесс. Процессы происходят во времени и пространстве, коллапс же не таков.
Вообще представление о мире как о чём-то существующем в данный момент и меняющемся с течением времени, наталкивается на серьёзные трудности из-за теории относительности. Вот почему в современной философии популярен этернализм, согласно которому Вселенная существует как нечто неизменное, зафиксированное и включающее прошлое и будущее на равных правах.
Но всё это на самом деле имеет мало отношения к программированию. У программирования свои законы. А исключения кстати есть даже в Хаскелл, так что связь с функциональным программированием тут весьма косвенная.
Практика показывает, что исключения неудобны что в функциональном программировании, что в императивном. Они не отражаются в типах, из-за чего компилятор не помогает их правильно обрабатывать. Они имеют громоздкий синтаксис. У них крайне ограничена выразительность (например, вы не можете иметь коллекцию исключений).
Эти свойства нуля и единицы верны только при умножении на число и сложении с числом. А в данном контексте I — не число.
Не считая, что вайб-кодинг буквально убивает мозг.
Исключения не нужны (даже вредны), если есть алгебраические типы данных с вспомогательным сахаром.
Не знаю какой такой информации он у вас требует, у меня пока ничего не требовал.
Асинхронщина нормальная. Есть несколько специфических приколов, а где их нет?
Есть альтернатива: возможно, вам не нравится Rust, потому что у вас ужасный эстетический вкус. И в таком случае надо улучшать вкус, а не менять язык.
Да, и вот i в формальном выражении -- это не мнимая единица, то есть не комплексное число.