OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 20 Март, 2019 00:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 90 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Среда, 06 Март, 2019 19:33 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 253
Откуда: Украина, Днепропетровская обл.
Kemet, тему с флагами предлагаю закончить. Операции типа SYSTEM.ADC добавлены по очень простой причине — для эмуляции отсутствующей в Обероне-07 длинной арифметики.

Официально заявляю, что код ROR спроектирован только для работы в BlackBox, а там никаких подобных операций для проверок флагов в SYSTEM нет. В коде, сгенерированном Ofront+ и компилятором Си, отлавливать поведение флагов таким образом — крайне неприемлемо, особенно со включённой оптимизацией. Кстати, также Ofront не поддерживает операций типа SYSTEM.PUTREG.

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

SovietPony писал(а):
ASSERT(SYSTEM.ADR(a) # SYSTEM.ADR(b))
Бомба! :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Четверг, 07 Март, 2019 07:11 

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 31
Откуда: Equestria
Rifat писал(а):
SovietPony писал(а):
SYSTEM.ADR(a) # SYSTEM.ADR(b).

А если будет 10 параметров и практически все различаются, только два каких то параметра могут совпадать, то уже сотни вариантов кода будут. ...
Если 10 var-параметров, то с кодом явно что-то не так и его следует переделать.
В любом случае запрет уже не для чистого оберона.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Четверг, 07 Март, 2019 16:56 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 769
Откуда: Казань
Я как-то делал "аналог STL" на Обероне. Там были некоторые функции, которые принимали примерно 10 параметров. Так что такое встречается. И без этого там никак нельзя было обойтись.

А если взять промышленный код, то по работе мне встречалась функция на Си с 80 параметрами. Это не шутка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Суббота, 09 Март, 2019 17:02 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 284
Цитата:
Oleg N. Cher писал(а):
Код точно рабочий? Я проверил. Он даёт для ROR(1, 1) результат F333333333333334
А вот это, оказывается, было вызвано багом в калькуляторе Windows 7. Попробуйте вставить число -9223372036854775808 и сконвертить в Hex 8 байт. Он выдаёт: F333333333333334. Если вбить в Hex вручную 8000000000000000 и сконвертить обратно в Dec, будет -9223372036854775808. Мда уж.

Микрософт открыла исходники "виндового" калькулятора.https://habr.com/ru/post/443018/
Цитата:
Компания открыла код для того, чтобы любой желающий мог ознакомиться с такими технологиями Microsoft как Fluent, Universal Windows Platform, Azure Pipelines и другими. Благодаря этому проекту разработчики могут больше узнать о том, как выполняется работа по созданию тех либо иных проектов в Microsoft.

Дикое количество хитровы...думанных технологий в лажающем калькуляторе (калькуляторе!!! на основе проца запредельной вычислительной "мощИ"), а несчастные обероновцы копья ломают про компилятор ;-)
Оказывается не всё так грустно, господа-товарищи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Суббота, 09 Март, 2019 19:08 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7993
Откуда: Троицк, Москва
Действительно, мда уж.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Понедельник, 11 Март, 2019 04:53 
Аватара пользователя

Зарегистрирован: Среда, 22 Апрель, 2015 23:51
Сообщения: 133
Откуда: г. Рига, Латвийская ССР
Из кода Виндоуского калькулятора:
Код:
Windows::UI::Xaml::Data::ICustomProperty^ BindableBase::GetIndexedProperty(Platform::String^ name, Windows::UI::Xaml::Interop::TypeName type)
{
    return nullptr;
}

Офигенная функция... :lol:
https://github.com/Microsoft/calculator/blob/master/src/Calculator/Common/BindableBase.cpp


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Понедельник, 11 Март, 2019 13:51 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7993
Откуда: Троицк, Москва
Rifat писал(а):
Я как-то делал "аналог STL" на Обероне. Там были некоторые функции, которые принимали примерно 10 параметров. Так что такое встречается. И без этого там никак нельзя было обойтись.
Не следует ли отсюда, что на Обероне надо обойтись без "аналога STL".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Понедельник, 11 Март, 2019 14:09 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7993
Откуда: Троицк, Москва
Всем спасибо за "калькулятор".

Хочется сказать, "давно ничему не удивляюсь" -- но всё-таки удивляюсь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Понедельник, 11 Март, 2019 14:56 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 769
Откуда: Казань
Info21 писал(а):
Не следует ли отсюда, что на Обероне надо обойтись без "аналога STL".

Я уже когда-то писал, что STL хорош своими контейнерами set и map, у которых временная сложность O(log(n)) для поиска, вставки и удаления. Для реализации этих структур данных используются сбалансированные деревья. Чтобы реализовать, например, операции поиска, вставки и удаления в АВЛ-дереве надо написать примерно 300 строк кода. Под каждую структуру данных переписывать 300 строк кода не очень удобно. К тому же, если совершить ошибку в реализации сбалансированного дерева, то её бывает сложно обнаружить, поэтому лучше один раз реализовать алгоритм, проверить, что он правильный, и его использовать.
Реализовать обобщенность можно разными способами. На форуме люди писали об этом. Кто-то модифицирует язык под обобщенность, кто-то использует активно модуль SYSTEM и мета-программированием. В моём же методе используются только стандартные средства языка, без использования SYSTEM. А то, что надо передать чуть больше параметров, чем обычно, я считаю не очень большой платой за обобщенность без использования SYSTEM или модификации языка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07: вопросы реализации
СообщениеДобавлено: Понедельник, 11 Март, 2019 21:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7993
Откуда: Троицк, Москва
Спасибо за труд длинного ответа.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 90 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB