OberonCore https://forum.oberoncore.ru/ |
|
Linux+BlackBox=? https://forum.oberoncore.ru/viewtopic.php?f=34&t=58 |
Страница 6 из 7 |
Автор: | CheshireCat [ Пятница, 09 Ноябрь, 2007 13:10 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
я и ответил - Оберон специально типизирован. И это наоборот не мешает а помогает. Если уж критически нужна нетипизированность ее можно сделать вручную, ассемблером. И ничего плохого в этом нет. Как и в том что Оберон не позволяет писать небезопасный код управления нетипизированной памятью. От этого Оберон не стал хуже)) Си вон тоже иногда требуется подпирать ассемблером и никто на это не жалуется)) Поэтому похвалы Си типа "ой в нем нетипизированные указатели и никакого контроля нет и это ужас как удобно для крутого хаканья ядер" на самом деле НИЧЕГО не значат... Связка Оберон+асм все равно лучше чем Си+асм потому что Оберон НЕ берет на себя функции ассемблера. Это просто другая точка зрения, специально повышающая уровень. Оберон упирает на написание прикладных программ. А с большей частью системных поступает просто - переводит их в разряд прикладных и решает)) Остается очень мало не охваченных действительно низкоуровневых вещей которые можно и на ассемблере вставить. Можно конечно встроить в язык средства нарушения типов (type transfer) как это БЫЛО в Модула-2. Хочу напомнить что в М2 они были и на Модула-2 благодаря им можно было хулиганить не хуже чем на Си и писать менеджеры памяти в стиле Си. Но Вирт СПЕЦИАЛЬНО выбросил это из Оберона потому что посчитал что программисты этим злоупотребляют)) Если его решение Вам не нравится то Модула-2 ведь никуда не делась)) Короче дело не в том что в Обероне чего-то сделать нельзя. А в том что там ЭТОГО делать просто не нужно. Зачем чесать пяткой затылок и ходить в лыжах по асфальту?)) ЗЫ. Есть неймановские машины с типизированной памятью, одно другому не мешает. NX бит опять-же. в функциональных языках конечно много интересного но и проблем хватает.... |
Автор: | Info21 [ Пятница, 09 Ноябрь, 2007 18:52 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
CheshireCat писал(а): Зачем .. ходить в лыжах по асфальту?)) Вот! |
Автор: | Илья Ермаков [ Пятница, 09 Ноябрь, 2007 19:10 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Для всех, кто всё ещё сомневается "полетит-не полетит" относительно ОС на основе полностью типизированной памяти с абстракцией от оборудования, ещё раз настоятельно порекомендую почитать книжку Солтиса про IBM AS/400. Система, в которой много отличных решений воплотили ещё в 70-х (AS/400 - современный потомок тогдашней System/38). http://www.ibm.com/ru/eserver/iseries/library/ |
Автор: | AVC [ Пятница, 09 Ноябрь, 2007 19:48 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
CheshireCat писал(а): Если его решение Вам не нравится то Модула-2 ведь никуда не делась)) Ага, давайте повсюду будем таскать за собой еще Модулу-2. Зачем делать проще, если можно сложнее? Зачем нам один язык, если можно использовать два языка? Зачем нам простой маленький Оберон, если можно к нему добавить существенно более громоздкую Модулу-2? IMHO, лучше просто считать, что Модула-2 теперь называется IMPORT SYSTEM. CheshireCat писал(а): Зачем чесать пяткой затылок и ходить в лыжах по асфальту?)) Правильно, лучше чесать затылок сразу двумя пятками (еще лучше -- четырьмя). Гораздо удобнее. |
Автор: | Trurl [ Пятница, 09 Ноябрь, 2007 22:36 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
После IMPORT SYSTEM простой маленький Оберон практически превращается в более громоздкую Модулу-2. AVC писал(а): Правильно, лучше чесать затылок сразу двумя пятками (еще лучше -- четырьмя). Пока народ предпочитает чесать пятками живот. |
Автор: | AVC [ Суббота, 10 Ноябрь, 2007 00:10 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Trurl писал(а): После IMPORT SYSTEM простой маленький Оберон практически превращается в более громоздкую Модулу-2. И какая именно из функций -- ADR(v), VAL(T,v) -- или процедур -- GET(a,v), PUT(a,x) -- так отягощает Оберон? Ведь в чем альтернатива. Или мы включаем в компилятор несколько (в пределах десятка) встроенных процедур псевдомодуля SYSTEM, или мы должны пользоваться связкой из двух языков (Оберон и Модула-2), из которых именно вспомогательный (Модула-2) гораздо увесистей. Плюс решать вопросы их совместимости. |
Автор: | Vlad [ Суббота, 10 Ноябрь, 2007 00:38 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
AVC писал(а): Trurl писал(а): После IMPORT SYSTEM простой маленький Оберон практически превращается в более громоздкую Модулу-2. И какая именно из функций -- ADR(v), VAL(T,v) -- или процедур -- GET(a,v), PUT(a,x) -- так отягощает Оберон? Ведь в чем альтернатива. Или мы включаем в компилятор несколько (в пределах десятка) встроенных процедур псевдомодуля SYSTEM Как оказалось при ближайшем рассмотрении на простейшем примере "нескольких встроенных процедур псевдомодуля SYSTEM" недостаточно. Нужны еще, как минимум, какие-то расширения компилятора (untagged) и рантайма (метапрограммирование, дескрипторы типа). |
Автор: | AVC [ Суббота, 10 Ноябрь, 2007 01:09 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Vlad писал(а): AVC писал(а): Trurl писал(а): После IMPORT SYSTEM простой маленький Оберон практически превращается в более громоздкую Модулу-2. И какая именно из функций -- ADR(v), VAL(T,v) -- или процедур -- GET(a,v), PUT(a,x) -- так отягощает Оберон? Ведь в чем альтернатива. Или мы включаем в компилятор несколько (в пределах десятка) встроенных процедур псевдомодуля SYSTEM Как оказалось при ближайшем рассмотрении на простейшем примере "нескольких встроенных процедур псевдомодуля SYSTEM" недостаточно. Нужны еще, как минимум, какие-то расширения компилятора (untagged) и рантайма (метапрограммирование, дескрипторы типа). Понятное замечание. Дескрипторы типа как раз являются одной из основ обероновского рантайма, а не его расширением. А untagged -- всего лишь отказ от использования дескрипторов типа, после чего к таким записям неприменимы динамическая проверка типа и сборка мусора. Ну как в Си. Они только поэтому и привлекли мое внимание, что к ним нельзя применить (обычную) сборку мусора. |
Автор: | Илья Ермаков [ Суббота, 10 Ноябрь, 2007 10:57 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Псевдомодуль - это и есть расширение компилятора. [untagged] относится как раз к SYSTEM. А без дескрипторов типа и тегированной памяти нынче никуды... |
Автор: | Trurl [ Суббота, 10 Ноябрь, 2007 11:19 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
AVC писал(а): И какая именно из функций -- ADR(v), VAL(T,v) -- или процедур -- GET(a,v), PUT(a,x) -- так отягощает Оберон? Если о ББ, то его отягощают всякие [untagged],[union] ,[code]. A ETHO - ассемблер. |
Автор: | AVC [ Суббота, 10 Ноябрь, 2007 11:34 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Илья Ермаков писал(а): Псевдомодуль - это и есть расширение компилятора. [untagged] относится как раз к SYSTEM. Trurl писал(а): Если о ББ, то его отягощают всякие [untagged],[union] ,[code]. A ETHO - ассемблер. В Талмуде сказано : мудр не тот, кто умеет отличить добро от зла, а тот, кто из двух зол умеет выбирать меньшее. Добро, ясное дело, -- это дескрипторы типа и тегированная память. А два зла -- это: 1) сохранить в Обероне псевдомодуль SYSTEM (и контролировать его применение -- вплоть до полного запрета -- с помощью системных средств); 2) использовать для низкоуровневого программирования дополнительный язык: Модулу-2 или М, о котором говорит Руслан Богатырев. Что вы предпочитаете? |
Автор: | AVC [ Суббота, 10 Ноябрь, 2007 11:49 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
AVC писал(а): Что вы предпочитаете? Подумайте, пожалуйста, об этом в связи 1) с ОС "Роса", куда Русланом уже планируется язык M; 2) со "странной" (на мой взгляд, очень интересной) виртовской рекомендательной манерой описания языков, которую мы как-то обсуждали на дельфийском форуме. (Значение управляющей переменной в теле цикла FOR менять не рекомендуется, но не запрещается; по завершении цикла его следует считать неопределенным, но оно все же доступно; сама управляющая переменная не локальна для цикла FOR, а объявлена в секции VAR, как и другие переменные; побочные эффекты в теле процедуры-функции не запрещаются, но надо отчетливо представлять их последствия; и т.д.). Подумайте над тем, каким средствами вы стали бы решать следующие типовые системно-прикладные задачи: 1) подсистема управления динамической памятью (выделение и возврат памяти, сборка мусора); 2) генерация машинного кода компилятором; 3) программная эмуляция другого процессора (зачастую, в данный момент еще недоступного) для систем кросс-программирования; 4) и т.д., и т.п. |
Автор: | Vlad [ Суббота, 10 Ноябрь, 2007 18:08 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Илья Ермаков писал(а): Для всех, кто всё ещё сомневается "полетит-не полетит" относительно ОС на основе полностью типизированной памяти с абстракцией от оборудования, ещё раз настоятельно порекомендую почитать книжку Солтиса про IBM AS/400. На самом деле под "полетит" уже подразумевается, что ОС можно увидеть не только в книжке, а и в магазине. |
Автор: | Vlad [ Суббота, 10 Ноябрь, 2007 18:27 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
AVC писал(а): Дескрипторы типа как раз являются одной из основ обероновского рантайма, а не его расширением. Тем не менее, в оригинальном описании языка о них ничего не сказано. В стандарте C++ о таблицах виртуальных функций тоже ничего не сказано, однако писать менеджер памяти (в том числе и для полиморфных объектов) это не мешает. |
Автор: | Vlad [ Суббота, 10 Ноябрь, 2007 18:36 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
AVC писал(а): 1) сохранить в Обероне псевдомодуль SYSTEM (и контролировать его применение -- вплоть до полного запрета -- с помощью системных средств); 2) использовать для низкоуровневого программирования дополнительный язык: Модулу-2 или М, о котором говорит Руслан Богатырев. Что вы предпочитаете? Пункт 2 однозначно Почти безопасный язык - это все равно небезопасный язык. |
Автор: | AVC [ Суббота, 10 Ноябрь, 2007 19:06 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Vlad писал(а): AVC писал(а): Дескрипторы типа как раз являются одной из основ обероновского рантайма, а не его расширением. Тем не менее, в оригинальном описании языка о них ничего не сказано. Да, в описании первого Оберона не сказано даже о существовании рантайма. А он есть. А вот в описании Оберона-2 (Appendix D) приведены примерные структуры данных для поддержки рантайма. Vlad писал(а): В стандарте C++ о таблицах виртуальных функций тоже ничего не сказано, однако писать менеджер памяти (в том числе и для полиморфных объектов) это не мешает. Это не мешает также подвешиванию указателей и утечкам памяти. |
Автор: | Илья Ермаков [ Суббота, 10 Ноябрь, 2007 21:47 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Vlad писал(а): Илья Ермаков писал(а): Для всех, кто всё ещё сомневается "полетит-не полетит" относительно ОС на основе полностью типизированной памяти с абстракцией от оборудования, ещё раз настоятельно порекомендую почитать книжку Солтиса про IBM AS/400. На самом деле под "полетит" уже подразумевается, что ОС можно увидеть не только в книжке, а и в магазине. Драсте, AS/400 одна из самых известных на Западе систем бизнес-класса (естественно, программно-аппаратная). |
Автор: | Vlad [ Воскресенье, 11 Ноябрь, 2007 02:42 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Илья Ермаков писал(а): Драсте, AS/400 одна из самых известных на Западе систем бизнес-класса (естественно, программно-аппаратная). Хорошо, уточняю: в обычном магазине. |
Автор: | Илья Ермаков [ Воскресенье, 11 Ноябрь, 2007 11:13 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Ну, ну Я вот думаю - когда в обычном магазине можно будет купить не динозавров Intel, а ПК на процессорах нормальной архитектуры (RISC, с типизированной памятью и принципиальной защитой от вирусов, и т.п., всё, как уже годами в "больших машинах") |
Автор: | Vlad [ Воскресенье, 11 Ноябрь, 2007 19:07 ] |
Заголовок сообщения: | Re: Linux+BlackBox=? |
Илья Ермаков писал(а): Ну, ну Я вот думаю - когда в обычном магазине можно будет купить не динозавров Intel, а ПК на процессорах нормальной архитектуры (RISC, с типизированной памятью и принципиальной защитой от вирусов, и т.п., всё, как уже годами в "больших машинах") Еще полтора года назад можно было. Потом apple была вынуждена переключиться на интел, потому что IBM так и не смогла предоставить достойного десктопного процессора "нормальной" архитектуры. |
Страница 6 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |