Re[5]: BlackBox всерьёз
От: Дарней Россия  
Дата: 04.12.05 05:42
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Проблемами с памятью дело не ограничивалось.


ты указал только эти проблемы, вот я и предположил, что они — главные. Было бы странно указать только второстепенные проблемы и пропустить главные, правда ведь?

AVC>А что касается нескольких недель работы, то, увы, их как раз и не было.

AVC>Проект доводился до ума в свободное время. То, что иногда называется "халтурой".

а на то, чтобы переписать полностью, были?

AVC>Проект велся на C++ .NET (не знаю зачем, для "современности" что-ли?),


вероятно, чтобы использовать библиотеку классов .NET и по возможности избавиться от необходимости изобретать велосипеды

AVC>мне надо было ехать в деревню без всяких признаков цивилизации, а мой (очень) старенький ноутбук не вмещал это чудо (в отличие от BlackBox или GNU C++).

AVC>Бывает, что и такие мелочи имеют значение!

подозреваю, что это и было второй из основных причин

AVC>Кроме того, я не большой любитель сидеть в отладчике. Сам я справляюсь с собственными багами без отладчика. (Вообще, отладка у меня съедает сравнительно немного времени). Один из любимых приемов: если кусок кода "глючит", и не сразу ясно, почему — переписать его. Иногда замена поиска ошибки переписыванием (небольшого) куска кода экономит значительное время.


а если глючит не он, а другой кусок кода, от которого он зависит?

AVC>Речь идет об имитации связки процессор + доп.устройства (для мультимедиа).

AVC>Цель: "опережающая" разработка программ для нового процессора.
AVC>Уровень детализации, скажем так, прогрессирующий.
AVC>Первую версию я уже сделал (после ответа eao197), дальше будем добавлять новые факторы по мере необходимости.

ну что ж, это уже что-то заслуживающее упоминания
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[5]: BlackBox всерьёз
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.12.05 17:25
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

...

Откровенно говоря все сказанное тобой скорее придирки. Ты лучше скажи, что ты теперь думаешь об поддержке дотнетом КОП и удобстве программирования на C# который куда как более толст по сравнению с Обероном (т.е. не удовлетвояет идее минимализма).
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: BlackBox всерьёз
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 05.12.05 15:42
Оценка: :))
Здравствуйте, VladD2, Вы писали:

VD>Откровенно говоря все сказанное тобой скорее придирки.


Не всё. И не придирки

VD>Ты лучше скажи, что ты теперь думаешь об поддержке дотнетом КОП


Я уже написал что я думаю. Могу еще добавить такую несуразицу обнаруженную в .Net: Модуль в котором определяется расширение типа, предком которого является тип из другого модуля, зачем-то обязан импортировать не только модуль с непосредственным предком, но и все другие модули с более далёкими предками — какая-то ерунда В оберонах достаточно импортировать только модуль с непосредственным предком, а что там глубже по иерархии — клиентского модуля не касается.

VD>и удобстве программирования на C# который куда как более толст по сравнению с Обероном (т.е. не удовлетвояет идее минимализма).


Я уже написал что я думаю. Сформулирую это более строго: Язык C# не предназначен для написания модульных систем потому, что в нём нет синтаксически обозначенного понятия модуля. А именно, глядя на текст: Namespace1.Namespace2.Namespace3.Ident1.Ident2 — не ясно в каком модуле определена данная сущность. Это не придирка. Это серьезная вещь. Реально, у меня в solution полсотни модулей (projects), как глядя на текст Namespace1.Namespace2.Namespace3.Ident1.Ident2 понять в каком модуле эта сущность определена? Ведь namespace не связана с именем модуля. А если к этому еще добавить using Namespace1.Namespace2.Namespace3 и разрешение на неквалифицированный доступ к переменным, то ещё хуже станет..., т.е. в C# на синтаксическом уровне не поддерживает модульное программирование.
Re[7]: BlackBox всерьёз
От: Пацак Россия  
Дата: 05.12.05 16:47
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>О... Я тут читал статью о том, как к Оберону прикрутили эксцешоны.


Прочитал сам — дай прочитать другому! В смысле урл.
Ку...
Re[8]: BlackBox всерьёз
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.12.05 19:04
Оценка: 4 (1)
Здравствуйте, Пацак, Вы писали:

VD>>О... Я тут читал статью о том, как к Оберону прикрутили эксцешоны.


П>Прочитал сам — дай прочитать другому! В смысле урл.


У меня есть только имя файла, но взял я его по ссылке с этого форума. Так что вот так p_ex.pdf должно помочь.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: BlackBox всерьёз
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.12.05 19:04
Оценка:
Здравствуйте, AVC, Вы писали:


AVC>1) До последнего времени Оберон был практически неизвестен в нашей стране.

AVC>Лично я об Обероне знаю всего три года.

Во как? А я прочел об Обероне в Тере году так в 1998-ом...

AVC>2) Отсюда прямо вытекает, что инструментарий для работы на Обероне (компиляторы и т.д.) также

AVC> был недоступен.

...и стразу же скачал из Интернета то что называлось его компилятором и средой (по ссылке из статьи).

AVC>Думаю, тебе понятно, что это означало в моих условиях. У меня семья 5 человек, а "добытчик" я один.


И купить это дело было совершенно невозможно? Видимо много заломили.

AVC>В настоящее время пишу на Компонентном Паскале программу, моделирующую поведение аппаратуры. Теперь уже на основной работе, и уже не "вспомогательную" DLL.


А какое отношение Компонентный Паскаль имеет к Оберону?

AVC>(Поэтому, ИМХО, зря ты раскритиковал Сергея Губанова за то, что он мало пишет на Обероне. У него те же обстоятельства, что и у меня.


Тут вот что странно. Дотнет появился позже Оберона. Но тот же Губанов пишет коммерческий софт именно на C#, а не на Обероне. При этом с радостью обсуждая "немодульность" C#.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: BlackBox всерьёз
От: AVC Россия  
Дата: 05.12.05 21:50
Оценка:
Здравствуйте, VladD2, Вы писали:

AVC>>1) До последнего времени Оберон был практически неизвестен в нашей стране.

AVC>>Лично я об Обероне знаю всего три года.

VD>Во как? А я прочел об Обероне в Тере году так в 1998-ом...


Я узнал об Обероне сразу, как в боях добыл свободный доступ к Интернету.
Увы, случилось это только в 2002 году.
Да, судьба моя — не сахар.
Если хочешь — поплачем вместе.

AVC>>Думаю, тебе понятно, что это означало в моих условиях. У меня семья 5 человек, а "добытчик" я один.


VD>И купить это дело было совершенно невозможно? Видимо много заломили.


Это да. Напугала не столько сумма, сколько швейцарские франки (кажется).
Хотя за некоммерческое использование ничего не брали...
Можно было и словчить, конечно.
Но даже программируя на Си++, я старался быть (в тесных рамках возможного ) честным: почти декаду юзал купленный Zortech C++ (как сейчас помню — за $75 , Symantec тогда цены сбросила), а сейчас пользую GNU C++.
А тут — Оберон... Это святое!

AVC>>В настоящее время пишу на Компонентном Паскале программу, моделирующую поведение аппаратуры. Теперь уже на основной работе, и уже не "вспомогательную" DLL.


VD>А какое отношение Компонентный Паскаль имеет к Оберону?


Такое, что это — Оберон.
Точнее говоря, надмножество Оберона-2, созданное фирмой Oberon Microsystems Inc. (среди ее основателй — Шиперски).

AVC>>(Поэтому, ИМХО, зря ты раскритиковал Сергея Губанова за то, что он мало пишет на Обероне. У него те же обстоятельства, что и у меня.


VD>Тут вот что странно. Дотнет появился позже Оберона. Но тот же Губанов пишет коммерческий софт именно на C#, а не на Обероне. При этом с радостью обсуждая "немодульность" C#.


Это вопрос к Губанову.
(Он говорит, что так велит начальство. Бюрократический садизм, вот как я это называю. )
BTW, а что, на самом деле C# — модульный?

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

Хоар
Re[6]: BlackBox всерьёз
От: AVC Россия  
Дата: 05.12.05 22:40
Оценка:
Здравствуйте, Дарней, Вы писали:

AVC>>Проблемами с памятью дело не ограничивалось.


Д>ты указал только эти проблемы, вот я и предположил, что они — главные. Было бы странно указать только второстепенные проблемы и пропустить главные, правда ведь?


Главное, что проблемой в этом коде было все.
Если бы только память...
Меня как раз прямо перед этим Cyberax просветил насчет консервативных сборщиков мусора, я уже хотел попробовать их на предмет обнаружения утечек памяти. (Есть, как будто, у них такая функция.)
Да выяснилось, что там все хуже, чем думалось.
А пока я в деревне тихо страдал, "мои" студенты да на большом-то компе... Эх, молодость, молодость!
Вот за это я их и зауважал. За кипучую энергию.
Ну, а для COM/OLE я использовал Компонентный Паскаль (КП).
Даже если бы я не был фанатом Оберона, грех был бы мне его не использовать для этой цели. Ведь у меня под рукой исходные тексты соответствующих блекбоксовских подсистем были.
Так что я большую часть этой работы "копипастом" сделал.
Ну, еще подредактировал немного.

AVC>>А что касается нескольких недель работы, то, увы, их как раз и не было.

AVC>>Проект доводился до ума в свободное время. То, что иногда называется "халтурой".

Д>а на то, чтобы переписать полностью, были?


Я, собственно, вначале только на себя расчитывал.
Не думал, что парни так подналягут.
А мне самому точно было бы проще и быстрее — переписать.
Что дожна делать программа — было понятно.
Объем кода — средний.
А разгребать завалы в том, что казалось прежним разработчикам Си-плюс-плюсом... Бр-р-р!

AVC>>Проект велся на C++ .NET (не знаю зачем, для "современности" что-ли?),


Д>вероятно, чтобы использовать библиотеку классов .NET и по возможности избавиться от необходимости изобретать велосипеды


Мне показалось, что цель использования C++ .NET была в том, чтобы "прикрутить" XML с наименьшими усилиями.
А еще мне показалось, что без XML (в данном случае) вполне можно было обойтись.

AVC>>мне надо было ехать в деревню без всяких признаков цивилизации, а мой (очень) старенький ноутбук не вмещал это чудо (в отличие от BlackBox или GNU C++).

AVC>>Бывает, что и такие мелочи имеют значение!

Д>подозреваю, что это и было второй из основных причин


Пожалуй, что и так.
Тюкал бы я себе в деревне по клавишам пару часов в день — глядишь, и проект почти уже натюкал.
А так — не тюкал, а только нервничал — когда же, наконец, тюкать-то буду, сроки ведь!

AVC>>Кроме того, я не большой любитель сидеть в отладчике. Сам я справляюсь с собственными багами без отладчика. (Вообще, отладка у меня съедает сравнительно немного времени). Один из любимых приемов: если кусок кода "глючит", и не сразу ясно, почему — переписать его. Иногда замена поиска ошибки переписыванием (небольшого) куска кода экономит значительное время.


Д>а если глючит не он, а другой кусок кода, от которого он зависит?


С ним — так же.
Причем лучше — до того.

Д>ну что ж, это уже что-то заслуживающее упоминания


Спасибо. Да.

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

Хоар
Re[5]: BlackBox всерьёз
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.12.05 23:08
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>BTW, а что, на самом деле C# — модульный?


Кстати, да.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: BlackBox всерьёз
От: AVC Россия  
Дата: 05.12.05 23:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>О... Я тут читал статью о том, как к Оберону прикрутили эксцешоны.


П>>Прочитал сам — дай прочитать другому! В смысле урл.


VD>У меня есть только имя файла, но взял я его по ссылке с этого форума. Так что вот так p_ex.pdf должно помочь.


Это старая статья.
Справочника молодых сурков под рукой нет, но думаю, не позднее 1997 года.
Один из авторов (Мессенбек) — создатель языка Оберон-2 и компилятора компиляторов CoCo.
На эту статью на RSDN уже ссылались (в т.ч. и мы с Сергеем ).
Главное — подход прост до безобразия и не требует синтаксических расширений.
Ну, и знаменитого оверхеда нет, если исключение так и не было возбуждено.

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

Хоар
Re[7]: BlackBox всерьёз
От: Дарней Россия  
Дата: 06.12.05 02:43
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Меня как раз прямо перед этим Cyberax просветил насчет консервативных сборщиков мусора, я уже хотел попробовать их на предмет обнаружения утечек памяти. (Есть, как будто, у них такая функция.)


утечки памяти в GC? найти, где коллекционируются ссылки — совсем не сложная задача, даже для студентов

AVC>Даже если бы я не был фанатом Оберона, грех был бы мне его не использовать для этой цели. Ведь у меня под рукой исходные тексты соответствующих блекбоксовских подсистем были.

AVC>Так что я большую часть этой работы "копипастом" сделал.
AVC>Ну, еще подредактировал немного.

не знаю, что именно там надо было делать. так что выводы тоже сделать не могу

AVC>А разгребать завалы в том, что казалось прежним разработчикам Си-плюс-плюсом... Бр-р-р!


все программисты так говорят. Иногда это даже оказывается правдой.

AVC>А еще мне показалось, что без XML (в данном случае) вполне можно было обойтись.


я думаю, без Оберона в данном случае тоже можно было прекрасно обойтись

AVC>С ним — так же.

AVC>Причем лучше — до того.

система — это больше, чем сумма ее компонент. И ошибки системы — это больше, чем сумма ошибок компонент системы.
Но это я так, о птичках
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[7]: BlackBox всерьёз
От: Sinclair Россия https://github.com/evilguest/
Дата: 06.12.05 06:39
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Я уже написал что я думаю. Могу еще добавить такую несуразицу обнаруженную в .Net: Модуль в котором определяется расширение типа, предком которого является тип из другого модуля, зачем-то обязан импортировать не только модуль с непосредственным предком, но и все другие модули с более далёкими предками — какая-то ерунда В оберонах достаточно импортировать только модуль с непосредственным предком, а что там глубже по иерархии — клиентского модуля не касается.

А, это да. Особенно хорошо это помогает выяснить список зависимостей модуля. Вот, к примеру, скачиваем мы сборку из сети. Как только мы ее скачали, мы можем получить полный список зависимостей, проверить наличие их на локальной машине и закачать все остальные. Для оберона придется анализировать каждый закачанный модуль, и предсказать объем даунлоада невозможно, как и определить, нет ли неразрешимых ссылок.
СГ>Я уже написал что я думаю. Сформулирую это более строго: Язык C# не предназначен для написания модульных систем потому, что в нём нет синтаксически обозначенного понятия модуля. А именно, глядя на текст: Namespace1.Namespace2.Namespace3.Ident1.Ident2 — не ясно в каком модуле определена данная сущность. Это не придирка. Это серьезная вещь. Реально, у меня в solution полсотни модулей (projects), как глядя на текст Namespace1.Namespace2.Namespace3.Ident1.Ident2 понять в каком модуле эта сущность определена? Ведь namespace не связана с именем модуля. А если к этому еще добавить using Namespace1.Namespace2.Namespace3 и разрешение на неквалифицированный доступ к переменным, то ещё хуже станет..., т.е. в C# на синтаксическом уровне не поддерживает модульное программирование.
Требования соответствия неймспейсов модулям нету даже в java, хотя там принята жесткая привязка именования классов к их расположению. Вместо того, чтобы поносить несравненно более распространенный по сравнению с обероном дотнет лучше подумай, почему в нем приняты такие решения, а не другие.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: BlackBox всерьёз
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 06.12.05 10:31
Оценка: :)
Здравствуйте, VladD2, Вы писали:

AVC>>BTW, а что, на самом деле C# — модульный?


VD>Кстати, да.


Модульной является платформа .Net, а язык C# — не модульный (нет синтаксической конструкции модуля), этот язык заточен для программирования "в малом".

Спрашивается, как тогда на немодульном языке C# удаётся писать модули для модульной системы .Net?
Ответ — "А всякие тулзовины есть: project manager + solution explorer."
Справедливости ради: WinCE - это real-time ОС
От: SilverCloud Россия http://rodonist.wordpress.com
Дата: 06.12.05 19:07
Оценка:
Здравствуйте, MShura, Вы писали:

MS>PortOS is an instructional operating system for the Post-PC environment, designed for use in an undergraduate operating systems course. It provides the necessary infrastructure for developing operating systems on desktops and handheld devices. It runs under Windows, including NT/2K/ME/98/XP as well as CE/PocketPC/HandheldPC.


MS>Надеюсь Вы понимаете, что Windows/Linux/Mac не являются системами реального времени.

Выделенная версия Windows — таки является
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: BlackBox всерьёз
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.12.05 23:26
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Модульной является платформа .Net, а язык C# — не модульный (нет синтаксической конструкции модуля), этот язык заточен для программирования "в малом".


СГ>Спрашивается, как тогда на немодульном языке C# удаётся писать модули для модульной системы .Net?

СГ>Ответ — "А всякие тулзовины есть: project manager + solution explorer."


Извиняюсь, что влезаю в твой разговор с самим собой, но хочу подкинуть одну идею. В качестве тулзовины можно изспользовать "тулз" под названием csc.exe. Изучи его командную строку. Там есть такие забавне ключики:
/reference:<alias>=<file>     Reference metadata from the specified assembly file using
                              the given alias (Short form: /r)
/reference:<file list>        Reference metadata from the specified assembly files (Short
                              form: /r)
/addmodule:<file list>        Link the specified modules into this assembly

Покури по их поводу...

Еще подумай над применением таких методов как Assembly.LoadFrom() и ему подобных.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: BlackBox всерьёз
От: Трурль  
Дата: 07.12.05 07:53
Оценка: 19 (2)
Здравствуйте, Sinclair, Вы писали:

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


Думаю, по той же причине, по которой требуется присутствие break в case.
Re[8]: BlackBox всерьёз
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 07.12.05 09:28
Оценка: -3
Здравствуйте, Sinclair, Вы писали:

S> Вместо того, чтобы поносить несравненно более распространенный по сравнению с обероном дотнет лучше подумай, почему в нем приняты такие решения, а не другие.


Да я злого умысла в этом не усматриваю, объясняю проще — глупостью.
Re[9]: BlackBox всерьёз
От: Пацак Россия  
Дата: 07.12.05 09:31
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Думаю, по той же причине, по которой требуется присутствие break в case.


А что не устраивает в брейке?
Ку...
Re: Справедливости ради: WinCE - это real-time ОС
От: Cyberax Марс  
Дата: 07.12.05 10:01
Оценка:
SilverCloud wrote:

> MS>Надеюсь Вы понимаете, что Windows/Linux/Mac не являются системами

> реального времени.
> Выделенная версия Windows — таки является

WinCE — это ОС "мягкого" (soft) realtime'а. То есть ситуации, когда
гарантия на точное время отклика не дается.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[8]: BlackBox всерьёз
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 07.12.05 10:55
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>
/addmodule:<file list>        Link the specified modules into this assembly


Правильно ли я понял, что это есть возможность прилинковать к одному dll файлу несколько других dll файлов получив "мульти-dll" файл?

Если так, то тогда становится понятно почему у модуля нет персонального имени. В таком случае, ситуация еще более плачевна чем я думал...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.