OberonCore
https://forum.oberoncore.ru/

Что есть что?
https://forum.oberoncore.ru/viewtopic.php?f=1&t=6151
Страница 2 из 2

Автор:  Иван Денисов [ Суббота, 04 Ноябрь, 2017 06:21 ]
Заголовок сообщения:  Re: Что есть что?

Trurl писал(а):
Ну, на счет совместимости с 1.6 Вы преувеличиваете немного. :wink: А вот стоило ли эти функции экспортировать и даже реэкспортировать? Теперь у вас обязанность держать в ядре полную поддержку уникода и всех языков.

Не преувеличиваю. Так и есть, сам проверял, когда соответствующее обсуждение шло в Центре.

Автор:  Иван Денисов [ Суббота, 04 Ноябрь, 2017 06:24 ]
Заголовок сообщения:  Re: Что есть что?

Илья Ермаков писал(а):
Нет, ну ещё можно вспомнить подход с National в 1.5. Поставить этот модуль ниже Kernel.
И ничего в этом страшного не будет.

Это породило бы несовместимость списков компиляции. Такой вариант обсуждался.

Автор:  Иван Денисов [ Суббота, 04 Ноябрь, 2017 06:34 ]
Заголовок сообщения:  Re: Что есть что?

Иван Денисов писал(а):
Trurl писал(а):
Ну, на счет совместимости с 1.6 Вы преувеличиваете немного. :wink: А вот стоило ли эти функции экспортировать и даже реэкспортировать? Теперь у вас обязанность держать в ядре полную поддержку уникода и всех языков.

Не преувеличиваю. Так и есть, сам проверял, когда соответствующее обсуждение шло в Центре.


Чтобы не быть голословным, провел только что еще раз проверку.
Вот такой модуль с юникодным идентификтором процедуры, откомпилированный в 1.7.1 бинарно совместим и без перекомпиляции прекрасно запускается в 1.6 (Standart).
Код:
MODULE MyDemo;
IMPORT Log;

PROCEDURE Проверка;
BEGIN
   Log.String("Привет мир"); Log.Ln;
END Проверка;

PROCEDURE Do*;
BEGIN Проверка
END Do;

END MyDemo.


Valery Solovey писал(а):
Но лично мне тоже кажется странным пихать строки в ядро. Не уверен, что рассматривались другие варианты, но если рассматривались, то я их не видел. Названия всякого разного можно было представить массивом байт или массивом интов. Этот подход не лишил бы возможности производить сравнение, но отвязал бы реализацию конкретного представления.
Переделывать компилятор или загрузчик было бы достаточно рискованной затеей. Возможно в таком случае понизить надежность. А так получили поддержку юникодных идентификаторов, лишь изменив инфраструктуру. Совместимость с 1.6 - плюс. Поддержка UTF8 из коробки - тоже плюс (это важно для многих байндингов).

Автор:  Info21 [ Суббота, 04 Ноябрь, 2017 08:53 ]
Заголовок сообщения:  Re: Что есть что?

Иван Денисов писал(а):
Илья Ермаков писал(а):
подход с National в 1.5. Поставить этот модуль ниже Kernel.

Это породило бы несовместимость списков компиляции.
Поясните, пожалуйста, что это за списки?
И чем страшна эта несовместимость на фоне прочего.

Автор:  Иван Денисов [ Суббота, 04 Ноябрь, 2017 09:46 ]
Заголовок сообщения:  Re: Что есть что?

Info21 писал(а):
Иван Денисов писал(а):
Илья Ермаков писал(а):
подход с National в 1.5. Поставить этот модуль ниже Kernel.

Это породило бы несовместимость списков компиляции.
Поясните, пожалуйста, что это за списки?
И чем страшна эта несовместимость на фоне прочего.

Ну приходилось бы для одной версии среды иметь одни списки для компиляции и линковки, а для другой среды - другие списки. Неудобно.
Совместимость - это хорошо, по моему скромному мнению. Но это лишь одна из причин. Главная причина при выборе UTF8 было нежелание много менять в Блэкбоксе.
А что за "прочее"?

Автор:  Trurl [ Суббота, 04 Ноябрь, 2017 11:45 ]
Заголовок сообщения:  Re: Что есть что?

Иван Денисов писал(а):
Чтобы не быть голословным, провел только что еще раз проверку.

- Срочно приезжайте, тут желтая девятиэтажка горит!
- Ну, не знаю, у меня под окнами желтая девятиэтажка и ничего не горит.

Автор:  Иван Денисов [ Суббота, 04 Ноябрь, 2017 14:03 ]
Заголовок сообщения:  Re: Что есть что?

Trurl писал(а):
Иван Денисов писал(а):
Чтобы не быть голословным, провел только что еще раз проверку.

- Срочно приезжайте, тут желтая девятиэтажка горит!
- Ну, не знаю, у меня под окнами желтая девятиэтажка и ничего не горит.

Я не понял юмора. У Вас не работает мой пример?

Автор:  Иван Денисов [ Суббота, 04 Ноябрь, 2017 17:25 ]
Заголовок сообщения:  Re: Что есть что?

Есть одно нововведение, которое меня сильно раздражает. Это то, что правый клик по ссылке теперь открывает диалоговое окно с её свойствами. И это даже в режиме маски. Меня народ не стал слушать в Центре, тем более я уже и не член Центра. Но может быть составить какое-то коллективное мнение большого числа возмущенных пользователей?

Поругал, надо и похвалить. Есть хорошее нововведение. Теперь возможно выравнивать строки линейкой по любому символу (в том числе по запятой).

Вложения:
tabs_align.png
tabs_align.png [ 14.47 КБ | Просмотров: 11009 ]

Автор:  Иван Денисов [ Пятница, 17 Ноябрь, 2017 20:29 ]
Заголовок сообщения:  Re: Что есть что?

Иван Денисов писал(а):
Есть одно нововведение, которое меня сильно раздражает. Это то, что правый клик по ссылке теперь открывает диалоговое окно с её свойствами. И это даже в режиме маски. Меня народ не стал слушать в Центре, тем более я уже и не член Центра. Но может быть составить какое-то коллективное мнение большого числа возмущенных пользователей?

Недочет исправлен в сборке от 17 ноября
http://blackboxframework.org/unstable/m ... c1.994.zip

Автор:  Trurl [ Воскресенье, 10 Декабрь, 2017 15:05 ]
Заголовок сообщения:  Re: Что есть что?

Иван Денисов писал(а):
Я не понял юмора. У Вас не работает мой пример?

Ваш пример - та самая девятиэтажка, которая не горит. Там же в кодовом файле не остается ничего, кроме ASCII.
А вот такой пример, скомпилированный в 1.6 не запустится в 1.7 и наоборот.
Код:
MODULE MyDemo;
IMPORT Log;

PROCEDURE Überprüfung*;
BEGIN
   Log.String("Hallo Welt"); Log.Ln;
END Überprüfung;

END MyDemo.

Лет пять назад это обсуждали - с UTF-8 полную бинарную совместимость не получить.
Кроме того в 1.7 - значительная переделка интерфейсов (пожалуй, самая масштабная появления ББ). И если модуль использует, скажем, Files (даже косвенно, например через TextMappers.Formatter) его придется перекомпилировать.

Автор:  Иван Денисов [ Воскресенье, 10 Декабрь, 2017 16:31 ]
Заголовок сообщения:  Re: Что есть что?

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

Автор:  Info21 [ Воскресенье, 10 Декабрь, 2017 23:40 ]
Заголовок сообщения:  Re: Что есть что?

Trurl писал(а):
в 1.7 - значительная переделка интерфейсов (пожалуй, самая масштабная появления ББ).
Подозрительно всё это.

Автор:  Иван Денисов [ Понедельник, 11 Декабрь, 2017 06:53 ]
Заголовок сообщения:  Re: Что есть что?

Info21 писал(а):
Trurl писал(а):
в 1.7 - значительная переделка интерфейсов (пожалуй, самая масштабная появления ББ).
Подозрительно всё это.

Окидывать всё подозрительным/презрительным взглядом — это, пожалуй, отличная позиция, очень удобно. Было бы подозрительно, если вся информация не была открыта. По любому нововведению есть diff, есть обсуждение на форуме, как к этому пришли. Имеется материал для предметного обсуждения. Так что, если что-то работает не так или есть недочеты, всегда есть возможность исправить, дополнить, обсудить на двух форумах.

Автор:  Info21 [ Воскресенье, 24 Декабрь, 2017 15:22 ]
Заголовок сообщения:  Re: Что есть что?

Хорошо, скажу так: мне эти процессы бурного ветвления и цветения сильно не нравятся.

Автор:  Борис Рюмшин [ Воскресенье, 24 Декабрь, 2017 16:34 ]
Заголовок сообщения:  Re: Что есть что?

С другой стороны, куда-то двигаться надо.

Автор:  Info21 [ Понедельник, 25 Декабрь, 2017 13:14 ]
Заголовок сообщения:  Re: Что есть что?

Борис Рюмшин писал(а):
С другой стороны, куда-то двигаться надо.
Ага. Как на знаменитой картинке от СЗС.

Автор:  Zinn [ Понедельник, 04 Июнь, 2018 20:26 ]
Заголовок сообщения:  Re: Что есть что?

> Info21 asked: From the "official" - 1.7 from the Center and what is based on it.
> Though to me it is not clear, what for to push in Kernel IsAlpha, StringToUtf8, etc
> But is it worth the export and even re-export of these functions?

Yes, it is. IsAlpha, StringToUtf8, etc are basic String functions. Application programs may need them. They can be import it from the MODULE Strings.

All Kernel export is only for internal use inside BlackBox. Application programs should not import Kernel at all.

About what is what:
The Center BlackBox 1.7 and also the CPC BlackBox 1.7 support Cyrillic program variable which based on the original BlackBox 1.5 Russian National version. Without this 1.5 National version the Cyrillic support in 1.7 does not exist. The different is that 1.5 uses ASCII with code page and 1.7 uses Unicode.

Programs, which using cyrillic chacters in ASCII code page, works on Russian computers only, but Programs, which use cyrillic characters in Unicode, runs everywhere over the whole world.

Of course all 1.5 cyrillic programs must be converted from ASCII code page to Unicode before you can use them with BlackBox 1.7.

Utf8 is a special reprensentation of Unicode characteres which can be storred where normaly ASCII charaters are stored.

Windows 95 & 98 works with ASCII code page and BlackBox 1.5 runs on Windows 95 & 98.
Windows XP, 7 & 10 works with Unicode. BlackBox 1.6 & 1.7 does not run on Windows 95 & 98.

- Helmut

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/