Re[21]: Стивен Синофски: MS, давай, до свидания!
От: michae1  
Дата: 15.11.12 14:11
Оценка:
Здравствуйте, hi_octane, Вы писали:

_>Версионность тут не причём. Люди пишут программы с ошибками. Особенно много ошибок в то время когда программа только разрабатывается. Т.е. человек не знает ещё что он собирается вызывать, ещё не знает что будут вызывать у него, не знает что можно передавать а что нет. И COM только усложняет этот этап. Если бы сразу ввели в стандарт требования на документирование самим IUnknown поддерживаемых им интерфейсов и методов, всё было бы в тысячи раз проще. И Ole Automation изобретать не пришлось бы.


ИМХО, подход неверный, нужно работать с целевыми интерфейсами — наследниками — IUnknown, тогда и проблем таких не будет. Ну а с точки зрения проектирования, это очень хорошо, что тебе при создании компонента надо будет сесть и подумать какие интерфейсы тебе нужны, как будет взаимодействие происходить и т.д.

_>А то что чёрным ящиком должна быть только реализация. А в случае с COM чёрным ящиком является вообще всё. Что этот объект может, к чему ещё его можно скастить, какие методы у него будут если он успешно скастится к чему-то ещё.


Набор интерфейсов определяет доступную ф-сть, у тебя столько же информации как и при испоользовании скажем API какой-нибудь библиотеки.

_>Ну то есть идея такая плохая что больше никто у себя подобное реализовать не захотел, а технология построенная на этой идее хорошая? А может закономерно — хреновую идею уже никакая реализация не спасёт?


есть нечто похожее — CORBA, не забывай, что реализация требует больших вложений (тем более реализация такой слоджной системы).

M>>Чего пенять на всю технологию, если обжегся на IE? С другой стороны, посмотри на описание объектной модели офиса — все четко описано, пусть и не очень подробно.

_>Офис? А видел как оттестированный в ActiveX Control Test Container контрол, ведёт себя совсем по другому в Word, по третьему в Excel, и совсем не позволяет себя вставить в PowerPoint? Ведь тот же COM, что ж опять всё не так-то. А им оказывается какой-то очередной I***Site* понадобился, и на его нехватку они реагируют кто как.

И где же его тестировали? Согласен, что офис криво поддерживает ActiveX, но сам-то офис — сплошной COM и работает исправно.

M>>А как иначе? Откуда прога знает что ты хочешь? Или ты хочешь работать в стиле "дай мне то не знаю что"? так только в сказках

_>Да в этом стиле куча народу работает. Надо получить размер окна. Есть объект скажем Window, нажимают ., смотрят — какие методы есть. Вбивают наугад Size, есть — хорошо, попались сразу два ClientSize, OuterSize — выбираем который подходит, нет ни одного — поищем тем же способом что-нибудь с Rect, нашлось — отлично, нет — поищем какой-нить Manager, может он знает, и т.д. А в стиле COM — есть объект IWindow, методов всего пара штук, все остальные описаны у IWindow3 скажем, про IWindow3 ты узнаешь только в документации, если есть. А если метод Size описан у какого-нить ISizeableHostedControl, то простым поиском по Window ты его вообще не найдёшь. Отличная технология для программистов.

Ага, только аналогия кривая. Если твой объект Window — базовый класс, то хрен ты получишь свойства наследника. А вот если IWindow2 наследуется от IWindow, то нет проблем с получегтем свойств базового интерфейса.


M>>и что? как недоработка того или иного COM-объекта кидает тень на технологию? Таже ситуация может быть с любой библиотекой.

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

Голову никто не отменял и система не может знать чего ты хочешь.

_>Объект, создаёт вложенные объекты, много. Дальнейший алгоритм работает только с вложенными, посему ссылка на корень успешно грохается смарт-пойнтером при выходе, вложенные тут же умирают, потому что по логике реализации библиотеки они не имеют смысла без корня. А корень умирает — потому что COM требует удаления объекта. Все делают свою работу честно, и заметь, даже циклических ссылок нет. А ошибка есть. Посколько крайнего не найти, всё валим на COM


Разговор об абстрактном коне в вакууме.
Попробую выяснить. У тебя есть com-объект А, который создает множество других com-объектов N1..NN? Где эти com-объекты NN храняться? внутри объекта A?
Re[23]: Стивен Синофски: MS, давай, до свидания!
От: michae1  
Дата: 15.11.12 14:21
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>Здравствуйте, michae1, Вы писали:


КЛ>то, что ты пару раз за карьеру подергал STA объекты, и уже мнишь себя экспертом.


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

M>>было бы что сказать


КЛ>я уже все сказал. вот когда надо будет написать многопоточный COM-exe сервер с UI из IE/Shell, тогда вспомнишь мои слова.


не переживай, я решал сложные задачи на базе COM.
Re[19]: Стивен Синофски: MS, давай, до свидания!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.12 14:38
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>> Мне это недоступно, звиняй.

НС>О чем тогда ты споришь? О том, что Синовский умеет выпускать очень сложный продукт строго в срок и с приемлемым качеством? Так с этим никто и не спорит.

Если ты успел заметить, то я не спорю, а только пытаюсь несколько уточнить своё представление о том, что и как происходит в MS.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[19]: Стивен Синофски: MS, давай, до свидания!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.12 14:42
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ГВ>>При чём тут Unity?

НС>При том что это прекрасный пример того, как линух "не собирается кардинально меняться ради "выигрывания битв".

Хорошо, замнём для ясности, а то сейчас набегут.

ГВ>>Однако, никто же не собирается делать managed-ядро для Линукса

НС>А что, кто то собирается делать managed ядро Windows?

Ну, сейчас, как я понимаю, эту безумную затею уже забросили.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[22]: Стивен Синофски: MS, давай, до свидания!
От: hi_octane Беларусь  
Дата: 15.11.12 14:46
Оценка:
M>есть нечто похожее — CORBA, не забывай, что реализация требует больших вложений (тем более реализация такой слоджной системы).
Чисто по памяти, когда по COM'у первые книжки выходили, CORBA уже вовсю была. Но к счастью стала матёрой legacy, и под видом новой технологии, например Win RT, нам её не выкатывают

M>>>Чего пенять на всю технологию, если обжегся на IE? С другой стороны, посмотри на описание объектной модели офиса — все четко описано, пусть и не очень подробно.

_>>Офис? А видел как оттестированный в ActiveX Control Test Container контрол, ведёт себя совсем по другому в Word, по третьему в Excel, и совсем не позволяет себя вставить в PowerPoint? Ведь тот же COM, что ж опять всё не так-то. А им оказывается какой-то очередной I***Site* понадобился, и на его нехватку они реагируют кто как.

M>И где же его тестировали? Согласен, что офис криво поддерживает ActiveX, но сам-то офис — сплошной COM и работает исправно.

Где тестировали свои контейнеры и контролы MS я не знаю. А сам ActiveX Control Test Container был долгие годы референсной реализацей контейнера и открыт в сорцах. Именно его драли вчистую когда хотели сделать у себя внедрение на манер офисного. И предварительное тестирование тоже на нём делали из-за удобства. Ну и вообще полагались на интуитивное — что технология универсальная, и если заведётся в одном контейнере, то и в остальных тоже. Поэтому облом при внедрении в стандартный офис был особенно неожиданным первые разы

А так вообще на COM работает и Офис, и студия до последнего времени, и IE. Но это больше потому что сил в работоспособность вложено было немеряно.

M>Ага, только аналогия кривая. Если твой объект Window — базовый класс, то хрен ты получишь свойства наследника. А вот если IWindow2 наследуется от IWindow, то нет проблем с получегтем свойств базового интерфейса.

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

M>Разговор об абстрактном коне в вакууме.

M>Попробую выяснить. У тебя есть com-объект А, который создает множество других com-объектов N1..NN? Где эти com-объекты NN храняться? внутри объекта A?

Именно. Один объект создаёт пачку других. По принципам COM где они хранятся меня не волнует, я должен лишь корректно вызывать AddRef/Release. По внутренней логики самой библиотеки, удаление обьекта A делает невалидными все N, поэтому он их резко чистит, или там приводит в нерабочее состояние. smart-пойнтер удаляет A, работоспособность N уходит вслед за ним. Более того, в зависимости от смекалки авторов, иногда экземпляры N тупо удаляются, и вызов их методов в зависимости от того как сошлись звёзды на небе, может как ничего не делать, так и Access Violation устроить. Это я проблему в общем описал, такой которой я её несколько раз в самых разных иерархиях видел. Ну а если хочется конкретики, то DirectX 9 когда я с ним последний раз пересекался, при работе с SwapChain точно также себя повёл, но поскольку глаз намётан и рука уже набита, причина и решение были найдены быстро.
Re[23]: Стивен Синофски: MS, давай, до свидания!
От: alexey_ma Израиль  
Дата: 15.11.12 15:02
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>я уже все сказал. вот когда надо будет написать многопоточный COM-exe сервер с UI из IE/Shell, тогда вспомнишь мои слова.

Если не секрет, какова задача такого сервера? Не лучше ли сделать много однопоточных, ну например как делает сама MS в IE.
Re[13]: Стивен Синофски: MS, давай, до свидания!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.12 15:03
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ГВ>>Что-то у меня складывается обратное впечатление, что он чуть ли не единственный адекватный руководитель в MS:

ЕА>Да, ладно — может он там классный технарь, но руководитель компании из него хуже некуда.

По-видимому, у нас с тобой очень отличается трактовка выражения: "адекватный руководитель". С моей точки зрения, "технарство" — необходимый, но не ключевой скилл.

ЕА>Он за последние пару лет сделал все чтобы уничтожить сообщество лояльных разработчиков МС. История с Сильверлайтом не единственная, но самая показательная — никогда раньше не видел, чтобы компания сама топила новую, феноменально успешную технологию, несмотря на протесты клиентов в угоду личным предпочтениям. Причем делалось это очень демонстративно — типа "а хрен вы куда денетесь". Причем жесткая компания по утоплению сильверлайта началась практически сразу после интервью с Гатри, где он буквально клялся, что все будет развиваться.


Я тут подумал, а какой смысл держаться за технологию, которую надо рихтовать под каждый новый браузер? Это ж ахиллесова пята, а не технология, разве нет? В противовес SL тот же JS поддерживают более или менее все, вне зависимости от их лояльности курсу MS.

ЕА>По мне так то, что избавились от Синофского, лучшая новость о Микрософте для разработчиков


Я этого оптимизма не разделяю, но поглядим.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: Стивен Синофски: MS, давай, до свидания!
От: Евгений Акиньшин grapholite.com
Дата: 15.11.12 15:42
Оценка: 3 (3) +2
Здравствуйте, Геннадий Васильев, Вы писали:

ЕА>>Он за последние пару лет сделал все чтобы уничтожить сообщество лояльных разработчиков МС. История с Сильверлайтом не единственная, но самая показательная — никогда раньше не видел, чтобы компания сама топила новую, феноменально успешную технологию, несмотря на протесты клиентов в угоду личным предпочтениям. Причем делалось это очень демонстративно — типа "а хрен вы куда денетесь". Причем жесткая компания по утоплению сильверлайта началась практически сразу после интервью с Гатри, где он буквально клялся, что все будет развиваться.


ГВ>Я тут подумал, а какой смысл держаться за технологию, которую надо рихтовать под каждый новый браузер? Это ж ахиллесова пята, а не технология, разве нет? В противовес SL тот же JS поддерживают более или менее все, вне зависимости от их лояльности курсу MS.


Одно дело когда отказываешься от технологии по каким-то техническим или маркетинговым причинам и заранее объясняешь своим партнерам почему это сделано. Такой процесс практически всегда идет постепенно, люди успевают хотя бы отбить свои вложения и относятся с пониманием.

Другое дело когда ты активно топишь технологию, потому что у тебя война с отделом, который ее разрабатывает, при этом половина представителей Микрософта говорит, что ничего круче Сильверлайта нет и мы будем это развивать, а другая половина, что Сильверлайт это говно, и его использовать не надо. Офигенно эффективный стиль руководства.


ЕА>>По мне так то, что избавились от Синофского, лучшая новость о Микрософте для разработчиков


ГВ>Я этого оптимизма не разделяю, но поглядим.


Я тоже не уверен, что они теперь результаты такого руководство смогут исправить — поглядим.
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[22]: Стивен Синофски: MS, давай, до свидания!
От: syrompe  
Дата: 15.11.12 15:50
Оценка: :)
Здравствуйте, koandrew, Вы писали:
K>"Не напрямую" — это как?

здесь
Re[15]: Стивен Синофски: MS, давай, до свидания!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.12 15:56
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Другое дело когда ты активно топишь технологию, потому что у тебя война с отделом, который ее разрабатывает, при этом половина представителей Микрософта говорит, что ничего круче Сильверлайта нет и мы будем это развивать, а другая половина, что Сильверлайт это говно, и его использовать не надо. Офигенно эффективный стиль руководства.


Я никогда не следил за новостями SL и потому как-то не в курсе. А что, кто-то из MS говорил, что SL именно не надо использовать?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: Стивен Синофски: MS, давай, до свидания!
От: IT Россия linq2db.com
Дата: 15.11.12 16:06
Оценка: +2
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Я тут подумал, а какой смысл держаться за технологию, которую надо рихтовать под каждый новый браузер? Это ж ахиллесова пята, а не технология, разве нет? В противовес SL тот же JS поддерживают более или менее все, вне зависимости от их лояльности курсу MS.


Кто тебе сказал, что JS не надо допиливать под каждый новый браузер? Ты в курсе сколько кода для совместимости написано в том же jQuery. А SL работает везде ожидаемо одинаково.
Если нам не помогут, то мы тоже никого не пощадим.
Re[15]: Стивен Синофски: MS, давай, до свидания!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.12 16:18
Оценка:
Здравствуйте, IT, Вы писали:

ГВ>>Я тут подумал, а какой смысл держаться за технологию, которую надо рихтовать под каждый новый браузер? Это ж ахиллесова пята, а не технология, разве нет? В противовес SL тот же JS поддерживают более или менее все, вне зависимости от их лояльности курсу MS.


IT>Кто тебе сказал, что JS не надо допиливать под каждый новый браузер? Ты в курсе сколько кода для совместимости написано в том же jQuery. А SL работает везде ожидаемо одинаково.


"Допиливать" и "отсуствует" — не одно и то же, не находишь?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[23]: Стивен Синофски: MS, давай, до свидания!
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 15.11.12 16:34
Оценка:
Здравствуйте, syrompe, Вы писали:

S>здесь


Ну так мы далеко пойдём — давайте тогда говорить, что они не используют ядро винды — потому что сверху есть как минимум два слоя Однако, если взглянуть на это под другим углом, то оказывается, что COM не просто позволяет разрабатывать высокопроизводительные приложения, но и оказывается настолько быстрым, что даже добавление дополнительных прослоек поверх него обеспечивает приемлимое быстродействие
[КУ] оккупировала армия.
Re[16]: Стивен Синофски: MS, давай, до свидания!
От: IT Россия linq2db.com
Дата: 15.11.12 16:44
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

IT>>Кто тебе сказал, что JS не надо допиливать под каждый новый браузер? Ты в курсе сколько кода для совместимости написано в том же jQuery. А SL работает везде ожидаемо одинаково.

ГВ>"Допиливать" и "отсуствует" — не одно и то же, не находишь?

Ты вообще о чём? SL поддерживается всеми браузерами.
Если нам не помогут, то мы тоже никого не пощадим.
Re[17]: Стивен Синофски: MS, давай, до свидания!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.12 17:34
Оценка:
Здравствуйте, IT, Вы писали:

ГВ>>"Допиливать" и "отсуствует" — не одно и то же, не находишь?

IT>Ты вообще о чём? SL поддерживается всеми браузерами.

Точно?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[18]: Стивен Синофски: MS, давай, до свидания!
От: IT Россия linq2db.com
Дата: 15.11.12 18:01
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>>"Допиливать" и "отсуствует" — не одно и то же, не находишь?

IT>>Ты вообще о чём? SL поддерживается всеми браузерами.
ГВ>Точно?

Всеми известными мне поддерживаются. Тебе видимо известно больше.
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: Стивен Синофски: MS, давай, до свидания!
От: MxMsk Португалия  
Дата: 15.11.12 18:27
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

LC>>Еще раз повторяю вопрос, какие инновации были задавлены Синофски?

НС>Тебя в какой области интересует? Из свежего, к примеру, WPF.
Кстати, вот в это охотно верю. Вспоминается, как Джош Смит написал, что сваливает в iOS, потому что разочаровался в отмене WPF/SL. А я все никак не мог понять причину такого сдвига. Ведь, даже если предположить, что WPF не лучшим образом уживается в API Винды, так ведь его туда никто и не звал. Жил бы себе в рамках .Net, как тонны других технологий, и жил. Теперь же все понятно. Просто прихоть. Это сразу все ставит на свои места.
Re[19]: Стивен Синофски: MS, давай, до свидания!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.12 18:59
Оценка:
Здравствуйте, IT, Вы писали:

IT>Всеми известными мне поддерживаются.


O'K
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[22]: Стивен Синофски: MS, давай, до свидания!
От: Ночной Смотрящий Россия  
Дата: 15.11.12 20:03
Оценка:
Здравствуйте, FR, Вы писали:

FR>И как без gcnew мне сделать экземпляр System.String например?


Зачем? Делаешь экземпляр char[]. Когда надо, он легко оборачивается в System.String. Так а в WinRT не сильно лучше. Местная строка тоже вполне конкретная фигня, и если что не так — маршаллинг в полный рост.

НС>>Ничего не понял. Тебе никто не мешает внутри CLR использовать твой любимый счетчик ссылок для объектов из нативной кучи.

FR>Мы с разных сторон смотрим. Меня больше интересует удобство использования компонентов
FR>из нативного кода

А меня больше всего интересуют причины, по которым, вместо докручивания СОМ и минимизации изменений в других местах, типа CLR, выкатывается нечто, не совместимое вообще ни с чем и весь девдив, вместо того чтобы заниматься своим делом, два года перепиливает весь тулчейн под поддержку этой херни. Ну и чего на выходе? Возможность писать под метру, перспективы которой под большим вопросом, на каком то нестандартном С++ чуть удобнее, чем под СОМ? Замах на несколько гигабаксов, удар на копеечку.

FR>Счетчик ссылок позволяет это делать прозрачно, с GC придется учитывать

FR>кучу особенностей

При чем тут вообще GC? Еще раз — CLR не требует никакого GC, хоть и предоставляет его. Совместить managed мир с миром нативного COM тоже проблем нет — там целая пачка отлаженных технологий есть для этого. Докрутите СОМ, подрихтуйте СОМовский маршаллинг в CLR, можно C++/CLI еще немножко подлатать и все. Получаем все тоже самое, только без ломающих изменений. Но нет, у старых технологий есть сами-знаете-какой фатальный недостаток.

НС>>Все зависит от того, что это за вызов.

FR>То есть польза все-таки есть?

Неа. Все, что делает WinRT, все это можно повторить существующими методами интеропа в CLR. Вплоть до прямого вызова без маршаллинга.
Re[20]: Стивен Синофски: MS, давай, до свидания!
От: Ночной Смотрящий Россия  
Дата: 15.11.12 20:13
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Если ты успел заметить, то я не спорю, а только пытаюсь несколько уточнить своё представление о том, что и как происходит в MS.


Ну тут уже была карикатура МС, где облачка с кучей пистолей, направленных друг на друга. Так вот, пририсуй туда еще калаш — и ты примерно поймешь, какую роль во всем этом играл Синовский.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.