OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 20 Июнь, 2025 02:29

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 07 Февраль, 2006 23:36 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Если взаимодействуют два отдельных приложения - то неважно на кластерах они или нет. Насчет стиля только сомнения могут быть. Вполне возможно что такая связка и не соответствует в чем-то оригиналу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 08 Февраль, 2006 05:58 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
GUEST писал(а):
Как вы оперативно ответили, Vlad. Удивительно даже. В другое время ждешь - не дождешься.


Извини, отвечаю в свободное время.

GUEST писал(а):
Я впрочем не настаиваю. С точки зрения менеджера она действительно неуправляема им. Но в общем плане о неуправляемости говорить не приходится.


В каком общем плане?

GUEST писал(а):
Мой вариант ("автономная") нейтрален. И в дальнейшем я буду использовать именно его.


Я не собираюсь отстаивать свое предложение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 08 Февраль, 2006 06:13 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Алексей Елин писал(а):
Программы на "обероне" не "управляются", они просто безопасны, что обеспечивается не фреймворком (как в .net), а синтаксисом языка.


Демагогия какая-то. В каком месте синтаксис оберона обеспечивает контроль выхода за пределы массива или ошибочное приведение типов? А адресной арифметики в managed коде на уровне синтаксиса в том же C# тоже нет.

Алексей Елин писал(а):
Отсутсвует и промежуточное языковое звено (IL ассемблер), так как нет необходимости поддерживать большое семейство родственных языков.


Ну отсутсутствует, и чего?

Алексей Елин писал(а):
Отсюда и большая, по сравнению с .net, производительность - нет необходимости "управлять" потенциально небезопасным кодом (отсутствуют лишние проверки).


Где результаты тестов?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 08 Февраль, 2006 23:50 

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Демагогия какая-то. В каком месте синтаксис оберона обеспечивает контроль выхода за пределы массива или ошибочное приведение типов?

В спецификации уважаемый... На самом деле все это требования ЕДИНСТВЕННОГО языка, и можно все смело оптимизировать не оглядываясь на другие языки (а в .net - приходится оглядываться! - это и есть managed). Более того, сами синтаксические конструкции были выбраны с учетом максимальной эффективности их компиляции и оптимизации, а все то, без чего можно обойтись (но, возмножно, нельзя эффективно скомпилировать) - было выкинуто. В этом и отличае изначальных постановок задач у .net и "оберон". И язык промежуточный для того же - чтобы объединять разные языки.
Я хочу подчеркнуть что считаю .net - отличной платформой для определенного круга задачь. Но далеко не все задачи можно эффективно решать в .net. А в ББ - гораздо больше (вот еще бы многозадачность :? )
Цитата:
Где результаты тестов?

Возможно есть тесты, где .net быть будет в вигрыше, я не буду априорно спорить. Но я знаю, что на задачах обработки нестандартных данных - il ассемблер проигрывает (и именно по своей универсальной природе) . Мне пришлось учавствовать в оптимизации двух задачь под нет: цифровая обработка изображений (RGBA формат) и парсинг больших текстовых файлов в нестандартных кодировках. Обе задачи оптимизировалиь в тесном контакте со специалистом из MS. Результат - всегда быстрее оберон. Совет специалиста из MS - сделайте нативную библиотеку на C++ и подцепите к .net...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 09 Февраль, 2006 00:08 

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Демагогия какая-то.

Дополнительно насчет "демагогии". На самом деле все далеко не так однозначно как кажется. Приведу пример из другой точной науки - математики:
Широко извесна аксиома параллельности Евклида, которая гласит: параллельные прямые не пересекаются (а также две ей противоположные: параллелные прямые пересекаются/расходятся). Однако окола ста лет назад по поводу этой аксиомы разгарались отнюдь не шуточные страсти. И одним из камней предкновения был именно вопрос о терминах. дело в том, что подчти из одних и тех - же аксиом (не считая аксиомы параллельности) были получены в общем то похожие, но в частностях абсолютно противоположные результаты. И когда адепты одной "школы" начинали употреблять термин "рассотояние между прамыми" - другие приходили в бешенство, говоря что такой термин не может быть даже определен - и все были правы. Все дело в базовых понятия. И ТУТ именно так. Все вроде похоже, так как описывается общая "реалность" ("модульно-структруные" языки программирования), но все дело именно в "ОТТЕНКАХ" смысла, из которых можно сделать ой как неодинаковые выводы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 09 Февраль, 2006 01:04 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Алексей Елин писал(а):
Цитата:
Демагогия какая-то. В каком месте синтаксис оберона обеспечивает контроль выхода за пределы массива или ошибочное приведение типов?

В спецификации уважаемый...


Цитату приведешь?

Алексей Елин писал(а):
На самом деле все это требования ЕДИНСТВЕННОГО языка, и можно все смело оптимизировать не оглядываясь на другие языки (а в .net - приходится оглядываться! - это и есть managed).


Пример?

Алексей Елин писал(а):
Более того, сами синтаксические конструкции были выбраны с учетом максимальной эффективности их компиляции и оптимизации,


Синтаксические конструкции могут упрощать оптимизацию. Учитывая то, что оптимизит все равно компилятор, а не человек, не вижу смысла в том, чтобы жертвовать ради этого наглядностью/удобностью и т.д.

Алексей Елин писал(а):
а все то, без чего можно обойтись (но, возмножно, нельзя эффективно скомпилировать) - было выкинуто.


И это проблема. Язык, приносящий в жертву простоте компилятора все остальное, интересен только как язык удобный для компилирования.

Алексей Елин писал(а):
В этом и отличае изначальных постановок задач у .net и "оберон".


И в этом причина "непопулярности" оберона. А вовсе не маркетинг...

Алексей Елин писал(а):
Но далеко не все задачи можно эффективно решать в .net. А в ББ - гораздо больше (вот еще бы многозадачность :? )


Я плакаль... (с)

Алексей Елин писал(а):
Цитата:
Где результаты тестов?

Возможно есть тесты, где .net быть будет в вигрыше,


Да ладно. Покажи тесты, где BB не в проигрыше :) Будет очень интересно посмотреть.

Алексей Елин писал(а):
Результат - всегда быстрее оберон. Совет специалиста из MS - сделайте нативную библиотеку на C++ и подцепите к .net...


Код в студию!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 09 Февраль, 2006 23:24 

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Код в студию!

Не собираюсь я вам ничего доказывать. Просто я излишне углубился в ненужные (не относящиеся к теме вопроса) технические подробности и вы тут-же подхватили. Для обсуждения подобных тем есть другие ветки, вроде Си vs Паскаль. Здесь же речь идет о многопоточности и проблемах ее введения конкретно в ББ. Давайте лучьше обсудим конкретный вопрос. К тому же, как я понял, у вас богатый опыт парралельного программирования...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 09 Февраль, 2006 23:48 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Один из собеседников писал(а):
Не собираюсь я вам ничего доказывать. Здесь же речь идет о многопоточности и проблемах ее введения конкретно в ББ. К тому же, как я понял, у вас богатый опыт парралельного программирования...

Интересно, откуда сделан этот вывод. Тема образована модератором из темы посвященной именно многопоточности. В общем с тем же составом участников. Другое дело, если обсуждается оригинальная идея. Тогда выигрывают все. А сейчас, увы.


Последний раз редактировалось Сергей Оборотов Пятница, 10 Февраль, 2006 00:25, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 10 Февраль, 2006 00:08 

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
А кто этот специалист? Возможно он связан рамками своей компании. Не слышал, чтобы MS давала возможность участвовать своим сотрудникам в проектах OpenSource.

Он не был в курсе о сравнении с обероном :) . Просто давал советы как оптимизировать код на .net (когда еще никто не знал толком что это такое). Нашли его через форум тех. поддержки MS, так что ни в каких проектах он не учавствовал... но это и не запрещено. Есть такой граф. редактор Paint .NET - он OpenSource и прямо поддерживается MS. В нем как раз на все теже грабли (что и мы) и наступили. Но мы в конце концов реализовали все через нативный код (наш проект не OpenSource).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 10 Февраль, 2006 02:34 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Алексей Елин писал(а):
Здесь же речь идет о многопоточности и проблемах ее введения конкретно в ББ. Давайте лучьше обсудим конкретный вопрос.


Давайте. Хотя вроде уже пришли к выводу, что наиболее работающий вариант - несколько инстансов + передача сообщений и, очевидно, механизм сериализации.

Алексей Елин писал(а):
К тому же, как я понял, у вас богатый опыт парралельного программирования...


Не очень богатый. И я никогда не сталкивался с устройством многопоточных GC.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 10 Февраль, 2006 02:46 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Алексей Елин писал(а):
Он не был в курсе о сравнении с обероном :) . Просто давал советы как оптимизировать код на .net


Так вот. Практически единственными возможностями, играя которыми из С++ можно выжать более эффективный код (по сравнению с .NET), остались отсутствие GC и шаблоны. Ни того ни другого в оберонах нет. Поэтому откуда был сделан вывод о том, что совет о применении "нативной библтотеки на С++ для большей эффективности", можно применить и к оберонам - я не понял.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 10 Февраль, 2006 21:54 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Я думаю, что этот вывод был сделан в результате проведения тестов Oberon- и .Net варианта. Хотя тесты могут давать не то что заявляется. Учитывали ли они время подготовки приложения к работе? Оно, вероятно, все-таки разное.
P.S. Однако, этот вопрос действительно лучше отдельно обсуждать. Меня, например, волнует относятся ли возможности специализированных решений больше к возможностям окружения или к установившемуся стилю использования среды.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 11 Февраль, 2006 00:59 

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Практически единственными возможностями, играя которыми из С++ можно выжать более эффективный код (по сравнению с .NET), остались отсутствие GC и шаблоны.

Да, да. То-то уже упомянутый Paint .Net (http://www.eecs.wsu.edu/paint.net/) тормозит безбожно по сравнению с любым нормальным (нативным) графическим редактором. А в разработке учавствует между прочим MS (и крайне в ней заинтересована как в рекламе возможностей .net). И GC тут ни причем - MS предоставила достаточно механизмов для "тонкого" управления сбором мусора, чем Paint .Net с успехом пользуется. А как влияет на скорость готового кода препроцессор я вообще не понимаю.

Цитата:
Давайте. Хотя вроде уже пришли к выводу, что наиболее работающий вариант - несколько инстансов + передача сообщений

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 11 Февраль, 2006 02:30 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Алексей Елин писал(а):
Да, да. То-то уже упомянутый Paint .Net (http://www.eecs.wsu.edu/paint.net/) тормозит безбожно по сравнению с любым нормальным (нативным) графическим редактором.


"edu" - это что, еще одна студенческая поделка? ;)

Алексей Елин писал(а):
А в разработке учавствует между прочим MS (и крайне в ней заинтересована как в рекламе возможностей .net).


Это ни о чем не говорит. Вот если бы она туда грохнула денег, как в фотошоп...

Алексей Елин писал(а):
А как влияет на скорость готового кода препроцессор я вообще не понимаю.


Начни с понимания того, что шаблоны это не препоцессор.

Алексей Елин писал(а):
Да, так оно и есть. Просто сначала хочется разработать концепцию интерфейса (модуля/модулей) для посылки/приема сообщений, а уж затем что-то реализовывать. Хочется чего-то не очень сложного...


Ну вот тебе с ходу:

Код:
message_result send_message( instance&, const message & );
message_connection subscribe_message( const message_type &, const handler & );


Проще некуда :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 11 Февраль, 2006 08:53 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Пожалуй, стоит добавить в этот список
Код:
void unsubscripe_message( const message_connection& ).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 11 Февраль, 2006 09:10 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
GUEST писал(а):
Пожалуй, стоит добавить в этот список
Код:
void unsubscripe_message( const message_connection& ).



Для отписки есть message_connection, который возвращается при подписке. Но это непринципиально. Просто еще один уровень индирекции иногда может оказаться удобнее.

GUEST писал(а):
Однако, не лучше ли вначале определиться с тестовой задачей и начать её реализовывать. А потом и до обобщений в интерфейсе дойдем.


Ну это к тому, кому многозадачность нужна прямо сейчас.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 28 Август, 2006 06:58 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
[quote="Алексей Елин"]Абсолютно согласен. К сожалению для меня это ОЧЕНЬ большой барьер для использования BB - остуствие ПОДДЕРЖКИ параллельного программирования хотя бы в каком-то виде.[/quote]
imho ona prosto tam i ne nugna sovershenno))
BlackBox eto sreda dlya razrabotki i zapuska PRIKLADNYH programm. dlya kagdoy zadachi - svoya, lichnaya. Komponentnost BB oznachaet tesnuyu integraciju chastey, eto meshaet rasparallelivaniuy v principe!
Mnogozadachnost ge eto delo OS. eto EE problema kak delat neskolko zadach srazu. A esli zadacha hochet delat neskolko deystviy srazu, ona prosto doljna imet v sebe svoy lichny prostenkiy kooperativny specializirovanny sheduler procedur vnutri. Eto obychno na poryadok bystree chem ispolzovat universalnie
(i tormoznie) sredstva OS. No delo ne tolko v skorosti a eshe i
v bolshey prostote i determinirovannosti resheniya. To est - glukov prosto ne budet... polistayte obzor OS Portos, Contiki...
kstati sistema Oberon toge odnozadachna... pochemu OldNick tak sdelal, a?))... odnozadachnost ne meshaet ni processoru ni polzovatelu delat neskolko del srazu))...
eshe primery... est odnozadachnie bystrie web-servery (tipa thttpd),
servery baz dannyh... i tak dalee... mnogopotochnost prikladnym programmam NE NUGNA! SOVSEM!
a vot NABOR iz neskolkih programm konechno moget rabotat na neskolkih processorah srazu, obmenivatsya dannymi, reshat obschuyu zadachu... eto uge vygodno v plane ispolzovaniya kesha i ekonomii propusknoy sposobnosti pamyati...

tak chto imho luchshe by vsem jelayuschim sosredotochit usuliya na portirovanii originalnogo BlackBox pod NetBSD i Linux, na razvitii ego kompilyatora... vot eto bylo by ochen polezno... i ne zanimatsya resheniem problem kotoryh na samom dele NET...

vot imenno ETO budet v duhe Oberona))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 28 Август, 2006 13:17 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
CheshireCat писал(а):
A esli zadacha hochet delat neskolko deystviy srazu, ona prosto doljna imet v sebe svoy lichny prostenkiy kooperativny specializirovanny sheduler procedur vnutri. Eto obychno na poryadok bystree chem ispolzovat universalnie
(i tormoznie) sredstva OS.


По моему опыту "устраивание кооперативной многозадачности" добавляет много головной боли (помимо написания самого шедулера). Намного больше, чем средства синхронизации в случае вытесняющей. Даже если речь идет о "вещи в себе". Если же программа еще собирается как-то взаимодействовать с многозадачной ОС, то тут вообще начинаются сплошные извращения, тормоза и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 29 Август, 2006 03:29 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
popodrobnee pliz, s primerami boli))
posmotrim i podumaem, realnye li byli problemy...
neoborimie trudnosti s deleniem dlinnogo vychisleniya na etapy?

ved pod shedulerom ne sleduet ponimat nechto slognoe,
s prioritetami i t.p... obychnaya procedura eto toge sheduler))
on nastolko prost chto ih moget byt neskolko na vse sluchai))

kstati sudya po literature golovnaya bol naoborot padaet.
potomu chto strogo determinirovano vypolnenie i prosto ottestirovat.
a "dopolnitelnie sredstva sinhronizacii" prosto ne nugny...

vzaimodeystvie ge s OS odinakovo slognoe nezavisimo ot "potochnosti"
programmy...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 29 Август, 2006 09:59 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
CheshireCat писал(а):
popodrobnee pliz, s primerami boli))
posmotrim i podumaem, realnye li byli problemy...
neoborimie trudnosti s deleniem dlinnogo vychisleniya na etapy?


Боль в том, что вообще надо что-то делить. Из-за этого в коде появляются инородные включения в лице всяких callback'ов и т.п.

CheshireCat писал(а):
ved pod shedulerom ne sleduet ponimat nechto slognoe,
s prioritetami i t.p... obychnaya procedura eto toge sheduler))
on nastolko prost chto ih moget byt neskolko na vse sluchai))


Ну конечно. Представь простейшую ситуацию - интерфейсный поток (кнопочки, окошки) и вычислительный. И попробуй написать "шедулер", который будет нормально распределять ресурсы между обоими (а не тупо переключаться с одного на другой). Нет, я понимаю если речь идет о какой-то железке, где все в твоих руках и даже ОС нет. Тогда можно все по тактам расчитать под конкретный проц. А если речь идет об обычной винде/маке/линуксе - программа с таким "шедулером" будет жрать 100% ресурсов и при этом ничего полезного не делать.

CheshireCat писал(а):
kstati sudya po literature golovnaya bol naoborot padaet.
potomu chto strogo determinirovano vypolnenie i prosto ottestirovat.


Какого года эта литература? Народ вовсю многоядерными процами затаривается, а вы нам тут W3.11 рекламируете....

CheshireCat писал(а):
a "dopolnitelnie sredstva sinhronizacii" prosto ne nugny...


В общем случае все равно нужны.

CheshireCat писал(а):
vzaimodeystvie ge s OS odinakovo slognoe nezavisimo ot "potochnosti"
programmy...


Очень хочу посмотреть на однопотоковую работу с COM-портом в винде.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2025, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB