OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 19:00

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




Начать новую тему Ответить на тему  [ Сообщений: 234 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 01:39 

Зарегистрирован: Суббота, 12 Май, 2007 08:41
Сообщения: 102
Откуда: Беларусь, Минск
Александр Ильин писал(а):
Лучше бы FOR выкинули.

Вы, наверное, c CP путаете, в Обероне FOR и не было никогда :)


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

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
kreol писал(а):
Вы, наверное, c CP путаете, в Обероне FOR и не было никогда :)
Почитайте сообщения о языках Оберон-2 и Оберон-07. Вас ждёт сюрприз.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 07:57 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Александр Ильин писал(а):
Лучше бы FOR выкинули.

Объясните мне кто-нибудь, откуда взялись PACK с UNPK, и где они могут пригодиться.

ARM.

Собственно Оберон-07 возник из задачи написания ПО для встроенных систем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 07:58 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Александр Ильин писал(а):
kreol писал(а):
Вы, наверное, c CP путаете, в Обероне FOR и не было никогда :)
Почитайте сообщения о языках Оберон-2 и Оберон-07. Вас ждёт сюрприз.

В Обероне редакции 1991 года не было (нет). Во всех остальных был (есть).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 08:03 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Борис Рюмшин писал(а):
Александр Ильин писал(а):
Лучше бы FOR выкинули.

Объясните мне кто-нибудь, откуда взялись PACK с UNPK, и где они могут пригодиться.

ARM.

Собственно Оберон-07 возник из задачи написания ПО для встроенных систем.

Насколько вообще перспективен Оберон-07?
Будут ли его реально использовать не микроконтроллерщики.
Только ли Владимир Лось ждёт его с нетерпением, или писишники тоже ему рады?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 08:55 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Борис Рюмшин писал(а):
Александр Ильин писал(а):
Лучше бы FOR выкинули.

Объясните мне кто-нибудь, откуда взялись PACK с UNPK, и где они могут пригодиться.

ARM.

Собственно Оберон-07 возник из задачи написания ПО для встроенных систем.

Эти процедуры настолько важны, чтобы их встраивать в язык? Да ещё и имя у UNPK в лучших фортрановских традициях :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 10:35 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
PGR писал(а):
Эти процедуры настолько важны, чтобы их встраивать в язык? Да ещё и имя у UNPK в лучших фортрановских традициях :)
Эти процедуры отсутствуют в x86, но, наверное, напрямую поддерживаются ARM-ом. Если их не включить в язык, то придётся эмулировать, хотя возможность поддерживается аппаратно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 10:43 

Зарегистрирован: Суббота, 12 Май, 2007 08:41
Сообщения: 102
Откуда: Беларусь, Минск
Александр Ильин писал(а):
Почитайте сообщения о языках Оберон-2 и Оберон-07. Вас ждёт сюрприз.

Я имел ввиду первый Оберон, Оберон-2 - это всё-таки немножко другое. Если я не ошибаюсь, 07 не использовал ничего из второго Оберона.


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

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Valery Solovey писал(а):
PGR писал(а):
Эти процедуры настолько важны, чтобы их встраивать в язык? Да ещё и имя у UNPK в лучших фортрановских традициях :)
Эти процедуры отсутствуют в x86, но, наверное, напрямую поддерживаются ARM-ом. Если их не включить в язык, то придётся эмулировать, хотя возможность поддерживается аппаратно.

А в x87 поддерживается аппаратное вычисление sin, cos, log итд., но модуль Math почему-то не включен в язык.


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

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
PGR писал(а):
А в x87 поддерживается аппаратное вычисление sin, cos, log итд., но модуль Math почему-то не включен в язык.
Я тут посмотрел документацию по Оберону SA - эта вещь не встроена в процессор. Но в любом случае, она добавлена неспроста. Возможно, там серьёзные ограничения при работе с плавающей точкой и вариант реализации этих функций существенно сказывается на производительности. Лучше спросить у ARM-щиков.

P.S. А x87 это не процессор - его могло и не быть. А первая версия Oberon делалась для Моторольного процессора. Были ли там эти вещи в принципе?


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

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Александр Ильин писал(а):
Почитайте сообщения о языках Оберон-2 и Оберон-07. Вас ждёт сюрприз.
Просто в документе про портирование не указана версия Оберона. В документе "Differences between Oberon-07 and Oberon" указано явно:
Цитата:
Oberon-07 is a revision of the original language Oberon as defined in 1988/1990.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Пятница, 11 Апрель, 2008 12:02 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Valery Solovey писал(а):
Эти процедуры отсутствуют в x86, но, наверное, напрямую поддерживаются ARM-ом.

С точностью до наоборот. :-)


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

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
kreol писал(а):
Александр Ильин писал(а):
Почитайте сообщения о языках Оберон-2 и Оберон-07. Вас ждёт сюрприз.

Я имел ввиду первый Оберон, Оберон-2 - это всё-таки немножко другое. Если я не ошибаюсь, 07 не использовал ничего из второго Оберона.

Цикл FOR использовал.
kreol писал(а):
Вы, наверное, c CP путаете, в Обероне FOR и не было никогда :)

Вот видите, ничего я не путаю.


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

Зарегистрирован: Суббота, 12 Май, 2007 08:41
Сообщения: 102
Откуда: Беларусь, Минск
Александр Ильин писал(а):
Цикл FOR использовал.

FOR не в счёт, он и в Паскале был. Разве что BY-часть появилась как усовершенствование старого цикла.
А чем Вам, собственно, FOR так не угодил? Просто потому что сахар?


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

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
kreol писал(а):
А чем Вам, собственно, FOR так не угодил? Просто потому что сахар?
Не только сахар, но и опасный. Вспомните:
Код:
VAR i: SHORTINT;
FOR i := MIN (i) TO MAX (i) DO END;
Это бесконечный цикл, хотя не выглядит таким. В Pascal это не бесконечный цикл, а именно такой, как описано - от MIN до MAX.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Суббота, 25 Октябрь, 2008 14:48 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
На мой взгляд, Оберон-07 исключительно неудачная ревизия языка Оберон.
Это, наверное, можно долго обсуждать, но я ограничусь рассмотрением только самых "вопиющих" нововведений.
(Надеюсь, что жирное IMHO здесь легко читается между строк. :) )

1. Ограничение поддержки массивов.
Одной из сильных сторон Оберона является продуманная герметичная система типов.
В частности, для Оберона характерна полноценная поддержка массивов (в отличие от Си/Си++).
В Обероне-07 Вирт по какой-то причине решил ограничить поддержку массивов.
Указателей на массивы более не существует. Соответственно нет и операторов NEW(p, ...).
Мы не сможем завести массив нужной нам размерности во время выполнения.
info21 признавал, что это отрицательно скажется на программировании матричных вычислений.

2. Исключение цикла LOOP.
Нет доказательств, что цикл LOOP не нужен (хотя он и нужен сравнительно редко).
Предлагаемые альтернативы с циклом WHILE искусственны и имеют свои недостатки, вроде дублирования кода.
Введенный вместо него т.н. цикл Дейкстры (как расширение WHILE) на практике бесполезен.
Единственное, что удалось в него удачно "впихнуть" - известный алгоритм Евклида:
Код:
WHILE m > n DO m := m - n
ELSIF m < n DO n := n - m
END
Других примеров мне не известно.
Уж лучше бы было (здесь я опираюсь на один из недавних постов Trurlя) как-то "окультурить" LOOP.

3. Привязка оператора RETURN к завершению процедуры-функции.
Возможно, то, что в конце процедуры-функции будет обязательный RETURN, имеет смысл.
Но то, что оператор RETURN нельзя будет использовать в другом месте, в некоторых случаях так же неудобно, как и отсутствие цикла LOOP. Это возвращает нас во времена Паскаля и потребует введения необязательных переменных для хранения результата или аналогичных искуственных приёмов.
Так же, как и в случае с исключением оператора LOOP, здесь просматривается борьба с т.н. "нелокальными переходами" (такими как EXIT, RETURN и исключения), которые якобы противоречат структурному программированию.
Но это миф. Каким образом RETURN в середине функции противоречит структурному программированию? Ведь, выйдя из функции, мы уже никак не сможем нарушить тех или иных инвариантов внутри неё.

4. Исключение типов SHORTINT, LONGINT и концепции поглощения типов в целом.
Удобство пользования единственным целочисленным типом понятно. В принципе, это правильно.
Но чтобы такое "учудить" в практическом ЯП, надо жить в башне из слоновой кости.
В реальном мире большое число форматов данных использует для экономии места "короткие" типы. Теперь, чтобы работать с ними в Обероне, придется использовать разные искусственные приёмы, вплоть до привлечения псевдомодуля SYSTEM.

Возможно, моя критика в чём-то ошибочна. :oops:
Но тем не менее я полагаю, что Оберон-07 - шаг в неверном направлении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Суббота, 25 Октябрь, 2008 15:28 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 297
Откуда: Київ, Україна
Не нужно забывыть, что эту версию оберона можно было бы назвать Оберон для МК. Тогда многие вопросы бы не возникали. Т.е. это специализированный язык.

Цитата:
1. Ограничение поддержки массивов.

А оно нужно 8 битный AVR микроконтроллера? например ATtiny2313
Цитата:
2. Исключение цикла LOOP.

Тут согласен.
Цитата:
3. Привязка оператора RETURN к завершению процедуры-функции.

Тут опять согласен. Но надеюсь, что это требование не выполняется.
Цитата:
4. Исключение типов SHORTINT, LONGINT и концепции поглощения типов в целом.

Возможно, но опять нужно попробовать.

Жду компилятор для AVR, пообещали дать :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Суббота, 25 Октябрь, 2008 15:39 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
bohdant писал(а):
Не нужно забывыть, что эту версию оберона можно было бы назвать Оберон для МК. Тогда многие вопросы бы не возникали. Т.е. это специализированный язык.
Видимо, так оно и есть.
Мой пост - ответ на предложение info21.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Суббота, 25 Октябрь, 2008 17:33 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Разве в классическом Обероне разрешены открытые массивы кроме как в параметрах процедур?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оберон-07
СообщениеДобавлено: Суббота, 25 Октябрь, 2008 17:35 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Не понимаю, почему единственный RETURN -- проблема. Никаких доп. логич. переменных он, по-моему, не требует, просто ELSIF, и все.


Последний раз редактировалось Info21 Суббота, 25 Октябрь, 2008 17:42, всего редактировалось 1 раз.

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

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


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

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


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

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