iZEN wrote: > ISO — вот это организация, причём международная, независимая от частных > фирм и инвесторов. CLR ещё не входит в планы стандартизации на уровне ISO.
Для CLR уже есть ISO-стандарт, принятый через fast-track процесс.
> Ладно, берём вирус msblast, который выбивает сервис RPC с > пользовательского уровня!!! Такое однозначно не пройдёт в *.NIX.
Sendmail?
Здравствуйте, eao197, Вы писали:
E>Тем не менее, разговор свелся к обсуждению интеграции различных GUI приложений. Интересно, имел ли в виду Kisloid именно GUI? Или же и server side так же.
Вообще я имел ввиду компонентно ориентированные технологии нативные для Linux OS, как например COM для виндов, а теперь и .NET. И вот чего я еще не понимаю в ваших рассуждениях это то, что КОП вы привязываете к ГУИ и серверных приложений. Исходя из своего опыта работы с GUIшными так и Server-Side проектами, могу сделать вывод, что разницы нет. Очень хорошим чистым и наглядным примером компонентно ориентированной технологии является на мой взгляд .NET. Ну так вот, покажите мне на его примере разницу при написании гуишных и серверных приложений ? .NET сам по себе компонентный. На мой взгляд (может и ошибочный) неверно разделять КОП для гуи и серверных приложений.
ЗЫ: честно говоря нет желания учавствовать в данной дискуссии т.к. как правильно отметили тема превратилась во флейм, прибежели "великие гуру" "линуксоиды", обозвали всех "глупыми виндузятниками", да даже кто то предложил увольнять все кто пользуется вордом (таких наверное процентов 90 от всех АйТи специалистов "которым не место в АйТи") Вот честное слово, хоть в мед энциклопедию вводи термин "синдром линуксоида" (можете читать как "синдром чувства элитизма"). Ничего против Линукса не имею, ибо сам год назад перешел, я даже ЗА! Но когда вот приходят товарищи "линуксоиды" говорят что я ламер виндовый, становится тошно и хочется плюнуть на эту ОС и быть среди более адекватных людей.
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Здравствуйте, Cyberax, Вы писали:
>> C>С server-side в Unix все нормально. >> При правильном проектировании любой, сколь угодно сложный ГУЙ — это >> тонюсенькая (и легкоотрываемая) прослоечка над "server-side". C>Агащазблин. Рассчет 3D-поверхностей и работу с ними вы мне тоже из моего C>текущего проекта предлагаете на сервер вынести?
Ну формально легко выносится, даже OpenGL именно на этой идеологии построен
Здравствуйте, eao197, Вы писали:
K>> Боюсь, мне у них учиться нечему... У нас ведь и так есть всё то же что и у них. Наигрались в прошлом и выкинули на помойку — а они, вендузятники, подобрали. И объектные компонентные модели были, и унифицированные рантаймы. Всякого добра хватало. Много лет назад отбраковали.
E>Имхо, научится всегда есть чему, но это уже офтопик.
Увы, увы. Я в дао виндового программувания не обнаружил ни-че-го, что не было бы когда либо уже опробовано и отброшено за ненадобностью в мире более серьёзных разработок.
Если вы думаете, что я не знаю, как они мыслят, не знаю их методов и технологий — то вы ошибаетесь. Вынужденно касался этой гадости. А вот они почему-то не желают даже знать наших методов. Ленятся, что ли?
Здравствуйте, Cyberax, Вы писали:
C>А если не учитывать форму кузова, то в итоге получится автомобиль C>советского производства.
Почему тогда Форд свой Zeltec пихает и в седаны, и в хетчбеки?
C>Ну так покажите эти GUI. И их пользователей. Какие проблемы?
Зачем? Я уже приводил пример того, что ещё лучше и что общеизвестно. Вы пример проигнорировали (понимаю, понимаю, неудобные аргументы лучше всего просто не замечать).
Здравствуйте, Kisloid, Вы писали:
E>>Тем не менее, разговор свелся к обсуждению интеграции различных GUI приложений. Интересно, имел ли в виду Kisloid именно GUI? Или же и server side так же.
K>Вообще я имел ввиду компонентно ориентированные технологии нативные для Linux OS, как например COM для виндов, а теперь и .NET. И вот чего я еще не понимаю в ваших рассуждениях это то, что КОП вы привязываете к ГУИ и серверных приложений. Исходя из своего опыта работы с GUIшными так и Server-Side проектами, могу сделать вывод, что разницы нет. Очень хорошим чистым и наглядным примером компонентно ориентированной технологии является на мой взгляд .NET. Ну так вот, покажите мне на его примере разницу при написании гуишных и серверных приложений ? .NET сам по себе компонентный. На мой взгляд (может и ошибочный) неверно разделять КОП для гуи и серверных приложений.
Боюсь, что на примере .NET показать не смогу, ибо не .NET-овский я специалист.
Только вот unix way строится на том, чтобы иметь несколько небольших приложений, каждый из которых выполняет отдельную задачу и которые общаются друг с другом с помощью простых коммуникационных механизмов. Из этого следует, что если есть server side приложение, которое должно выполнять задачи A, B, C и D, то в духе unix будет не размещать все это в одном монолитном приложении, а запускать отдельными процессами, каждый из которых обрабатывает свою задачу. В зависимости от типа приложения эти процессы могут работать как параллельно (например, используя сокеты для взаимодействия), последовательно (как связка tar+gz или svnadmin+bzip2, или find+xarg+еще что-то), либо заменяя друг друга и передавая информацию друг другу либо в виде аргументов командной строки, либо через временные файлы.
Разделение лично я делаю потому, что для server side, который не имеет собственного интерактивного интерфейса все это дело можно спрятать за различными shell-файлами, демонами и прочим. В случае же с GUI необходимость редактирования или отображения составного документа в _одном_ окне какой-то программы должно означать, что все необходимые для отображения частей документа каким-то образом должны быть скомпанованы в одно общее приложение.
K>ЗЫ: честно говоря нет желания учавствовать в данной дискуссии т.к. как правильно отметили тема превратилась во флейм, прибежели "великие гуру" "линуксоиды", обозвали всех "глупыми виндузятниками"
Предлагаю не обращать внимание на подобные проявления экстремизма. Вести конструктивную дискусию в наших силах.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Cyberax, Вы писали:
C>С Mathematica так не получится (она OLE2 не поддерживает).
???
Очень даже поддерживает. Только вот маловато возможностей этого ущербного OLE.
C>А вот с Visio — вполне. Данные к диаграмме (таблица какая-нибудь, C>например) привязываются через OLE Linking, все это сохраняется в C>документ. На компьютерах, где нет Visio будет использоваться сохраненное C>WMF-описание встроенного объекта.
У Visio и задачи существенно попроще, можно и WMF-ом обойтись. А как что посложнее — вся OLEшечная инфраструктура в конкретном пролёте.
>> Да и сами посудите — много ли можно наавтоматизировать на Вижуал Васике?!? C>Да сколько угодно: C>1. VB — сам по себе вполне нормально подходит для автоматизации.
Нет. Не подходит. Тяжелый слишком.
C>2. Делается внешний компонент и подключается к Word'у через механизм C>Addin'ов.
Такие трудности — и ради какой-то мелочи? Почему вы так любите создавать себе трудности и героически их преодолевать?
C>3. Управляем Word'ом полностью из внешней системы (через OLE2, на любом C>языке, в том числе и на Haskell).
C>Агащазблин. Рассчет 3D-поверхностей и работу с ними вы мне тоже из моего C>текущего проекта предлагаете на сервер вынести?
Именно так! Ещё раз посмотрите на Wolfram Mathematica и на то, как к ней приделываются произвольные способы отображения тех самых 3D-поверхностей (одна из примочек, которая через OpenGL, точно свободно доступна).
Просто постарайтесь поучиться правильно проектировать системы. Забудьте старые привычки, они вам очень мешают жить!
Здравствуйте, Kisloid, Вы писали:
K> Очень хорошим чистым и наглядным примером компонентно ориентированной технологии является на мой взгляд .NET.
?!?
В .NET из компонентностей есть только довольно примитивные формы RPC и сериализации и интерфейс ко всё тому же OLE. Ничего чистого и тем более наглядного не прослеживается — нет даже общей идеологии.
K> На мой взгляд (может и ошибочный) неверно разделять КОП для гуи и серверных приложений.
+1
K> да даже кто то предложил увольнять все кто пользуется вордом (таких наверное процентов 90 от всех АйТи специалистов "которым не место в АйТи")
А 90% и надо бы уволить. Тогда софт станет лучше и безглючнее. Вы поработайте для сравнения в команде, где весь документооборот на вордах, и в команде, где с одной стороны docbook, а с другой — bugzilla+cvszilla. Поймёте, почему вторая команда будет свысока смотреть на первую.
K> Но когда вот приходят товарищи "линуксоиды" говорят что я ламер виндовый, становится тошно и хочется плюнуть на эту ОС и быть среди более адекватных людей.
Ламер — не тот, кто пользуется виндовсом (я вот почти только под виндовс и писал всегда), а тот, кто не желает думать своей головой и ведётся на дешевый appeal to authority.
Я всячески пытаюсь свести данную дискуссию к обсуждению исключительно объекивных технических свойств разных компонентных моделей — но оппоненты постоянно скатываются на ту или иную гуманитарно-религиозную fallacy.
Здравствуйте, iZEN, Вы писали:
ZEN>Здравствуйте, Андрей Хропов, Вы писали:
iZEN>>>А кто сказал, что COM и .Net — компонентные технологии? АХ>> COM = Component Object Model. ZEN>Маркетинг. Чтобы покупали виндовс.
Так ты спрашиваешь кто сказал? Microsoft сказал назвав так технологию.
iZEN>>>Они обе завязаны на реестр и Windows. АХ>>COM да, .NET — в принципе нет (реализация от MS — да). АХ>>Но при чем здесь компонентность? ZEN>Компонентность подразумевает компонентность. Хотя да, здесь я с модульностью попутал.
При чем здесь завязанность на реестр и компонентность или модульность?
ПО твоему что сборки .NET — не модули?
iZEN>>> Даже в Mono сталкиваются с неожиданными трудностями по реализации точка-нет, АХ>>Извините, .NET — это международный стандарт, который с Windows никак не связан.
ZEN>Шарашка под названием ECMA, которую спонсируют Intel, Apple и Microsoft, не такая уж и иеждународная организация по стандартизации.
Ага, конечно . см. здесь.
Цитата:
ECMA was founded in 1961 to standardise computer systems in Europe.
В 1961 ни Intel, ни Apple, ни Microsoft, ни Sun не существовало. Только IBM был.
ZEN>Вот когда туда войдут IBM и Sun, тогда можно будет говорить об отраслевых стандартах, но не более.
Железная логика. То есть 3 ведущих компании — это не кворум, а 5 — уже кворум.
А как же без Sony, а без AMD?
В общем ерунду говоришь.
АХ>>В Mono сталкиваются с трудностями в основном при реализации поведения WinForms точно как в Windows, но это уже немного другое. ZEN>Выходит, что точка-нет несовсем компонентна, если нельзя просто взять и переписать нужный компонент (библиотеку) без затрагивания остальной части (системного, низкоуровневого) кода.
Базовые сервисы, взаимодействующие с ОС, такие как GUI надо переписывать под конкретную ОС/GUI framework.
Сложность реализации уже зависит от ОС/GUI framework. Кто сказал что это будет просто?
iZEN>>> не говоря уже о реализации COM на не-MS-платформах. Эти т.н. "компонентные технологии" не являются таковыми, так как компонентные технологии должны быть не зависимы от низкоуровневой программной платформы, на которой они работают. АХ>>А что компонентность обязательно включает в себя платформонезависимость? АХ>>Я здесь этого не нашел.
ZEN>Компонентность необязательно должна быть платформонезависимой и в точка-нэт это так.
Сам себе противоречишь (см. выделенное)
iZEN>>>Приложения ведут себя иначе — не как в Windows, где Explorer или глючное пользовательское приложение легко может свалить всю систему в BSOD. АХ>>Это было во времена Win9x. АХ>>В 2000/XP/Server 2003 все гораздо лучше. Я не помню когда у меня последний раз был BSOD не по причине железа, вышедшего из строя. ZEN>Есть два узких места в линейке Windows NT, которые могут привести к BSOD или зависанию: некорректные драйверы видеокарты и драйвер печати. Часть кода работает в режиме ядра, хотя по всем канонам весь их код должен работать в режиме пользователя. Другой пример из моей практики: USB-устройство, втыкаемое пользователем, может повесить наглухо операционку, драйверы USB родные-виндовые. Это спорные моменты, конечно же, так как всё-таки приведённые примеры "работают" на уровне драйверов, что к пользовательским процессам вроде бы не относится.
Ха, а в Linux наверное драйвера не в режиме ядра работают? здесьпишут:
Today Linux is a module-loading monolithic kernel. Device drivers and kernel extensions typically run in ring 0, with full access to the hardware
Так что некорректный драйвер может так же легко убить систему.
ZEN>Ладно, берём вирус msblast, который выбивает сервис RPC с пользовательского уровня!!! ZEN>Такое однозначно не пройдёт в *.NIX.
А под Linux эксплойтов нет ?
Почитайте здесь. Ошибку то поправили, но не надо утверждать что в Linux все так хорошо. Просто эксплойты в Windows активнее ищут, поэтому и больше находят. А так багов и в Линуксе хватает.
Здравствуйте, eao197, Вы писали:
E>Только вот unix way строится на том, чтобы иметь несколько небольших приложений, каждый из которых выполняет отдельную задачу и которые общаются друг с другом с помощью простых коммуникационных механизмов.
Возникает вопрос удобства использования, надежности и скорости данных механизмов. Вот все время слышу пайпы. Рассмотрим именованные (т.к. пока не интересует взаимодействие процессов родитель-потомок), по сути это есть файлы с дисциплиной организации fifo. Вот исходя из того что это есть файл у меня возникает такое смутное сомнение что оно будет медленным. Самому их пока не приходилось юзать, поэтому и спрашиваю
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Kolhoz wrote: > C>А если не учитывать форму кузова, то в итоге получится автомобиль > C>советского производства. > Почему тогда Форд свой Zeltec пихает и в седаны, и в хетчбеки?
Потому как специально было задизайнено с учетом обоих кузовов.
Или с кузова были сделаны под размер двигателя. Или ком
> C>Ну так покажите эти GUI. И их пользователей. Какие проблемы? > Зачем? Я уже приводил пример того, что ещё лучше и что общеизвестно.
Какой пример? wxMaxima? Я о нем и не слышал, хотя с учеными часто работаю.
Здравствуйте, Kisloid, Вы писали:
K>Здравствуйте, eao197, Вы писали:
E>>Только вот unix way строится на том, чтобы иметь несколько небольших приложений, каждый из которых выполняет отдельную задачу и которые общаются друг с другом с помощью простых коммуникационных механизмов.
K>Возникает вопрос удобства использования,
Опять же согласно принципу KISS в каждом случае используется наиболее удобный метод коммуникаций.
K> надежности и скорости данных механизмов. Вот все время слышу пайпы. Рассмотрим именованные (т.к. пока не интересует взаимодействие процессов родитель-потомок), по сути это есть файлы с дисциплиной организации fifo. Вот исходя из того что это есть файл у меня возникает такое смутное сомнение что оно будет медленным. Самому их пока не приходилось юзать, поэтому и спрашиваю
Успокойтесь. Всё работает очень быстро. Посмотрите, например, на X11, где вся графика гоняется через unix domain socket, если локально, и через, например, tcp, если удалённо. И ничего, работает. Ну а для особо чувствительных задач — фильмы, игры — можно и shm заюзать, но обязательно оставив возможность обойтись без него, во имя священной Масштабируемости.
Здравствуйте, Cyberax, Вы писали:
C>Потому как специально было задизайнено с учетом обоих кузовов.
Нет. Не обоих — их сильно больше, это одно время был самый популярный 1.6л движок.
C>Или с кузова были сделаны под размер двигателя.
Во! Начинаете понимать!
>> C>Ну так покажите эти GUI. И их пользователей. Какие проблемы? >> Зачем? Я уже приводил пример того, что ещё лучше и что общеизвестно. C>Какой пример? wxMaxima? Я о нем и не слышал, хотя с учеными часто работаю.
Wolfram Mathematica. Чистейший unix way в лучших его проявлениях. И с прозрачным интерфейсом к OLE2 при этом, только вот, не хватает силёнок у OLE для такой мощщи.