Re[22]: Системность
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.01.05 20:27
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Специально подчеркнул. Уже давно настали времена, когда софтварно большинство вещей делается намного дешевле (и быстрей если брать отношение стоимости и производительности) чем на аппаратном уровне. Это стало понятно, еще когда была бадяга между пентюхом и risk процами.


Ага. Поэтому х86, несмотря на свою неимоверную кривость, до сих пор поддерживается на аппаратном уровне.
... << RSDN@Home 1.1.4 beta 3 rev. 283>>
AVK Blog
Re[17]: Системность
От: Poudy Россия  
Дата: 18.01.05 09:00
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Просто GC+runtime реализуются непосредственно поверх железа, а уже все остальное (включая операционку) пишется на языке высокого уровня. Например, именно так и было сделано в операционке Aos BlueBottle


Three buttons recommended for Oberon


Это никак шутка?
Re[19]: Системность
От: Poudy Россия  
Дата: 18.01.05 09:04
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>...Бортовой компьютер (получивший, кстати, имя OLGA = Oberon Language Goes Airborne) оказался настолько компактным благодаря компактности и эффективности получившихся программ (использовалось подмножество языка Оберон), что вес машины удалось резко снизить по сравнению с предыдущими версиями конструкции — всего до 15 кг. (Потомки компьютера OLGA используются в компании weControl.)

СГ>[/q]

Ты действительно уверен, что это из-за Оберона? Это к другому спору "если би Пушкин родился в Германии, стал бы он писать стихи".
Re[20]: Системность
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 18.01.05 13:20
Оценка: :)))
Здравствуйте, Poudy, Вы писали:

P>Ты действительно уверен, что это из-за Оберона?


Да.
Re[13]: Оберон vs все остальное
От: WolfHound  
Дата: 18.01.05 17:02
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Написать три строчки кода:

СГ>
СГ>  NEW(tmp, LEN(a) + 100);
СГ>  FOR i := 0 TO LEN(tmp)-1 DO tmp[i] := a[i] END;
СГ>  a := tmp;
СГ>

СГ>это что теперь проблемой называется????
Да. Сравни с
a.push_back(123);

или если нужно добюавить не один элемент в хвост а именно 100 то
a.resize(a.size()+100);

отдельной функции нет ибо нужно очень редко.

А теперь представь это в разных сочетаниях в 1000 мест...

СГ>А я то думал, что проблема, это, например, придумать хорошую эвристику для NP-задачи...

А зачем ее придумывать? С вероятность 99% она уже придумана надо только потрясти гугль. А если и нет то раз в несколько лет можно и попридумывать...
Просто у современных программистов другие проблемы... и ты похоже это никане не можешь/не хочешь понять.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: Системность
От: Poudy Россия  
Дата: 18.01.05 21:22
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

P>>Ты действительно уверен, что это из-за Оберона?

СГ>Да.
Хотя это уже становится не смешно. Это уже становится интересно. Давай ты попробуешь привести немного другую аргументацию. Тогда, вероятно, когда ты в очередной раз повторишь "Oberon — системный язык", я скажу "Ааааа... Понял!" .
Re[14]: Оберон vs все остальное
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 07:04
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Сергей Губанов, Вы писали:


WH>Да. Сравни с

WH>
WH>a.push_back(123);
WH>

WH>или если нужно добюавить не один элемент в хвост а именно 100 то
WH>
WH>a.resize(a.size()+100);
WH>

WH>отдельной функции нет ибо нужно очень редко.

WH>А теперь представь это в разных сочетаниях в 1000 мест...


СГ>>А я то думал, что проблема, это, например, придумать хорошую эвристику для NP-задачи...

WH>А зачем ее придумывать? С вероятность 99% она уже придумана надо только потрясти гугль. А если и нет то раз в несколько лет можно и попридумывать...
WH>Просто у современных программистов другие проблемы... и ты похоже это никане не можешь/не хочешь понять.


В точности также все это можно писать на обероноподобных языках:
  a.PushBack(123);
  a.Resize(a.length + 100);

так что хватит Вам выдумывать никогда не существовавших проблем.
Re[22]: Системность
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 07:11
Оценка: 27 (2)
Здравствуйте, Poudy, Вы писали:

P>Здравствуйте, Сергей Губанов, Вы писали:


P>>>Ты действительно уверен, что это из-за Оберона?

СГ>>Да.
P>Хотя это уже становится не смешно. Это уже становится интересно. Давай ты попробуешь привести немного другую аргументацию. Тогда, вероятно, когда ты в очередной раз повторишь "Oberon — системный язык", я скажу "Ааааа... Понял!" .


Ну что же, давайте.

Прочтите пожалуйста:
http://www.uni-vologda.ac.ru/oberon/infoart/proj0.htm

Потом вот это:
http://www.uni-vologda.ac.ru/oberon/infoart/fromm2o.htm

Все остальные ссылки там:
[[ http://www.uni-vologda.ac.ru/oberon/#Публикации%20на%20русском ]]
Re[15]: Оберон vs все остальное
От: WolfHound  
Дата: 19.01.05 07:16
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>В точности также все это можно писать на обероноподобных языках:

СГ>
СГ>  a.PushBack(123);
СГ>  a.Resize(a.length + 100);
СГ>

СГ>так что хватит Вам выдумывать никогда не существовавших проблем.
Типизировано? Или как всегда полиморфно?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: Системность
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 07:37
Оценка: 1 (1) -1
СГ>Ну что же, давайте.

цитата из статьи http://www.uni-vologda.ac.ru/oberon/infoart/fromm2o.htm

...Компилятор для Oberon’а был реализован для процессоров семейства NS32000 и был встроен в операционную среду Oberon [GuW89]. Этот компилятор требует менее 50 Кбайт памяти, состоит из 6 модулей, общим размером около 4000 строк исходного текста и сам себя компилирует примерно за 15 секунд на рабочей станции с 25 МГц процессором типа NS32532...

Re[16]: Оберон vs все остальное
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 07:59
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Типизировано? Или как всегда полиморфно?


Как пожелаете.
Re[17]: Оберон vs все остальное
От: WolfHound  
Дата: 19.01.05 08:56
Оценка: +3
Здравствуйте, Сергей Губанов, Вы писали:

WH>>Типизировано? Или как всегда полиморфно?

СГ>Как пожелаете.
А типизированно как всегда ручками для каждого типа? Если да то в лес такое решение.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: Системность
От: WolfHound  
Дата: 19.01.05 09:16
Оценка: +2 -1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>цитата из статьи http://www.uni-vologda.ac.ru/oberon/infoart/fromm2o.htm

СГ>

СГ>...Компилятор для Oberon’а был реализован для процессоров семейства NS32000 и был встроен в операционную среду Oberon [GuW89]. Этот компилятор требует менее 50 Кбайт памяти, состоит из 6 модулей, общим размером около 4000 строк исходного текста и сам себя компилирует примерно за 15 секунд на рабочей станции с 25 МГц процессором типа NS32532...

И? А что мешает на мощьной станции откомпилировать и оптимизировать по самые не балуйся программу, а потом залить ее в железку?

ЗЫ Я не верю что в 4000 строк мог поместится оптимизирующий компилятор. А отсутствие оптимизации это как ни крути приговор.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: Системность
От: Privalov  
Дата: 19.01.05 12:21
Оценка: -1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>>Ну что же, давайте.


СГ>цитата из статьи http://www.uni-vologda.ac.ru/oberon/infoart/fromm2o.htm

СГ>

СГ>...Компилятор для Oberon’а был реализован для процессоров семейства NS32000 и был встроен в операционную среду Oberon [GuW89]. Этот компилятор требует менее 50 Кбайт памяти, состоит из 6 модулей, общим размером около 4000 строк исходного текста и сам себя компилирует примерно за 15 секунд на рабочей станции с 25 МГц процессором типа NS32532...


И что? Сколько времени и сил отнимает разработка приложений, если в распоряжении разработчика есть только голый компилятор, даже если он так мал? Этот вопрос уже обсуждался не раз. Не вижу смысла к нему возвращаться. Скажу только, что компилятор — только составная часть системы программирования.

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

В реальных проектах (в НИИ, банках), код работает десятки лет. Переходя на новые технологии, с этим обязаны считаться, иначе здорово возрастают затраты на создание нового продукта.

Вирт стоит выше всего этого, он уже может позволить себе фантазировать.
Re[20]: Системность
От: Privalov  
Дата: 19.01.05 12:23
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>А чего у меня передо мной стоит такое с монитором? Под С++ НЕ НУЖНО

C>проектировать железо.

И, кстати, под еще целую массу языков тоже не нужно.
Re[25]: Системность
От: AVC Россия  
Дата: 19.01.05 12:32
Оценка: 7 (2)
Здравствуйте, WolfHound, Вы писали:

СГ>>...Компилятор для Oberon’а был реализован для процессоров семейства NS32000 и был встроен в операционную среду Oberon [GuW89]. Этот компилятор требует менее 50 Кбайт памяти, состоит из 6 модулей, общим размером около 4000 строк исходного текста и сам себя компилирует примерно за 15 секунд на рабочей станции с 25 МГц процессором типа NS32532...

СГ>>[/q]
WH>И? А что мешает на мощьной станции откомпилировать и оптимизировать по самые не балуйся программу, а потом залить ее в железку?

Я что-то не понял Вашего вопроса. В какую железку?
Oberon, о котором идет речь, — операционная система для рабочей станции Ceres.
Компилятор — часть этой операционной системы.
То, вся операционная система занимает 200K, из них 50K — компилятор, это достоинство дизайна системы.
Что Вы хотели сказать — осталось загадкой.

WH>ЗЫ Я не верю что в 4000 строк мог поместится оптимизирующий компилятор. А отсутствие оптимизации это как ни крути приговор.


Опять же, приговор — чему, кому?
Оберону, что ли? Так компиляторы Модулы-2 и Оберона-2 лучше оптимизируют код, чем компиляторы Си++. (Впрочем, это неудивительно. Причина названа в "красном драконе" Ахо, Ульмана и Сети. Почитайте.)
На днях скачал из интереса старую версию компилятора XDS (для некоммерческого использования). Прогнал drystone для MS Visual C++ и XDS Modula-2.
Результат: разница была даже не в процентах. XDS "покрыл" Visual в три раза. Возможно, надо было поизощреннее выставлять ключи оптимизации для Visual C++, но ему это все равно было бы что мертвому припарки.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[26]: Системность
От: Cyberax Марс  
Дата: 19.01.05 12:37
Оценка:
AVC пишет:

> Результат: разница была даже не в процентах. XDS "покрыл" Visual в

> *три раза*. Возможно, надо было поизощреннее выставлять ключи
> оптимизации для Visual C++, но ему это все равно было бы что мертвому
> припарки.

ROTFL...

Тестовый пример и ключи компиляторов — *В СТУДИЮ!*

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[27]: Системность
От: AVC Россия  
Дата: 19.01.05 12:57
Оценка:
Здравствуйте, Cyberax, Вы писали:

>> Результат: разница была даже не в процентах. XDS "покрыл" Visual в

>> *три раза*. Возможно, надо было поизощреннее выставлять ключи
>> оптимизации для Visual C++, но ему это все равно было бы что мертвому
>> припарки.

C>ROTFL...

C>Тестовый пример и ключи компиляторов — *В СТУДИЮ!*

Ой, какие мы смелые!
Впрочем, это правильный подход.

Для проверки, наверное, лучше всего поступить так.
1) Скачать бесплатную версию XDS 1999 года с сайта
http://www.excelsior-usa.com/xdsdlpers.html
2) В подкаталоге SAMPLES\BENCH найти файлы Dry.c и Dry.mod
3) Откомпилировать их. Ключи компиляции для Dry.mod указаны в самом файле.
Запуск компилятора:
xc =m Dry.mod
Для исходника на Си можете сами выбрать ключи компиляции.
Как говорится, enjoy!

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[25]: СИСТЕМНОСТЬ
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 13:20
Оценка: :))
Здравствуйте, WolfHound, Вы писали:

WH>ЗЫ Я не верю что в 4000 строк мог поместится оптимизирующий компилятор.



О-о-о... Значит ЗАЦЕПИЛО наконец-то!!!!!!!!!!!

Ну сейчас я наподдам еще, не смогу отказать себе в таком удовольствии...

Компилятор Oberon for Aos (в Aos BlueBottle, та самая в которой минимальный системный вызов в 30 раз быстрее чем в Linux), так вот тот компилятор занимает 8'667 строчек.

Можно еще сравнить размеры исходных кодов операционных систем

For a native multiprocessor operating system, Aos is small, with a
kernel of 7,210 lines of source or about 50KB of object code. For comparison,
the 4.4BSD kernel (cf. 8.1.2) consists of 58,289 lines of C code
(excluding file systems, network protocols and device drivers, which
add another 143,962 lines) [65]. Version 2.4 of the Linux kernel consists
of approximately 420,000 lines of C code (excluding drivers, file systems
and architecture-specific code, which bring the total to 2.4 million
lines) [128], and has a minimum size of around 500KB on Intel processors.
Microsoft boasts that Windows 2000 “consists of over 29 million
lines of code”, but does not say what is included in this figure, so it is
not possible to compare specifics.

Aos subsystem sizes.

Subsystem         Var  Const    Code   Lines
Kernel          18088   1296   48434   7210
Service support   164   1620   30001   2532
File system        96   1928   55462   4624
User interface    128    792   20468   2204
Network          1512   3368   62126   6200
Oberon for Aos   2396   3332  112893   8667
Total           22384  12336  329384  31437

Цитата взята из докторской диссертации Питера Мюллера — создателя Aos (http://www.cs.inf.ethz.ch/~muller/).


Вот что значит грамотный дизайн!!! А Вы все шаблоны да генерики, да не нужны они — головой надо думать...


Кстати сказать, компилятор языка Limbo написанный на языке Си занимает, если мне не изменяет память, очень много — целых 30'000 строчек.
Re[26]: СИСТЕМНОСТЬ
От: Cyberax Марс  
Дата: 19.01.05 13:25
Оценка:
Сергей Губанов пишет:

> WH>ЗЫ Я не верю что в 4000 строк мог поместится *оптимизирующий*

> компилятор.
> О-о-о... Значит *ЗАЦЕПИЛО* наконец-то!!!!!!!!!!!

Я его посмотрел. По сравнению с GCC — десткий лепет. Где в нем
планирование регистров, распараллеливание кода, учет фишек разных
архитектур, оптимизация выражений? Правильно, нету. Так как в 50Кб кода
это не вместится, даже если написать на Перле.

А простой неоптимизирующий компилятор в нейтив на С++ пишется где-то
килобайт в 20 кода (сам видел).

> Компилятор Oberon for Aos (в Aos BlueBottle, та самая в которой

> минимальный системный вызов в 30 раз быстрее чем в Linux), так вот тот
> компилятор занимает 8'667 строчек.

В _30_ раз быстрее Линукса? А защита памяти там есть? Ну вот...

ЗЫ: все это не тянет даже на серьезный продукт, и уж точно не тянет на
"систему, которая должна заменить С".

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.