Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 2316 25-01-2007 04:39 | |
Ответ на »сообщение 2310« (Илья Ермаков)
___________________________
+1
Если мы пытаемся решать ФЗ (функциональную задачу) на ИМ(императивной машине), то ФЯ дает нам полезную возможность абстрагироваться от реализации машины.
Если мы решаем ИЗ (императивную задачу) на ИМ то функциональная прокладка только мешает.
Отсюда новая постановка вопроса о классификации: как отличить ФЗ и ИЗ?
№ 2315 25-01-2007 04:35 | |
Ответ на »сообщение 2314« (Сергей Губанов)
___________________________
...а в житейском смысле "вакуум" обязательно ассоциируется с космическим пространством.
В житейском -- скорее с лампочкой. :)
№ 2314 25-01-2007 04:27 | |
Ответ на »сообщение 2310« (Илья Ермаков)
есть ли состояния в физическом мире, нет ли состояний в физическом мире...
Вопрос не в том "есть они или нет?", а в том что ими называют. Слово "состояние" у людей с разным образованием (программистов, физиков,...), как оказалось, вызывает довольно разные ассоциации...
Таких слов много. Вот, например, слово "вакуум" у физиков-теоретиков означает состояние рассматриваемой системы обладающее наименьшей энергией, а в житейском смысле "вакуум" обязательно ассоциируется с космическим пространством.
№ 2313 25-01-2007 04:19 | |
Ответ на »сообщение 2311« (Lisp Hobbyist)
___________________________
Это все хорошо.
Но вот такой пример.
Написал я компилятор Си для одного микропроцессора.
Но его FPU не соответствует полностью стандарту IEEE-754.
Например, в выборе режимов округления.
(В силу этого надо вдумчиво выбирать эпсилон для итеративных алгоритмов.)
Как мне поступить: добиваться соответствия стандарту Си с помощью компилятора и ценой потери эффективности, или опираться на существующую аппаратуру?
Другой пример не касается FPU.
В одном микропроцессоре не было младших двух бит на адресной шине.
Работа со стандартными однобайтовыми char обходилась слишком дорого.
Созвал я народ и объявил: мол, ребята, я принял решение, будет у нас 4-байтовый char.
Правильно я поступил?
№ 2312 25-01-2007 04:13 | |
Ответ на »сообщение 2302« (Владимир Лось)
В каком "разрезе" (совокупности "точек зрения") вы рассматриватете Мир в этом случае?
Вам об этом с самого начала было сказано - с точки зрения квантовой физики.
№ 2311 25-01-2007 03:59 | |
Ответ на »сообщение 2307« (RBV)
___________________________
Друзья, это, конечно, интересно, но уж совсем не по теме форума. Это тонкие детали конкретной реализации. Давайте ветку откроем у нас и обсудим.
ИМХО, такие вопросы очень даже к месту. Ибо как известно, кое-кто прячется в мелочах. Те, кто собирается использовать Оберон в своих проектах, должны четко себе представлять все последствия своего выбора. Например, Стандарт C99 (ISO/IEC 9899:1999) явным образом определяет соответствие типов с плавающей точкой (Annex F) языка и аппаратных стандартов. Это дает, по крайней мере, возможность анализировать последствия применения тех или иных подходов к вычислениям (так как явно зафиксированы форматы данных и семантика операций над ними). Что же мы имеем на другой чаше весов? Например, следующее утверждение:
язык должен быть определен в терминах математических, абстрактных понятий без привлечения каких-либо вычислительных механизмов. Только если язык отвечает этому критерию, он может быть назван высокоуровневым.
...
Ограничения, накладываемые конкретными реализациями, не должны входить в собственное определение языка. Примерами таких ограничений являются максимальные значения чисел, ошибки округления и усечения при арифметических операциях
Звучит замечательно, но как, интересно, верифицировать расчетную программу, если семантика операций точно не зафиксирована? У верификации на практике есть и другие подводные камни, делающие малореальной ее широкое применение, но при таком "отбрасывании несущественных деталей" отсутствуют даже необходимые условия для ее выполнения.
№ 2310 25-01-2007 03:57 | |
Ответ на »сообщение 2302« (Владимир Лось)
___________________________
Владимир, есть ли состояния в физическом мире, нет ли состояний в физическом мире... "Есть ли жизнь на Марсе, нет ли жизни на Марсе - это науке неизвестно". Так или иначе в своем мышлении мы мыслим абстракциями, моделями. Но факт существования моделей, описывающих процессы физического мира в терминах состояний, неоспорим. Также как и моделей, описывающих эти процессы в терминах чистых функций.
И те, и другие модели могут быть в одинаковой мере точны/не точны. И те, и другие модели нам нужно реализовывать на вычислительной машине. Очевидно, что для первых моделей развитое ИП выглядит естественней, чем ФП.
Джек все время пытается доказать, что ФЯ - абстрактней. Абстрактней от чего? От дискретной вычислительной машины. Если реализовать ФП на аналоговой машине, то оно не будет столь абстрактным, да что там - даже на дискретной LISP-машине LISP уже не вводит уровня абстракции.
Что касается абстракции для решения реальных задач, то состояния - это такая же абстракция, как и функция. И инженеры проделали большую работу, чтобы ввести эту абстракцию, создав на аналоговых элементах дискретную машину. Однако многие проповедники от ФП об этом забывают и призывают еще раз "абстрагироваться от дискретной машины". Затем они осознают, что для многих задач моделирование состояний таки необходимо и начинают еще раз эмулировать дискретный автомат на базе функций, строя новые теории. Сказка про белого бычка...
Никуда не деться от императивно-функционального дуализма. И то и другое применительно к различным задачам может быть одинаково абстрактным. А применительно к машинам, на которых выполняется, - если появятся специальные ФП-машины, то проблема абстрагирования от компьютера для функциональщиков отпадет сама собой.
№ 2309 25-01-2007 03:28 | |
Ответ на »сообщение 2303« (Lisp Hobbyist)
___________________________
Спасибо, интересная статья.
Не умогу, правда, удержаться и не "кольнуть" сишный синтаксис и злоупотребление перегрузкой операций (даже если речь идет о встроенных типах!):
A Java programmer wrote “ C=(F-32)*(5/9) ” instead of “ C=(F-32)*5/9 ” to convert
Fahrenheit F to Celsius C ; see comp.lang.java.help for 1997/07/02 . It could have been C
or Fortran. Is the joke on the programmer?
№ 2308 25-01-2007 03:18 | |
Ответ на »сообщение 2305« (RBV)
___________________________
В стандарт IEEE 754 10-байтовый формат не входит, однако процессоры (x86, про другие точно не скажу) с ним работают. Стандарт определяет 32- и 64-разрядные вещественные форматы. Почти все современные процессоры умеют с ними работать, причем должны это делать одинаково. Поэтому в BlackBox и нет LONGDOUBLE.
http://http.cs.berkeley.edu/~wkahan/ieee754status/ieee754.ps
см. стр. 2. ИМХО, входит, но не обязателен.
№ 2307 25-01-2007 03:13 | |
Друзья, это, конечно, интересно, но уж совсем не по теме форума. Это тонкие детали конкретной реализации. Давайте ветку откроем у нас и обсудим.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|