Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  22:13[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 16—7 | 6—1
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 626


№ 6   11-06-2006 08:21 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2« (Q. Werty)
___________________________

Для себя я определяю ключевой признак ОТ следующим образом:
"Безопасность программирования превыше всего".
Другими словами, язык и среда должны в максимальной степени закрывать все возможности программиста сделать ошибку при написании кода или, по крайней мере, свести к минимуму возможные последствия этой ошибки.
Все остальные "родовые" признаки ОТ я считаю следствием этой главной концепции:
1) Концепция модуля, как "закрытой" от внешних воздействий единицы компиляции;
2) Строгая статическая типизация данных и жесткий контроль согласования типов;
3) Автоматическая сборка мусора и никакой арифметики указателей;
4) Простая грамматика языка и возможность ее полного описания в нотации Бэкуса-Наура;
Собственно благодаря этому я и пришел к ОТ.


Большое спасибо, Ваш ответ -- хорошее начало для анализа ОТ.
Согласен с Вами, что главная цель ОТ -- надежность.
Но, ИМХО, нам еще только предстоит детальный анализ механизмов ОТ, для чего и создана ветка.
Сам я главными (целевыми) характеристиками ОТ считаю следующие.
1. Надежность. (В чем полностью согласен с Вами.)
2. Гибкость. (В т.ч. -- расширяемость. Но не только; другой пример -- многомерные гибкие массивы.)
3. Эффективность. (ОТ не требует JVM, может эффективно работать по "голому железу", что -- в моем случае -- представляет значительный интерес.)
4. Простота. (Добиться выполнения всех трех предыдущих требований самым простым путем. Эта цель четко обозначена эпиграфом к описанию О-1: "Make it as simple as possible, but not simpler". Первые три пункта показывают, что значит "not simpler", и почему Оберон -- не brainfuck (есть такой дурацкий язык :) ).)
Опять же, повторюсь, это только основные характеристики, цели ОТ.
Нам же, смею надеяться, здесь предстоит именно анализ механизмов.

Языки программирования имеют разные цели.
Целью Си было совмещение низкоуровневого и высокоуроневого программирования (т.е. решение этого противоречия) в одном языке. Отсюда -- адресная арифметика, спецификатор register, инкрементные операторы.
Целью Си++ было сочетание противоречивых требований абстракции и эффективности. Это вполне согласуется с целями Си. Отсюда -- inline, template и т.д.

На мой взгляд, целью виртовских языков было сочетание противоречивых требований надежности, гибкости и эффективности, но приоритет всегда отдавался надежности.
Давайте рассмотрим с этой точки зрения язык Паскаль.
Small и inflexible, по словам Страуструпа. (Впрочем, какой еще оценки можно было ожидать от человека, чья фамилия является олицетворением множественного наследования? :) )
Но нас будет интересовать ответ на вопрос: а почему Паскаль inflexible?
Что, Вирт не мог создать аналога Си?
Да запросто!
При этом надо было пожертвовать только одним -- надежностью.

Вот интересная черта (классического) Паскаля: он не модульный.
Текст паскалевской программы начинается словом program, заканчивается словом end и точкой.
Все остальное -- между этим.
Как будто весь текст программы должен быть написан одним человеком.
Вопрос: почему так?
Предполагаемый ответ: не была еще в то время разработана технология раздельной компиляции, нельзя было обеспечить надежности при использовании нескольких модулей (да и понятия модуля -- в современном смысле -- тогда еще не было).
Как решил эту проблему Си? Да никак! #include, а там -- Бог поможет.
Во многом прогресс вдоль линейки Паскаль -- Модула-2 -- Оберон есть история технологии раздельной компиляции.
Именно она, в конце концов, позволяет оберонщикам аж с 80-х годов наслажаться надежным компонентным программированием (как с динамической загрузкой, так и с проверкой типов!), в то время как весь мир барахтался (да и сейчас еще барахтается) в прежних нерешенных проблемах Си, что получило название "DLL hell".

Другой интересная особенность Паскаля -- включение размерности массива в его тип.
Это еще как критиковали, не стану сейчас пересказывать Кернигана.
Как с эти справлялся Си? Да никак! В нем, можно сказать, нет массивов, тем паче -- контроля выхода за границы массива.
В Модуле-2 появились гибкие массивы, в Обероне -- многомерные гибкие массивы, а в Обероне-2 -- динамические многомерные гибкие массивы.
И все это -- без потери надежности, по мере возможности добавляя гибкость!

В этом разница между Виртом, с одной стороны, и Ритчи и Страуструпом -- с другой.
Один решал проблемы, другие ей просто пренебрегли.
Ну, на то они и молодцы, а Вирт -- старый чудак. :)

Но я немного увлекся.
Повторюсь, главная цель этой ветки -- детальный анализ ОТ.
Надеюсь, что нам здесь удастся, наконец, разобраться в этом вопросе.
 AVC


№ 5   11-06-2006 04:09 Ответить на это сообщение Ответить на это сообщение с цитированием
"А можешь ли ты показать нам знак, знамение, чтобы мы поверили, что ты посланница Бога, а не диавола?" (С) Люк Бессон

Предлагаю упражнение: Возьмите описания С++, Явы и Оберона/Ком. Паскаля и попытайтесь найти отличия.

----
Замечание насчет логики: если вам не дают ответа, это не значит, что ответа нет. Не повторяйте ошибки Р.Богатырева.


№ 4   11-06-2006 01:30 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3« (zar)
___________________________
Совершенно согласен. Похоже их (специфических технологий) просто нет.


№ 3   10-06-2006 12:58 Ответить на это сообщение Ответить на это сообщение с цитированием
Вообще-то очень странно все это выглядит. AVC в своем посте за №1 вполне конкретно сформулировал ключевые для данной ветки вопросы. Много чего мы слышали про ошеломительные Оберон-технологии, как то: про их небывалую красоту, запредельную математическую выверенность и бог весь еще что. Но как только в предельно ясных и простых выражениях попросили наших корифеев сформулировать основные принципы этих самых ОТ, без агитпроповской шелухи("а вот мы..., но вам не покажем!"), как тема заглохла. Уважаемые Руслан Богатырев, info21, Trurl, Сергей Губанов, Владимир Лось и другие бойцы Обероновского направления. Будьте добры, объясните все-таки нам, что такое есть Оберон-технологии, перечислите и объясните по пунктам. Думаю, это интересно многим.


№ 2   09-06-2006 06:43 Ответить на это сообщение Ответить на это сообщение с цитированием
Для себя я определяю ключевой признак ОТ следующим образом:
"Безопасность программирования превыше всего".
Другими словами, язык и среда должны в максимальной степени закрывать все возможности программиста сделать ошибку при написании кода или, по крайней мере, свести к минимуму возможные последствия этой ошибки.
Все остальные "родовые" признаки ОТ я считаю следствием этой главной концепции:
1) Концепция модуля, как "закрытой" от внешних воздействий единицы компиляции;
2) Строгая статическая типизация данных и жесткий контроль согласования типов;
3) Автоматическая сборка мусора и никакой арифметики указателей;
4) Простая грамматика языка и возможность ее полного описания в нотации Бэкуса-Наура;
Собственно благодаря этому я и пришел к ОТ.


№ 1   08-06-2006 14:32 Ответить на это сообщение Ответить на это сообщение с цитированием
Мы часто говорим, что существует оригинальная Оберон-технология (дальше -- ОТ или ТО, как кому нравится :) ), имеющая свои особенности.
На этом форуме хотелось бы четко сформулировать эти особенности и, сопоставив с особенностями других известных технологий, оценить перспективы ОТ.
Кроме оценки перспектив, такой анализ мог бы принести и непосредственную пользу.
1) Привести к более сознательному программированию на Обероне, опираясь на понимание базовых принципов ОТ, а не в рамках упоминавшегося где-то в наших ветках "синтаксического мышления".
2) Научить нас применять ОТ, даже будучи вынужденными пользоваться другими языками программирования.
3) Возможно, мы дозреем и до того, что сами сумеем в отдельных пунктах дорабатывать ОТ. Кто знает? :)
 AVC


<<<... | 16—7 | 6—1
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 626


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования