Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
Подправьте если я не прав
19.08.05 17:45: Перенесено из 'Философия программирования'
05.10.05 04:22: Перенесено модератором из 'Священные войны' — Кодт
Здравствуйте, BrainOverflow, Вы писали:
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
Вот только не надо начинать очередной флуд С++ vs C#. Пройдите в Священные Войны, пожалуйста.
Здравствуйте, BrainOverflow, Вы писали:
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
Частное мнение, не подкрепленное никакими аргументами.
Очередная попытка развести flame & flood на тему C++ vs. C#.
Здравствуйте, ihatelogins, Вы писали:
I>NET Framework НЕ ОСНОВАНА НА COM. Я не знаю, почему не основана — не основана и всё тут!
ОСНОВАНА НА СОМ, тоже незнаю почему, но основана и всё тут!
Здравствуйте, BrainOverflow, Вы писали:
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
BO>Подправьте если я не прав
я думаю прав
просто базы данных и веб приложения — это наверное 90% всех разрабатываемых приложений, поэтому "несерьезные" языки так популярны
Посмотри в исходники, узнаешь что поддержка взаимодействия с COM это мизерная часть всего что есть в .NET. .NET никогда не была "основана" на COM. Обьеты .NET не ведут подсчёт ссылок на себя, не реализуют IUnknown, короче не являются COM обьектами.
Поддержка COM есть во всех языках которые претендуют на то что-бы называться языками программирования под Win. Следуя Твоей логике все они "основаны" на COM. Это бред.
Здравствуйте, RegisteredUser, Вы писали:
RU>MS действительно имплементировала CLR как обычный COM Server: RU>
RU>When developing the CLR, Microsoft implemented it as a COM server contained inside a
RU>DLL; that is, Microsoft defined a standard COM interface for the CLR and assigned GUIDs to
RU>this interface and the COM server. When you install the .NET Framework, the COM server
RU>representing the CLR is registered in the Windows registry just like any other COM server. If
RU>you want more information about this topic, refer to the MSCorEE.h C++ header file that
RU>ships with the .NET Framework SDK. This header file defines the GUIDs and the
RU>unmanaged ICorRuntimeHost interface definition. (c) Рихтер
RU>но это только точка запуска. Внутренности же .NET, его архитектура ничего общего с COM не имеет (возьмите хотя бы отказ от подсчета ссылок и недетерминированность уничтожения объектов и, как следствие, неочевидность и некоторая непредсказуемость RCW и CCW (мостики связи COM<->.NET) )
Вот оно !!! Как раз это я и имел ввиду ! Наконец то хоть кто то понял.
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>NET Framework НЕ ОСНОВАНА НА COM. Я не знаю, почему не основана — не основана и всё тут! BO>ОСНОВАНА НА СОМ, тоже незнаю почему, но основана и всё тут! BO>
Судя по всему, тут присутствует в некотором роде обоюдное недопонимание Т.к., что, собственно, подразумевать под словом "основана"?
MS действительно имплементировала CLR как обычный COM Server:
When developing the CLR, Microsoft implemented it as a COM server contained inside a
DLL; that is, Microsoft defined a standard COM interface for the CLR and assigned GUIDs to
this interface and the COM server. When you install the .NET Framework, the COM server
representing the CLR is registered in the Windows registry just like any other COM server. If
you want more information about this topic, refer to the MSCorEE.h C++ header file that
ships with the .NET Framework SDK. This header file defines the GUIDs and the
unmanaged ICorRuntimeHost interface definition. (c) Рихтер
но это только точка запуска. Внутренности же .NET, его архитектура ничего общего с COM не имеет (возьмите хотя бы отказ от подсчета ссылок и недетерминированность уничтожения объектов и, как следствие, неочевидность и некоторая непредсказуемость RCW и CCW (мостики связи COM<->.NET) )
Здравствуйте, ilya_ny, Вы писали:
_>Здравствуйте, ihatelogins, Вы писали:
Р>>>"Более серьезные вещи" это что???
_>да полно примеров :
_>компиляторы, _>CAD — системы _>графические редакторы _>RDBMS _>операционные системы
Именно это всё сейчас мелкомягкие и создают на C#
Ну по крайней мере ОС и компиляторы точно знаю, а в остальном не вижу принципиальной специфики.
В нем на .NET только GUI, кстати, довольно простой. Вся работа с изображениями на GDI+, который написан на VC++ и доступен любым приложениям, native и managed. Про то, что MS ОС пишет по старинке, на С/С++, уже было в этом разделе. Точно также можно захостить MS WebBrowser котрол и рассказывать всем, что написал свой броузер. Сам .NET написан на VC++.
Здравствуйте, ArtemGorikov, Вы писали:
AG>Здравствуйте, Lloyd, Вы писали:
L>>Здравствуйте, BrainOverflow, Вы писали:
BO>>>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
L>>Да, совершенно верно, он пригоден для создания 95%-ов приложений.
AG>.NET использует COM.
Кажется не просто использует а она на нём основана.
Здравствуйте, BrainOverflow, Вы писали:
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>Windows поддерживает XML, но совсем не основан на XML. BO> Мда кажется беседа зашла в тупик, дальше развивать ее бессмысленно BO>Пытаюсь человеку объяснить что понимаю разницу между "основан" и "поддерживает", а ннет, упорно продолжает мне про это втирать BO>Я же ведь спросил, что почему в корне неверно то, что я сказал, а сказал я что .НЕТ основана на COM.
NET Framework НЕ ОСНОВАНА НА COM. Я не знаю, почему не основана — не основана и всё тут!
Здравствуйте, EM, Вы писали:
EM>Здравствуйте, ihatelogins, Вы писали:
I>>Здравствуйте, BrainOverflow, Вы писали:
AG>>>>.NET использует COM. BO>>>Кажется не просто использует а она на нём основана.
I>>Можно пример "основанности" .net на COM в студию?
Здравствуйте, ihatelogins, Вы писали:
I>Здравствуйте, BrainOverflow, Вы писали:
BO>>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
I>Риальные пацаны всё делают на асме под *nix.
Здравствуйте, Розовый Слоник, Вы писали:
РС>Здравствуйте, BrainOverflow, Вы писали:
BO>>Подправьте если я не прав
РС>Ты не прав.
Есть у меня жуткие подозрения, что аккаунт был сделан для того, чтобы написать именно это и только это сообщение
Здравствуйте, mihoshi, Вы писали:
M>Хотя, скажем, обработку изображений на нем делать не стоит. По своему опыту знаю — тормозит зверски. Может, компилил не так как-то...
Ну, на дотнете не видел, но есть интересные примеры на яве: http://www.anfyteam.com
Pure java! Я тоже думал, что обработка изображений должна дико тормозить. Но после этих шедевров я заткнул это мнение поглубже...
Думаю, такое же можно сделать и на дотнете.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, BrainOverflow, Вы писали:
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
Да, совершенно верно, он пригоден для создания 95%-ов приложений.
BrainOverflow пишет: > Чуть больше года я изучал и работал с этой технологией и пришел к > выводу, что он пригоден в основном для создания интерфейсов, веб > приложений и для баз данных. А для более серьезных вещей он не пригоден. > А так С++, STL, COM РУЛЯТ !!!
"Более серьезные вещи" это что???
Posted via RSDN NNTP Server 2.0 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Ромашка, Вы писали:
Р>BrainOverflow пишет: >> Чуть больше года я изучал и работал с этой технологией и пришел к >> выводу, что он пригоден в основном для создания интерфейсов, веб >> приложений и для баз данных. А для более серьезных вещей он не пригоден. >> А так С++, STL, COM РУЛЯТ !!!
Р>"Более серьезные вещи" это что???
Наверное, имеется в виду систему управления баллистическими ракетами или атомными электростанциями.
Здравствуйте, ihatelogins, Вы писали:
I>Здравствуйте, Ромашка, Вы писали:
Р>>BrainOverflow пишет: >>> Чуть больше года я изучал и работал с этой технологией и пришел к >>> выводу, что он пригоден в основном для создания интерфейсов, веб >>> приложений и для баз данных. А для более серьезных вещей он не пригоден. >>> А так С++, STL, COM РУЛЯТ !!!
Р>>"Более серьезные вещи" это что???
I>Наверное, имеется в виду систему управления баллистическими ракетами или атомными электростанциями.
Мдя, я бы в балистические ракеты и атомные станции не рискнул бы совать СОМ, уж боль шаткая весчь (ну или руки кривы были), хотя удобная.
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, BrainOverflow, Вы писали:
BO>>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
L>Да, совершенно верно, он пригоден для создания 95%-ов приложений.
Есть мнение, что managed код более тормозной по сравнению с native, и стартует прилага небыстро, када что-то там докомпиливает on demand, память для .NET уже не ресурс. Перебор коллекций .NET в разы медленнее, чем контейнеров STL. Аналога std::map просто нет в коллекциях .NET. .NET использует COM.
Здравствуйте, ilya_ny, Вы писали:
_>Здравствуйте, ihatelogins, Вы писали:
Р>>>"Более серьезные вещи" это что???
_>да полно примеров :
_>компиляторы, _>CAD — системы _>графические редакторы _>RDBMS _>операционные системы
wraithik пишет: > Мдя, я бы в балистические ракеты и атомные станции не рискнул бы совать > СОМ, уж боль шаткая весчь (ну или руки кривы были), хотя удобная.
Стоп, стоп, стоп... Там же, насколько помню, вообще операционка
изначально с нуля написана и составляет военную тайну???
Posted via RSDN NNTP Server 1.9
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Ромашка, Вы писали:
Р>wraithik пишет: >> Мдя, я бы в балистические ракеты и атомные станции не рискнул бы совать >> СОМ, уж боль шаткая весчь (ну или руки кривы были), хотя удобная.
Р>Стоп, стоп, стоп... Там же, насколько помню, вообще операционка Р>изначально с нуля написана и составляет военную тайну???
А вот и нет, скажу по секрету она unix подобная система.
BrainOverflow пишет: >> > Мдя, я бы в балистические ракеты и атомные станции не рискнул бы совать >> > СОМ, уж боль шаткая весчь (ну или руки кривы были), хотя удобная. > > Р>Стоп, стоп, стоп... Там же, насколько помню, вообще операционка > Р>изначально с нуля написана и составляет военную тайну??? > > А вот и нет, скажу по секрету она unix подобная система.
На ядре Линукса???
Posted via RSDN NNTP Server 1.9
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Ромашка, Вы писали:
Р>BrainOverflow пишет: >>> > Мдя, я бы в балистические ракеты и атомные станции не рискнул бы совать >>> > СОМ, уж боль шаткая весчь (ну или руки кривы были), хотя удобная. >> >> Р>Стоп, стоп, стоп... Там же, насколько помню, вообще операционка >> Р>изначально с нуля написана и составляет военную тайну??? >> >> А вот и нет, скажу по секрету она unix подобная система.
Р>На ядре Линукса???
Да нет же, я же говорю она unix клон так же как и Linux
Здравствуйте, ilya_ny, Вы писали:
_>Здравствуйте, ihatelogins, Вы писали:
Р>>>"Более серьезные вещи" это что???
_>да полно примеров :
_>компиляторы, _>CAD — системы _>графические редакторы _>RDBMS _>операционные системы
И этим занимается примерно один процент программистов.
Кстати, Paint .NET — полностью написанный на C# граф. редактор, довольно быстрый и удобный.
Здравствуйте, ihatelogins, Вы писали:
I>Здравствуйте, ilya_ny, Вы писали:
_>>Здравствуйте, ihatelogins, Вы писали:
Р>>>>"Более серьезные вещи" это что???
_>>да полно примеров :
_>>компиляторы, _>>CAD — системы _>>графические редакторы _>>RDBMS _>>операционные системы
I>И этим занимается примерно один процент программистов.
Ну прям таки 1 процент Не может быть, самые большие и серьезные корпорации этим занимаются, такие как великий и ужасный Мракософт, Сан, Эдоб итд итп. Плюс никсовое сообщество. Я думаю процентов 20 то уж точно будет.
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>Здравствуйте, ilya_ny, Вы писали:
_>>>Здравствуйте, ihatelogins, Вы писали:
Р>>>>>"Более серьезные вещи" это что???
_>>>да полно примеров :
_>>>компиляторы, _>>>CAD — системы _>>>графические редакторы _>>>RDBMS _>>>операционные системы
I>>И этим занимается примерно один процент программистов. BO>Ну прям таки 1 процент Не может быть, самые большие и серьезные корпорации этим занимаются, такие как великий и ужасный Мракософт, Сан, Эдоб итд итп. Плюс никсовое сообщество. Я думаю процентов 20 то уж точно будет.
В микрософт порядка 20 тыс. программистов. В адобе — не знают точно, думаю тысяч пять. В мире же всего миллионы, а то и десятки миллионов программистов.
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, Ромашка, Вы писали:
Р>>wraithik пишет: >>> Мдя, я бы в балистические ракеты и атомные станции не рискнул бы совать >>> СОМ, уж боль шаткая весчь (ну или руки кривы были), хотя удобная.
Р>>Стоп, стоп, стоп... Там же, насколько помню, вообще операционка Р>>изначально с нуля написана и составляет военную тайну???
BO>А вот и нет, скажу по секрету она unix подобная система.
Здравствуйте, remark, Вы писали:
R>Здравствуйте, ilya_ny, Вы писали:
_>>Здравствуйте, ihatelogins, Вы писали:
Р>>>>"Более серьезные вещи" это что???
_>>да полно примеров :
_>>компиляторы, _>>CAD — системы _>>графические редакторы _>>RDBMS _>>операционные системы
R>Именно это всё сейчас мелкомягкие и создают на C# R>Ну по крайней мере ОС и компиляторы точно знаю, а в остальном не вижу принципиальной специфики.
R>
Не совсем так. Базовые службы ОС, похоже, никогда не будут переписаны на managed code. Да что там, shell даже в лонгхорне не будет основана на avalon... будем ждать blackcomb...
Здравствуйте, ihatelogins, Вы писали:
I>Здравствуйте, BrainOverflow, Вы писали:
AG>>>.NET использует COM. BO>>Кажется не просто использует а она на нём основана.
I>Можно пример "основанности" .net на COM в студию?
Основываюсь на мнениях более авторитетных товарищей, а здесь я думаю про это можно спросить у таких спецов как АВК, ВлаД2, ПК и прочих...
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и BO>для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
А что такое серьезные вещи? И для каких-таких серьезных вещей понадобился, например, COM ?
Здравствуйте, ihatelogins, Вы писали:
I>>>И этим занимается примерно один процент программистов. BO>>Ну прям таки 1 процент Не может быть, самые большие и серьезные корпорации этим занимаются, такие как великий и ужасный Мракософт, Сан, Эдоб итд итп. Плюс никсовое сообщество. Я думаю процентов 20 то уж точно будет.
I>В микрософт порядка 20 тыс. программистов. В адобе — не знают точно, думаю тысяч пять. В мире же всего миллионы, а то и десятки миллионов программистов.
Зато каких Остальные в основном я думаю относятся к категории программистов "рисующих мышкой"
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>Здравствуйте, BrainOverflow, Вы писали:
AG>>>>.NET использует COM. BO>>>Кажется не просто использует а она на нём основана.
I>>Можно пример "основанности" .net на COM в студию? BO>Основываюсь на мнениях более авторитетных товарищей, а здесь я думаю про это можно спросить у таких спецов как АВК, ВлаД2, ПК и прочих...
Вы явно перепутали "поддержку" COM и "основанность" на COM. .NET Framework действительно поддерживает COM и позволяет как работать с ком-объектами (RCW), так и враппить .net-объекты как ком (CCW). Но говорить что .net основан на COM — в корне неверно.
Здравствуйте, ihatelogins, Вы писали:
I>Вы явно перепутали "поддержку" COM и "основанность" на COM. .NET Framework действительно поддерживает COM и позволяет как работать с ком-объектами (RCW), так и враппить .net-объекты как ком (CCW). Но говорить что .net основан на COM — в корне неверно.
Нет не перепутал, и почему это в корне неверно ? обоснуете (ламаку путающему понятия "поддержка" и "основанность" ) ?
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>Вы явно перепутали "поддержку" COM и "основанность" на COM. .NET Framework действительно поддерживает COM и позволяет как работать с ком-объектами (RCW), так и враппить .net-объекты как ком (CCW). Но говорить что .net основан на COM — в корне неверно. BO>Нет не перепутал, и почему это в корне неверно ? обоснуете (ламаку путающему понятия "поддержка" и "основанность" ) ?
Windows поддерживает XML, но совсем не основан на XML.
Здравствуйте, ihatelogins, Вы писали:
I>Windows поддерживает XML, но совсем не основан на XML. Мда кажется беседа зашла в тупик, дальше развивать ее бессмысленно
Пытаюсь человеку объяснить что понимаю разницу между "основан" и "поддерживает", а ннет, упорно продолжает мне про это втирать
Я же ведь спросил, что почему в корне неверно то, что я сказал, а сказал я что .НЕТ основана на COM.
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>NET Framework НЕ ОСНОВАНА НА COM. Я не знаю, почему не основана — не основана и всё тут! BO>ОСНОВАНА НА СОМ, тоже незнаю почему, но основана и всё тут!
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>NET Framework НЕ ОСНОВАНА НА COM. Я не знаю, почему не основана — не основана и всё тут! BO>ОСНОВАНА НА СОМ, тоже незнаю почему, но основана и всё тут! BO>
Посмотри исходники Rotor — базовых сервисов CLR. Они есть в открытом доступе.
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, ihatelogins, Вы писали:
I>>NET Framework НЕ ОСНОВАНА НА COM. Я не знаю, почему не основана — не основана и всё тут! BO>ОСНОВАНА НА СОМ, тоже незнаю почему, но основана и всё тут! BO>
А вообще человек, который не знает то, что CLR НЕ ОСНОВАНА НА COM и пишет свои суждения по поводу "серьёзности" и "несерьёзности" технологии CLR, явно не похож на профессионала.
Здравствуйте, ihatelogins, Вы писали:
I>Здравствуйте, BrainOverflow, Вы писали:
AG>>>.NET использует COM. BO>>Кажется не просто использует а она на нём основана.
I>Можно пример "основанности" .net на COM в студию?
CLR это dll-based COM server
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Здравствуйте, BrainOverflow, Вы писали:
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
РЭальные хлопцы пишут на асме
BO>Подправьте если я не прав
Старик, должен тебе сказать — базары типа этот язык крут а этот не крут — прыщавое размазывание кашипо стенке. В "серъезных" задачах вопрос выбора языках отходит на второй-третий план.
Здравствуйте, Glоbus, Вы писали:
G>Старик, должен тебе сказать — базары типа этот язык крут а этот не крут — прыщавое размазывание кашипо стенке. В "серъезных" задачах вопрос выбора языках отходит на второй-третий план.
Ты всерьёз так думаешь? И что это за задачи, где язык программирования отходит на третий план?
Здравствуйте, Glоbus, Вы писали:
G>Старик, должен тебе сказать — базары типа этот язык крут а этот не крут — прыщавое размазывание кашипо стенке. В "серъезных" задачах вопрос выбора языках отходит на второй-третий план.
В "серъезных" задачах вопрос выбора языка и технологии чуть ли ни самое важное!
I>Слушай, почитай книжку Д.Бокса о внутреннем устройстве CLR. Неохота откровенно хамоватым ламерамобъяснять тривиальные вещи.
Неохота или не можешь ? Раз это тривиально, я думаю и объяснить легко хамоватому ламеру. Просто уж очень хочется видеть как ты это сделаешь
I>А вообще человек, который не знает то, что CLR НЕ ОСНОВАНА НА COM и пишет свои суждения по поводу "серьёзности" и "несерьёзности" технологии CLR, явно не похож на профессионала.
"серьёзность" и "несерьёзность" технологии CLR, где я об этом говорил, я ж не говорил что раз она основана на СОМ то она несерьезна, она серьезна, да и еще как
_>Поддержка COM есть во всех языках которые претендуют на то что-бы называться языками программирования под Win. Следуя Твоей логике все они "основаны" на COM. Это бред.
Я не говорил что, раз технология поддерживает СОМ значит оно на нем основано, это действительно бред. Будьте внимательнее.
Здравствуйте, BrainOverflow, Вы писали:
I>>Слушай, почитай книжку Д.Бокса о внутреннем устройстве CLR. Неохота откровенно хамоватым ламерамобъяснять тривиальные вещи. BO>Неохота или не можешь ? Раз это тривиально, я думаю и объяснить легко хамоватому ламеру. Просто уж очень хочется видеть как ты это сделаешь
CLR не использует COM для работы с типами. Типы CLR не реализуют интерфейс IUnknown. Работа с COM возможна только через соответствующие обёртки — CCW (COM Callable Wrapper) и RCW (Runtime Callable Wrapper). RCW и CCW используются только тогда, когда используются внешние COM-объекты. Базовые сервисы CLR релизованы без использования внешних COM-объектов.
В CLR реализован сборщик мусора, не использующий подсчёт ссылок, и в этом одно из принципиальных отличий от COM. В CLR нет глобального реестра типов (как в COM).
В CLR действительно есть поддержка COM (System.Runtime.InteropServices), но это не более чем поддержка — работа с родными .net-овскими типами идёт БЕЗ использования COM.
Понятно?
AG>>>>.NET использует COM I>>> Кажется не просто использует а она на нём основана.
Здравствуйте, ihatelogins, Вы писали:
I>Здравствуйте, EM, Вы писали:
EM>>Здравствуйте, ihatelogins, Вы писали:
I>>>Здравствуйте, BrainOverflow, Вы писали:
AG>>>>>.NET использует COM. BO>>>>Кажется не просто использует а она на нём основана.
I>>>Можно пример "основанности" .net на COM в студию?
EM>>CLR это dll-based COM server
I>Юморист.
C чего такое веселье ? Первый раз об этом услышал ?
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
BO>Чуть больше года я изучал и работал с этой технологией и пришел к выводу, что он пригоден в основном для создания интерфейсов, веб приложений и для баз данных. А для более серьезных вещей он не пригоден. А так С++, STL, COM РУЛЯТ !!!
COM — отстой. Например, необходимостью регистрации. Для той сферы применения, где раньше использовался COMовский код на Си++, .NET прекрасно годится.
MSS>COM — отстой. Например, необходимостью регистрации. Для той сферы применения, где раньше использовался COMовский код на Си++, .NET прекрасно годится.
Просто интересно, как система находит нужную сборку — она должна быть в особой папке, или куда-то надо положить манифест? comctl32.dll 6-й версии лежит в такой особой папке, при том она не зависит ни от COM, ни от .NET. Все равно как-то же надо зарегистрировать сборку, объясните ламеру?
Здравствуйте, ArtemGorikov, Вы писали:
K>>Графический редактор на .NET
AG>В нем на .NET только GUI, кстати, довольно простой. Вся работа с изображениями на GDI+, который написан на VC++ и доступен любым приложениям, native и managed. Про то, что MS ОС пишет по старинке, на С/С++, уже было в этом разделе. Точно также можно захостить MS WebBrowser котрол и рассказывать всем, что написал свой броузер. Сам .NET написан на VC++.
А ты удосужился посмотреть исходники, прежде чем сказать эту глупость?
Во-первых возможностей GDI+ просто недостаточно, так как "работа с изображениями на GDI+" по сути ограничивается загрузкой/сохранением, альфа-наложением, ресамплингом и преобразованием цветов. На C# реализованны как минимум все дополнительные режимы альфа-наложения, большинство фильтров и преобразований, flood fill.
Во-вторых GDI+ хреновая библиотека и Paint.NET только потерял от её использования. Мало того, что тормозная, так и с качеством большие проблемы(по сравнению с теми же Cairo и Antigrain). Есть одна библиотека на C#, к сожалению не помню названия, заточенная для растеризации векторов под Pocket .NET(т.к. там нет GDI+), так вот она всего на 20% медленнее GDI+(100% managed code, никаких трюков с unsafe). Более того, я думаю, если написать грамотный аналог GDI+ полностью на C#(с использованием unsafe разумеется), то он порвет GDI+ как тузик грелку.
Здравствуйте, uw, Вы писали:
uw>Во-первых возможностей GDI+ просто недостаточно, так как "работа с изображениями на GDI+" по сути ограничивается загрузкой/сохранением, альфа-наложением, ресамплингом и преобразованием цветов. На C# реализованны как минимум все дополнительные режимы альфа-наложения, большинство фильтров и преобразований, flood fill.
Думаю, это все-таки меньше, чем взято из GDI+.
uw>Во-вторых GDI+ хреновая библиотека и Paint.NET только потерял от её использования. Мало того, что тормозная, так и с качеством большие проблемы(по сравнению с теми же Cairo и Antigrain). Есть одна библиотека на C#, к сожалению не помню названия, заточенная для растеризации векторов под Pocket .NET(т.к. там нет GDI+), так вот она всего на 20% медленнее GDI+(100% managed code, никаких трюков с unsafe). Более того, я думаю, если написать грамотный аналог GDI+ полностью на C#(с использованием unsafe разумеется), то он порвет GDI+ как тузик грелку.
Вы лично сравнивали качество, скорость GDI+ и AGG? А я сравнивал. Скорость у GDI+ на 15% выше, чем у AGG, качество немного хуже (наверно, на те же 15%) — не настолько, чтобы простой человек плевался. Разницу можно заметить, только если 2 изображения, отрендеренные этими либами, поставить рядом и сравнить. Но главное — GDI+ полностью совместим с GDI, вплоть до MapMode и HatchBrush, поддерживает любой формат растра, а AGG — только тот, на который настроен и скомпилен. И если можно что-то написать более быстрое, чем GDI+, но с теми же фичами, то только на C/C++/Asm, а лучше вообще аппаратно ускоренное. С#/Java/VB отдыхают.
Во фреймворке действительно есть ПОДДЕРЖКА COM. И возможен доступ к CLR и доменам CLR через COM. Но это всего лишь — ПОДДЕРЖКА, а не база. Еще раз приведу аналогию: В Windows есть поддержка XML (или JavaScript), и с помощью этих технологий можно получить доступ к большой части функционала Windows. Но Windows совсем не основан НИ НА XML, НИ НА JavaScript!
Здравствуйте, ArtemGorikov, Вы писали:
AG>Все равно как-то же надо зарегистрировать сборку, объясните ламеру?
Читайте описание концепций .NET. А в кратце: если сборка является общей (имеет строгое имя), то она помещается в GAC (Global Assebly Cache — глобальный кэш сборок, который находится в виде папки в каталоге ОС — быть может в недалеком будущем эта папка заменит system32), откуда и берется использующими ее приложениями.
Здравствуйте, RagiC, Вы писали:
RC>Здравствуйте, AlLucky, Вы писали:
AL>>Есть у меня жуткие подозрения, что аккаунт был сделан для того, чтобы написать именно это и только это сообщение
RC>Ну ты и грузанулся Это уже давно все поняли!
Ты тоже, как я посмотрю, не сильно спешил с ответом
Здравствуйте, RagiC, Вы писали:
RC>Здравствуйте, AlLucky, Вы писали:
AL>>Ты тоже, как я посмотрю, не сильно спешил с ответом
RC>Просто я читаю медленно
Аааа, а я редко отправляю ответы
Бо инет такой
Здравствуйте, uw, Вы писали:
uw>Здравствуйте, ArtemGorikov, Вы писали:
uw>Во-вторых GDI+ хреновая библиотека и Paint.NET только потерял от её использования. Мало того, что тормозная, так и с качеством большие проблемы(по сравнению с теми же Cairo и Antigrain). Есть одна библиотека на C#, к сожалению не помню названия, заточенная для растеризации векторов под Pocket .NET(т.к. там нет GDI+), так вот она всего на 20% медленнее GDI+(100% managed code, никаких трюков с unsafe). Более того, я думаю, если написать грамотный аналог GDI+ полностью на C#(с использованием unsafe разумеется), то он порвет GDI+ как тузик грелку.
тоже вступлюсь за GDI+
Не смотря на эти все это у GDI+ есть поддержка метафайлов. Если есть метафайл, очень легко сделать печать изображения в любом маштабе. Например для антиграйна печать можно сделать только через растровый буфер .
Если картинка выводится на плоттер , лист A0, то размер картинки в памяти будет около 7000*6000 px
Здравствуйте, ihatelogins, Вы писали:
I>Ты всерьёз так думаешь? И что это за задачи, где язык программирования отходит на третий план?
Ну, например, какой-нибудь Engine, скажем переводчик с одного языка на другой
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, AndrewJD, Вы писали:
AJD>Здравствуйте, Maxim S. Shatskih, Вы писали:
MSS>>COM — отстой. Например, необходимостью регистрации.
AJD>А что в.NET отпадает потребность в регистрации?
Нету в .NET проблемы "ада DLL". Нету.
Сложность программы растет до тех пор, пока не превысит способности программиста
Здравствуйте, Menestrel, Вы писали:
AJD>>А что в.NET отпадает потребность в регистрации?
M>Нету в .NET проблемы "ада DLL". Нету.
1) Имхо, dll hell и необходимость регистрации мало связанные вещи
2) В COM тоже проблем с dll особо остро не стоит. Конечно не те возможности, как в .Нете, но никто не запрещает давать новым версиям бинарникам уникальные имена. Как собственно и делается в последних версиях DirectX.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, BrainOverflow, Вы писали:
BO>Здравствуйте, Glоbus, Вы писали:
G>>Старик, должен тебе сказать — базары типа этот язык крут а этот не крут — прыщавое размазывание кашипо стенке. В "серъезных" задачах вопрос выбора языках отходит на второй-третий план. BO>В "серъезных" задачах вопрос выбора языка и технологии чуть ли ни самое важное!
Возьмем "серьезную задачу" в виде ЕРП-подобной системы за лимон баков. Достаточно серьезно?
Ну вот какая нафиг разница на каком она языке написана?
Она должна удовлетворять бизнес-требованиям, в которых ни слова о языках программирования.
Язык — средство. Средств дофига.