OberonCore https://forum.oberoncore.ru/ |
|
#008 Предложение: убрать UTF8 из BlackBox https://forum.oberoncore.ru/viewtopic.php?f=134&t=6511 |
Страница 1 из 3 |
Автор: | Борис Рюмшин [ Вторник, 10 Декабрь, 2019 23:23 ] |
Заголовок сообщения: | #008 Предложение: убрать UTF8 из BlackBox |
Пока сюда, потому что точно не понимаю, куда приткнуть. (Надо по ББ темы и форумы переформатировать как-то, а то уже непонятно куда про что писать.) Так вот идея произрастает из дискуссии в Telegram по поводу левых функций в интерфейсе Kernel для работы с UTF8. Им там однозначно не место! Но суть не в этом. Чтобы отсечь сразу ненужный диспут: UTF8 широко сейчас применяется на практике, в том числе и нами. Но это формат обмена с внешним миром. Внутри же ББ, как известно, используется UCS2. UTF8 туда попал (в исполнении Центра) для поддержки национальных алфавитов в идентификаторах КП. И попал он туда, чтобы не сильно менять компилятор и символьные файлы, потому что там используется SHORTCHAR. Для обратной бинарной совместимости это имело смысл. Но сейчас уже совместимость рушится из-за изменений, например в Files. Поэтому всё равно требуется для чего-то перекомпиляция. Да и вообще давно все всё перекомпилируют регулярно. А раз так, то почему бы не вывести, наконец, UTF8 из недр BlackBox, то есть не довести юникодизацию до нормального состояния, с использованием штатного CHAR вместо SHORTCHAR, где он ещё остался? |
Автор: | Info21 [ Среда, 11 Декабрь, 2019 00:57 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Вылизывать грязь надо, да. |
Автор: | adimetrius [ Среда, 11 Декабрь, 2019 01:50 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Плюсую. У меня нет в использовании проприетарных старых модулей, которые без исходников. Все можно перекомпилировать. У кого есть, отзовитесь? А то когда пишешь Kernel.Utf8Name оно как-то не oberon way: смешивается суть сущности с форматом ее представления; обычно у нас это разделяется: сущности - имя, представлению - тип. И вообще, да простит меня Евгений Темиргалеев, цифры в именах - это.. ну, на мой вкус читать неудобно, по меньшей мере ) |
Автор: | Иван Денисов [ Среда, 11 Декабрь, 2019 15:48 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
В целом я не против. Лишь бы работало хорошо. Но почему так раздражает Utf8 в ядре? Может переименовать его MakeShortCharString или как угодно еще? Это один из лучших способов решить задачу, при этом не лезя в компилитор и т.д. Не обязалельно использовать эту реализацию из ядре вообще где-то в модулях пользователя! Это лучше бы в докментации даже прописать. А использовать для преобразования надо Strings. При этом с Strings надо убрать зависимость от ядра и сделать там другую реализацию Utf8. Мы так и планировали, но потом про это Йозеф забыл. А современный фреймворк без Utf8 - это нонсенс как раз. |
Автор: | Борис Рюмшин [ Среда, 11 Декабрь, 2019 16:58 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Иван Денисов писал(а): В целом я не против. Лишь бы работало хорошо. Но почему так раздражает Utf8 в ядре? Может переименовать его MakeShortCharString или как угодно еще? Это один из лучших способов решить задачу, при этом не лезя в компилитор и т.д. Это промежуточное решение, очевидно же. CHAR -- правильное по смыслу решение. И да, пора уже лезть в компилятор. Цитата: Не обязалельно использовать эту реализацию из ядре вообще где-то в модулях пользователя! Это лучше бы в докментации даже прописать. Из интерфейса её убрать надо, а не в документации прописывать. Цитата: А использовать для преобразования надо Strings. При этом с Strings надо убрать зависимость от ядра и сделать там другую реализацию Utf8. Мы так и планировали, но потом про это Йозеф забыл. Вот это правильно. Цитата: А современный фреймворк без Utf8 - это нонсенс как раз. Вот именно, фреймворк. Для рантайма это инородная сущность. И, кстати, Strings это библиотека, а не фреймворк. Так что и там спорно. Отдельный модуль для работв с utf8 в составе фреймворка -- это да. Это хорошо. |
Автор: | Info21 [ Среда, 11 Декабрь, 2019 22:36 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
DIVIDE ET IMPERA в IT-версии: "По умолчанию разделяем, если можно разделить. Если не разделяем, то доказываем почему нельзя разделять." Правильное место для UTF8 -- библиотека. Надо чистить и упрощать всё, что можно и возможно. В том числе и превентивно. |
Автор: | Илья Ермаков [ Среда, 11 Декабрь, 2019 23:36 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
1) Предлагаю зафиксировать тезис, что бинарные структуры "жизни модулей КП/ББ" в памяти являются не деталями реализации, а большой ценностью и конкурентным преимуществом - позволяя в полтычка решать то, что крайне громоздко в рефлексиях-метаинструментах раздутых языков. И, как и сам язык стабилен и проверен, так и его "способ жизни в памяти в рантайме" - тоже. 2) Исходя из этого, прочистка от некоторых случайных шероховатостей (типа SHORTCHAR, влекущего необходимость UTF, или единственной неполноты метаинформации - невозможности работать с методами) - важна! Но при этом нужно не попасть в ошибочную позицию "это детали реализации" - нет, это должно стать стабильной спецификацией как раз, все эти бинарные структуры. Они себя зарекомендовали на протяжении 20 лет. И именно поэтому - даёшь их окончательное привдение в порядок! |
Автор: | Иван Денисов [ Среда, 11 Декабрь, 2019 23:37 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Давайте только разделим две вещи. Реализацию механизмов ядра. И присутствие Utf8 в Блэкбоксе. Присутствие Utf8 нужно в кросс-платформенной сборке, так как большая часть привязок использует Utf8 для передачи всевозможных строковых аргументов для библиотек Gtk2 и им подобным. Также как и в Linux и им подобных системах Utf8 повсеместно используется для хранения текстовых данных различных конфигурационных файлов системы, пользователя и т.п. Так что Utf8 надо в Блэкбоксе оставить. Вынести в отдельный модуль из Strings - не возражаю, но и не поддерживаю. Модули плодить тоже не очень позитивно. В Strings Utf8 может жить в вполне логично, раз это операции над строками. |
Автор: | Борис Рюмшин [ Среда, 11 Декабрь, 2019 23:41 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Иван Денисов писал(а): Давайте только разделим две вещи. Реализацию механизмов ядра. И присутствие Utf8 в Блэкбоксе. Иван, я же специально оговорил в первом сообщении. Может не внятно выразился. Utf8 нужен, мы его сами широко используем. Но по внешнму контуру. Внутри ему делать нечего. |
Автор: | Борис Рюмшин [ Среда, 11 Декабрь, 2019 23:43 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Иван Денисов писал(а): Вынести в отдельный модуль из Strings - не возражаю, но и не поддерживаю. Модули плодить тоже не очень позитивно. В Strings Utf8 может жить в вполне логично, раз это операции над строками. Там операции именно над строками КП, т. е. над ARRAY OF CHAR. UTF8 формат внешний, поэтому в отдельный модуль -- вполне себе правильно. |
Автор: | Иван Денисов [ Четверг, 12 Декабрь, 2019 00:17 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Борис Рюмшин писал(а): Иван Денисов писал(а): Давайте только разделим две вещи. Реализацию механизмов ядра. И присутствие Utf8 в Блэкбоксе. Иван, я же специально оговорил в первом сообщении. Может не внятно выразился. Utf8 нужен, мы его сами широко используем. Но по внешнму контуру. Внутри ему делать нечего. Заголовок вводит в заблуждение, и сейчас также — неоднозначное уточнение. Utf8 нужен в Блэкбоксе из коробки. Пусть и в виде отдельного модуля, но в стандартном дистрибутиве. |
Автор: | D_S__ [ Четверг, 12 Декабрь, 2019 06:44 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Показалось (может ошибся), что кто-то делит на 2 слоя - "внутри" и "снаружи", а кто-то на три - "ядро", "стандартные библиотеки", "дополнительные модули" - в зависимости, видимо, от решаемых практических задач. Какой-то общий взгляд на систему "сверху" выработан уже - или нет? Хочется понять общую идею |
Автор: | Борис Рюмшин [ Четверг, 12 Декабрь, 2019 09:43 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Иван Денисов писал(а): Utf8 нужен в Блэкбоксе из коробки. Пусть и в виде отдельного модуля, но в стандартном дистрибутиве. Ну и я об этом. |
Автор: | Trurl [ Четверг, 12 Декабрь, 2019 13:24 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Я не совсем понимаю, предлагается изъять процедуры из Kernel или совсем избавиться от UTF-8 в бинарниках? |
Автор: | Борис Рюмшин [ Четверг, 12 Декабрь, 2019 14:38 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Trurl писал(а): Я не совсем понимаю, предлагается изъять процедуры из Kernel или совсем избавиться от UTF-8 в бинарниках? Избавиться от UTF8 в бинарниках. |
Автор: | Trurl [ Четверг, 12 Декабрь, 2019 15:36 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Ну, это уже радикальные изменения. Потянет на 2.0. |
Автор: | Wlad [ Четверг, 12 Декабрь, 2019 15:49 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
А есть ли возможность вообще строковые данные из ядра убрать? |
Автор: | Пётр Кушнир [ Четверг, 12 Декабрь, 2019 17:00 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Очень типичная ситуация, кто-то что-то сделал в общей кодовой базе, потому что "ну надо что-то делать", кто-то проглядел, не среагировал, теперь это новая реальность и все страдают. Получается, самый действенный путь для изменений, которые иначе завязнут в обсуждениях, это вот так вот впихивать своё в окно возможностей, пока никто не видит. Правда это как-то неэтично, что ли. |
Автор: | Trurl [ Четверг, 12 Декабрь, 2019 18:04 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Wlad писал(а): А есть ли возможность вообще строковые данные из ядра убрать? Как их уберешь? Загружать же модули надо, связывать по именам. Да еще метаинформация. |
Автор: | Trurl [ Четверг, 12 Декабрь, 2019 18:05 ] |
Заголовок сообщения: | Re: Предложение: убрать UTF8 из BlackBox |
Пётр Кушнир писал(а): кто-то что-то сделал в общей кодовой базе А разве есть общая кодовая база? |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |