Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение  Обсуждение из раздела Школа ОБЕРОНА
№ 5726 21-10-2007 15:50 |  |
Ответ на »сообщение 5724« (Руслан Богатырев)
___________________________
>>>Мы сравниваем header-файлы с DEFINITION (Оберона). И понимаем, что по уровню абстракций стоит выше. Если к описаниям в DEFINITION добавляются (на уровне языка!) декларации предусловий, постусловий, инвариантов (как это сделано, скажем, в Eiffel), можно ли считать такой язык более высокоуровневым (в данном конкретном аспекте)?
Мысль (которую Вы сами высказали) в том, что в Обероне (в принципе) можно выбирать "уровень строгости".
Нынешние реализации, как правило, либеральные: можно все, что не запрещено. :)
Если мы (например, как создатели компилятора) предоставим возможность выбора строгого варианта, то require мало чем будет отличаться от ASSERT в начале процедуры. (Особо хотелось бы обратить внимание на ту роль, которую при этом может сыграть автоматическая генерация DEFINITION.)
№ 5725 21-10-2007 15:48 |  |
Ответ на »сообщение 5703« (Сергей Перовский)
___________________________
Если на обероне - то нет. А если на языке описания полостных операций, то да.
Язык описания полостных операций и есть (в моем понимании) язык спецификаций.
Похоже, у нас несколько разные представления о том, что такое спецификация. Она готовится для интепретации как человеком, так и компьютером (программой). Спецификация (в декларативной форме) есть задание ограничений на реализацию (решение) конкретной задачи. Может предусматривать варианты решений. Спецификация может выполняться (в зависимости от того, что будет в качестве интпретационной базы) графически, на естественном языке, на формальном языке и т.п. Главное, что она подразумевает наличие промежуточного слоя (посредника), который и будет ее интепретировать при отображении на машинные команды (если интерпретационная базща -- не человек).
№ 5724 21-10-2007 15:32 |  |
Ответ на »сообщение 5722« (AVC)
___________________________
Эйфель и Ада -- не особо высокоуровневые, а просто большие языки. :)
А чем отличается высокоуровневый язык от просто большого? Быть может, наличием таких абстракций, которых нет в менее высокоуровневом и которые контролируются на уровне языка? Ценность и важность этих абстракций можно подвергать сомнениям. Это нормально. Но если они есть -- он уже уровнем (абстракций) выше.
Мы сравниваем header-файлы с DEFINITION (Оберона). И понимаем, что по уровню абстракций стоит выше. Если к описаниям в DEFINITION добавляются (на уровне языка!) декларации предусловий, постусловий, инвариантов (как это сделано, скажем, в Eiffel), можно ли считать такой язык более высокоуровневым (в данном конкретном аспекте)?
№ 5723 21-10-2007 15:14 |  |
Ответ на »сообщение 5721« (AVC)
___________________________
Мне трудно согласиться с этим утверждением.
Наличие в других языках дополнительных синтаксических наворотов (syntactic sugar) не повышает их уровень сравнительно с Обероном, IMHO.
Если за синтаксисом стоит семантика, позволяющая вводить контроль абстракций, который не в состоянии осуществлять встроенными средствами другой язык, то это уже не синтаксический сахар. Руками можно делать многое. Но сколь это разумно?
Я не считаю КП "сахарным расширением" классического Оберона. Как и Eiffel "сахарным улучшением" КП.
№ 5722 21-10-2007 14:56 |  |
Ответ на »сообщение 5721« (AVC)
___________________________
>>>Мне эта особенность кажется очень интересной.
Я имею в виду, что эта особенность может оказаться столь же важной, как герметичность системы типов, локальность объявлений в процедурах и сокрытие информации в модулях.
Возможно, это поздний час на меня так действует, но у меня есть чувство, что разобравшись с этой особенностью, мы можем прийти к выводу, что Эйфель и Ада -- не особо высокоуровневые, а просто большие языки. :)
№ 5721 21-10-2007 14:39 |  |
Ответ на »сообщение 5716« (Руслан Богатырев)
___________________________
>>>Т.е. рекомендации по форме и требования по содержанию. Конкретизация этого "декларатива" (различные ограничения, контроль) возложена Виртом на РЕАЛИЗАЦИИ языка, т.е. на разработчиков компиляторов (систем программирования).
Именно в эту особенность виртовского определения языков мы со Стэном вчера и уперлись.
Мне эта особенность кажется очень интересной.
>>>Когда делаются попытки убедить в том, что на микроядерном языке можно делать все на свете, причем так же замечательно, как на более развитых языках (с более высокими уровнями абстракций), и даже вне сферы индивидуального прикладного программирования, это вызывает у меня как минимум сомнения. А скорее -- скепсис.
О низкоуровневости Оберона говорит и Зуев.
Мне трудно согласиться с этим утверждением.
Наличие в других языках дополнительных синтаксических наворотов (syntactic sugar) не повышает их уровень сравнительно с Обероном, IMHO.
Как повысить уровень модульного языка с герметичной системой типов, если в нем можно определить любую абстракцию?
Разве что двинуться в сторону декларатива, куда нас все время зовут функциональщики (но это другая тема).
№ 5720 21-10-2007 14:00 |  |
Ответ на »сообщение 5717« (pepper)
___________________________
Первоначальный тезис info21 был о том, что программисты "сами по себе" должны сгинуть как класс (видимо как только как только оберон обретет признание).
Передержка.
Тезис info21 в том, что следует обратить внимание на факт существования программистов-непрофессионалов (но профессионалов в своих областях).
http://www.inr.ac.ru/~info21/ : Есть объективная необходимость систематического обучения программированию обширной категории программистов-непрофессионалов — физиков, химиков, инженеров, строителей, лингвистов, ..., для которых серьезное программирование становится рутинным элементом повседневной работы.
№ 5719 21-10-2007 13:37 |  |
Ответ на »сообщение 5717« (pepper)
___________________________
Ответ на »сообщение 5711« (Илья Ермаков)
___________________________
Тогда причем здесь оберон? Первоначальный тезис info21 был о том, что программисты "сами по себе" должны сгинуть как класс (видимо как только как только оберон обретет признание). Вы, как я понял, его поддержали. Теперь оказывается, что таки должен быть кто-то еще, кто даст предметникам (врачам) что-то отличное от оберона для решения их задач.
Во-первых, я не буду сейчас лезть на несколько страниц назад, но я как раз и сказал про наличие системных программистов, которые должны обеспечивать инструментарием прикладников - под спрос прикладников. А прикладники должны быть "повёрнуты" не на программировании самом по себе, как самоцели, а на целевой области, инструментом для применения в которой является программирование. У таких прикладников будет здоровый спрос - не на "кульные фичи", а на то, что наиболее эффективно для решения задач.
А info21 сказал не сгинуть, а "редуцироваться", что есть совсем другое. Как раз похожее на то, о чём хотел сказать я.
№ 5718 21-10-2007 13:34 |  |
Ответ на »сообщение 5714« (pepper)
___________________________
Чтобы хирург мог запрограммировать операцию на понятном ему языке, этот язык должен быть реализован.
Кто должен это сделать?
Это не сделает программист. И это не сделает хирург. Никакие спецификации тут не помогут.
Необходима бригада из "программирующих хирургов" и "программистов с медицинским уклоном", которые смогут друг друга понять. Кроме того потребуется самый крутой хирург. И, может быть, самый крутой специалист по конкретному программистскому инструментарию.
А идею, что в каждой клинике с "роботизированной хирургией" будет работать специалист по Оберону, который будет программировать робота для каждой операции по спецификациям хирурга, лучше оставить.
Программистов потребуется много, а толку будет мало.
№ 5717 21-10-2007 13:30 |  |
Ответ на »сообщение 5711« (Илья Ермаков)
___________________________
А ему и не нужно это объять. Задача системного программиста - инструментальщика - создать такой инструмент, который будет подходить прикладнику для решения задачи.
Тогда причем здесь оберон? Первоначальный тезис info21 был о том, что программисты "сами по себе" должны сгинуть как класс (видимо как только как только оберон обретет признание). Вы, как я понял, его поддержали. Теперь оказывается, что таки должен быть кто-то еще, кто даст предметникам (врачам) что-то отличное от оберона для решения их задач.
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|