> man operating_systems
Центр информации по операционным системам :: Форумы :: Концепции :: ОС-21
 
<< Предыдущая тема | Следующая тема >>
Заглядывая в туманное будущее - обсуждение
Переход на страницу  1 2 3 ... 10 [11] 12 13 14 15
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
captain cobalt
Вторник 20.09.2005 17:58

ID пользователя #12
Зарегистрирован: Воскресенье 04.07.2004 21:44
Местонахождение: /ru/perm
Сообщений: 144
Vadim Ushakov написал(а) ...
Что касается механизма исключений, я чувствую, что мы друг другу ничего не докажем.
И даже не интересно послушать соображения (и попытаться опровергнуть) противников исключений?
Vadim Ushakov написал(а) ...
дискуссия о исключениях в итоге сведется к дискуссии о принципах дизайна языков вообще.
Обычно бывает наоборот.
Vadim Ushakov написал(а) ...
':=' - это три касания. Точно также '{}' - это четыре касания, а 'begin end' - восемь.
BEGIN был пофиксен в Обероне.

Если в Паскале конструкции FOR, WHILE, IF, ... выполняют один оператор, и приходится создавать "составной оператор", то в Обероне они выполняют последовательность операторов, заканчивающуюся END, и BEGIN не нужен. Из восьми касаний избавились от пяти - от 62,5%. Ай да молодец дедушка Вирт, правда?

BEGIN в AO используется только для начала тела процедуры/модуля/объекта/EXCLUSIVE-блока.

Дополнительные вопросы:
Какую долю занимают символы := от общего объёма программы?
Какую долю занимает набивание текста от времени полного цикла разработки?
Vadim Ushakov написал(а) ...
По-моему, begin end сливаются с прочими идентификаторами, а скобки хорошо видно.
Я предпочитаю TextEd, так что обхожусь без подсветки.
Dron написал(а) ...
А почему в обероне все ключевые слова большими буквами?
Вот и ответ - чтобы не сливались и идентификаторами.
Freeman написал(а) ...
Нет мотивации. Сейчас это вообще походит на программирование человека, вроде Гербалайфа или сайентологов: правильный путь - только у нас. Изучите нашу хрень и будет вам земное щастье!
Чью хрень следует изучить и какова мотивация?
Моя гипотеза - ограниченные когнитивные способности.
Freeman написал(а) ...
Люди не только полигамны, но еще и разной веры, говорят на разных языках, и т. д.
Мне наоборот непонятно, почему некоторые говорят "люди любят разнообразие" и тут же "не хочу читать английскую документацию", "не хочу учить Оберон"...

Вот, например, я люблю разнообразие в языках как естественных, так и программирования. Мне даже довелось уделить некоторое количество часов изучению Toki Pona (потому и знаю), а сейчас изучаю (в вялотекущей форме) область под названием "вычислительная лингвистика" (computational linguistics). Причём по текстам на английском языке.

Но это не имеет почти никакого отношения к конструированию программных систем. Задача программных систем - работать. Для этого цель должна быть чётко поставлена, а разработка должна быть подчинена культуре и дисциплине.
Freeman написал(а) ...
Под одну гребенку всех равняли коммунисты. Тоже, кстати, вид сайентологии.
Под одну гребёнку до сих пор успешно всех равняют микрософт.

Юниксоиды в это время стократно продублировали усилия друг друга, наплодив кучу оконных менеджеров, ftp-менеджеров, прочих менеджеров, ядер и дистрибутивов. Пресловутое "разнообразие". Виндузятники снисходительно смотрят на всю эту чехарду. Виндузятников больше.

Тогда рекомендую вступить в ЛДПР - они как раз собираются продвинуть законодательную поддержку полигамии.
Freeman написал(а) ...
Поэтому ОС-21 на Обероне нет сейчас и не будет в будущем.
ОС-21 на Обероне называется Bluebottle.

Перейдём к фактам?
Dron написал(а) ...
чуть что, то сразу MDF...
Ну нельзя ведь критиковать Bluebottle и при этом писать систему заведомо худшую?

bluebottle.ethz.ch - Bluebottle. Швейцария. Сделано с умом.
Наверх
Сайт
pumba103
Вторник 20.09.2005 18:01
ID пользователя #327
Зарегистрирован: Понедельник 30.05.2005 10:28
Местонахождение: Moscow
Сообщений: 11
2Freeman
Вообще то я время от времени читаю данный форум, но стараюсь не писать, чтобы энтропия не возрастала. Но соединение в двух строках "коммунисты" и "нет и не будет" просто напрашивается на ответ "есть такая партия' в смысле есть такая ОС. Кстати, переход от "люди полигамны" к "ОС-21 на Обероне нет и не будет" непонятен.
И наконец, что считать ОС-21? Есть, на мой взгляд, два толкования - 1) единая, единственная, ведущая, нужное подчеркнуть, ОС 21 века и 2) ОС сделанная и представленная публике в 21 веке. О первом варианте до 2099 года говорить рано. Что же касается второго - то повторюсь, есть такая ОС, и это не BlueBottle.
А вообще ситуация с Обероном грустная - к сожалению он был заброшен в пользу достаточно сырого Active Oberon, который в свою очередь был заброшен в пользу Zonnon. Кстати, я вчера задал вопрос Гуткнехту "а что означает Zonnon, вроде все предыдущие языки школы Вирта имели осмысленные названия". Ответ был - "ну нечего, Z последняя буква, вроде последний язык".
Наверх
Dron
Вторник 20.09.2005 18:06


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
написал(а) ...
Ну нельзя ведь критиковать Bluebottle и при этом писать систему заведомо худшую?


Ты уверен что MDF хуже блюботла?
Во всяком случае с защитой у меня все на порядок круче чем в блюботл.

Вообще я за MDF горло перегрызу!
Путь она пока толком не работает.. но это временно. а блюботл хоть и работает, но никому не нужен... и осью будующего он может показаться разве что ярым фанатам.

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
captain cobalt
Вторник 20.09.2005 18:57

ID пользователя #12
Зарегистрирован: Воскресенье 04.07.2004 21:44
Местонахождение: /ru/perm
Сообщений: 144
Оберон - это minimalistic design.

bluebottle.ethz.ch - Bluebottle. Швейцария. Сделано с умом.
Наверх
Сайт
Freeman
Среда 21.09.2005 00:42
ID пользователя #3
Зарегистрирован: Четверг 01.07.2004 14:57
Сообщений: 207
Dron написал(а) ...
Капитан: А почему в обероне все ключевые слова большими буквами?

Потому что Оберон, к моему большому сожалению, решает несуществующие проблемы и наделяет синтаксис более чем одной функцией. Попросту говоря, язык берет на себя задачи IDE, выделяющей языковые конструкции средствами оформления.

Я большой поколонник Вирта, но подозреваю, что он давно уже забросил клавиатуру и пользуется брейн-вводом. По личному опыту знаю, что постоянное переключение Caps Lock никак не соответствует минималистскому дизайну. Если же это сделано намерено, с целью укротить гордыню человеческую, то... Бедно живете, товарищи.
Наверх
Freeman
Среда 21.09.2005 00:49
ID пользователя #3
Зарегистрирован: Четверг 01.07.2004 14:57
Сообщений: 207
pumba103 написал(а) ...
О первом варианте до 2099 года говорить рано.

ОС-21 одним фактом своего существования будет порождать мотивацию ее изучать и использовать. По наличию этой мотивации и можно будет говорить о подлинной ОС-21. Надеюсь, это произойдет задолго до 2099 года.

<span class='smallblacktext'>[ Редактирование среда 21.09.2005 00:50 ]</span>
Наверх
captain cobalt
Среда 21.09.2005 06:30

ID пользователя #12
Зарегистрирован: Воскресенье 04.07.2004 21:44
Местонахождение: /ru/perm
Сообщений: 144
Freeman написал(а) ...
Потому что Оберон, к моему большому сожалению, решает несуществующие проблемы и наделяет синтаксис более чем одной функцией. Попросту говоря, язык берет на себя задачи IDE, выделяющей языковые конструкции средствами оформления.
Аналогично: к сожалению, разработчики юникс (и в особенности план9) наделили свою систему также функциями файловой системы.
Freeman написал(а) ...
Я большой поколонник Вирта, но подозреваю, что он давно уже забросил клавиатуру и пользуется брейн-вводом. По личному опыту знаю, что постоянное переключение Caps Lock никак не соответствует минималистскому дизайну. Если же это сделано намерено, с целью укротить гордыню человеческую, то... Бедно живете, товарищи.
Это нисколько не помешало разработать некоторое количество операционных систем.
В этом смысле критиканты - ещё беднее.
Freeman написал(а) ...
ОС-21 одним фактом своего существования будет порождать мотивацию ее изучать и использовать. По наличию этой мотивации и можно будет говорить о подлинной ОС-21.
Аналогично: хорошая музыка - это музыка, которая одним фактом своего существования заставляет всех её слушать.

bluebottle.ethz.ch - Bluebottle. Швейцария. Сделано с умом.
Наверх
Сайт
Vadim Ushakov
Среда 21.09.2005 08:28

ID пользователя #409
Зарегистрирован: Четверг 18.08.2005 04:25
Местонахождение: Красноярск
Сообщений: 85
captain cobalt написал(а) ...
И даже не интересно послушать соображения (и попытаться опровергнуть) противников исключений?
Нарушение инкапсуляции... нарушение инкапсуляции... Да, мне эта мысль в голову приходила... Ну и что особенного? Вот возможное решение: в объявлении процедуры нужно явно указывать, какие исключения она кидает. Тогда это будет частью ее интерфейса - и никакого нарушения инкапсуляции. Еще нужно потребовать, чтобы, если процедура Bar вызывает в своем теле процедуру Foo, которая кидает исключение Exc, то это исключение либо должно быть явно обработано в теле Bar, либо в ее описании должно быть явно указано, что оно передается дальше.

Например:
function Foo(Name: string): SomeType except(Exc1, Exc2);
begin
{делаем что-то полезное или бросаем исключение}
end;
procedure Bar(Name: string) except(Exc1); {исключение Exc1 мы явно передаем дальше}
var Obj: SomeType;
begin
try
Obj := Foo(Name);
{делаем что-то с Obj}
except
on E:Exc2 do begin {а здесь обрабатываем исключение Exc2} end;
end;
end;

Кауфман В. Ш. написал(а) ...

Чтобы почувствовать потребность в априорных правилах поведения, представим себе заводского технолога, планирующего последовательность операций по изготовлению некоторой детали (аналогия с программированием довольно очевидна). Описание технологии (технологическая карта) предусматривает, скажем, отливку, затем фрезеровку поверхностей и расточку отверстий. Каждый из этапов расписывается в технологической карте довольно подробно. Однако все подробности касаются особенностей создания именно нужной детали. Общие (априорные) правила поведения исполнителей подразумеваются соответствующими их квалификации.

В технологической карте, конечно, не сказано, что должен делать фрезеровщик, если выйдет из строя фреза, если возникнет пожар, землетрясение, нападение противника. Если бы технолог был вынужден планировать поведение исполнителя в любых ситуациях, то он никогда не закончил бы работу над такими "технологическими картами".

В сущности, специализация в человеческой деятельности основана на способности выделить небольшой класс ситуаций, считающихся существенными для этого вида деятельности, а от всех остальных абстрагироваться, считать необычными, исключительными, требующими переключения в другой режим, в другую сферу деятельности. Примерам нет числа. Кулинарный рецепт не описывает, естественно, поведения хозяйки, когда в процессе приготовления блюда зазвонит телефон, физические модели (законы) применимы при определенных ограничениях и ничего не говорят о поведении соответствующих объектов при нарушении ограничений (скажем, законы Ньютона о поведении объектов при релятивистских скоростях).

Программист, вынужденный создавать программу для "тупого" исполнителя, по необходимости попадает в положение заводского технолога, которого заставляют писать инструкции по гражданской обороне или поведению во время пожара. Ведь надежная программа должна вести себя разумно в любых ситуациях.

Важно понимать, что без априорных правил поведения исполнителя не обойтись. Ведь если программист захочет все предусмотреть, он должен планировать проверку соответствующих условий. Но исключительные ситуации могут возникнуть в процессе исполнения программы проверки! Так что чисто программным путем задачу не решить.

Нужно предусмотреть общие правила поведения исполнителя при исключительных ситуациях (дающие возможность и здесь разумно сочетать абстракцию с конкретизацией). А именно, с одной стороны, концентрироваться на специфике планируемого процесса, абстрагируясь от редких, необычных или относящихся к другой сфере ситуаций; с другой стороны, при необходимости управлять поведением исполнителя в таких ситуациях, конкретизируя его поведение по сравнению с общими правилами с учетом реальной ситуации.

В жизни примерами "общих правил" служат обязанность доложить начальству, вызвать пожарную команду по телефону 01, милицию - по 02, скорую помощь - по 03, а также инструкции по оказанию неотложной помощи пострадавшим, мобилизационное предписание и т.п..

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

captain cobalt написал(а) ...
BEGIN был пофиксен в Обероне.
Ну слава богу!
Вообще, это философский вопрос: как записывать составные операторы языка.
1. Считать, что составной оператор включает в себя одиночный оператор.
2. Считать, что составной оператор включает в себя последовательность операторов, ограниченную особым ключевым словом.
Первый способ мне ближе (ну привык я к синтаксису Си...), но второй логичнее. И Си и Паскаль предпочитают первый способ, и им нужен специальный "скобочный" оператор "{}" или "begin end" для оформления условий и циклов. Но если уж Оберон стал использовать второй способ, то было бы естественно не ограничиваться безликим end, но предусмотреть специальные слова для каждой конструкции: if - end if, while - end while и т.д. (Как это сделано в Ада, Visual Basic и многих других языках.) Вот это ДЕЙСТВИТЕЛЬНО повышает читаемость кода. (Когда в Си или Паскале где-то в конце процедуры стоит лесенкой 4-5 одинаковых закрывающих скобок, это выглядит ужасно...)

Freeman написал(а) ...
Я большой поколонник Вирта, но подозреваю, что он давно уже забросил клавиатуру и пользуется брейн-вводом. По личному опыту знаю, что постоянное переключение Caps Lock никак не соответствует минималистскому дизайну. Если же это сделано намерено, с целью укротить гордыню человеческую, то... Бедно живете, товарищи.
Да, здесь Вирт куда-то не туда повернул. Чувствительность к регистру символов вообще нужно гнать из ЯП. Как в Паскале: что MyProc, myproC - один фиг.

Dron написал(а) ...
Ты уверен что MDF хуже блюботла?
А где доказательства, что она лучше?

Падает тот, кто бежит; тот, кто лежит – уже не падает.
Наверх
captain cobalt
Среда 21.09.2005 09:25

ID пользователя #12
Зарегистрирован: Воскресенье 04.07.2004 21:44
Местонахождение: /ru/perm
Сообщений: 144
Vadim Ushakov написал(а) ...
Извиняюсь за длинную цитату, но она того стоит.
Соображения против исключений тоже весят прилично.
Дабы не плодить оффтопик, предлагаю создать новую тему. Интересно?
Vadim Ushakov написал(а) ...
если уж Оберон стал использовать второй способ, то было бы естественно не ограничиваться безликим end, но предусмотреть специальные слова для каждой конструкции
Возможно да, а возможно и нет.
Возможно так сделано специально, чтобы не лепили огромные не влезающие на страницу операторы, а активнее использовали процедуры. Кстати, крупные единицы - процедуры и модули имеют такую фичу в обязательном порядке:

PROCEDURE имяПроцедуры ... END имяПроцедуры

Возможно, если бы это было сделано для операторов, опять появились бы недовольные количеством касаний клавиш.
Vadim Ushakov написал(а) ...
Да, здесь Вирт куда-то не туда повернул. Чувствительность к регистру символов вообще нужно гнать из ЯП. Как в Паскале: что MyProc, myproC - один фиг.
Нечувствительность к регистру - это усложнение.
Нечувствительность к регистру может быть добавлена абсолютно независимо - отдельным препроцессором, переводящим весь текст в большие буквы.
Vadim Ushakov написал(а) ...
А где доказательства, что она лучше?
Надо спрашивать помягче: чем она лучше?

И первый ответ уже есть.
Оказывается, там
Dron написал(а) ...
с защитой у меня все на порядок круче чем в блюботл
Вот так.
Аж на целый порядок.
Есть гипотеза, что соответственно на порядок медленнее.

bluebottle.ethz.ch - Bluebottle. Швейцария. Сделано с умом.
Наверх
Сайт
Dron
Среда 21.09.2005 12:08


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
captain cobalt: всегда чем-то приходится жертвовать...
Вы, оберонщики, приедпочитаете жертвовать безопасностью... я готов пожертвовать скоростью. (но пока я еще не уверен что это будет на порядок медленнее, этого пока никто не знает).

справедливости ради - в плане удобства оберон пока что тоже не очень... не слишком ли много жертв ради скорости?

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Переход на страницу  1 2 3 ... 10 [11] 12 13 14 15  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.