Dmitriy2003 писал(а):Это утверждение неверно.
Это утверждение верно. COM существует по сути на бумаге и в виде нескольких вспомогательных инструментов. Открытий никто не совершал. COM - просто стандартизировал то что уже было, так сказать привел к одному, строго описанному правилу, нисколько не заставляя никогда их не нарушать.
Dmitriy2003 писал(а):Так что-же Вас смущает ? Отсутствие двоичного кода готового к исполнению, а вместо это требуется последующая компиляция при запросе на выполнение (JIT). Лично я смотрю на это больше как на преимущество чем как на недостаток, это дает нам более глубокий контроль над приложением и в большинстве случаев производительность от этого не страдает. Есть и другие мнения, однако исходя из одного этого утверждать что каркас гамно по меньшей мере не грамотно.
Это недостаток. Во-первых зачем? Есть несколько этапов производства ПО, и среди них нет этапа "использование ПО". Почему пользователь вдруг превратился в "программиста" компилируя свои приложения? Каждый раз при запуске!!!!? Ты вот как программист пишешь оптимальный код, стараясь не объявлять лишние переменные, чтобы не захламлять память, не использовать лишний раз циклы где они не нужны. Т.е. каждый программист пытается избежать того, что можно не делать. А здесь наоборот получается. Это первый недостаток. Второй недостаток - защищенность приложений. Если я написал приложение, я точно знаю что оно делает после компиляции. Точнее так, я точно знаю чего оно делать не будет. А ты? Например ты ручаешься что твое приложение после запуска не будет отсылать сканы клавиатуры на сервер MS? А вот теперь представь если тебе попадется не настоящий, MS-кий FW, а хакерский. Ты только представь масштаб - на твоем компе будут работать сотни приложений, который будут являться вирусом, хотя сами по себе безобидны. Я конечно немного преувеличиваю, но суть то одна.
Плюсы здесь таки есть. Плюс в том, что каждая следующая версия FW может компилировать более оптимальный исполняемый код. И это хорошо. Вот только если мне не изменяет память, то приложения требуют какой-то конкретный FW, а значит совместимости нет. Так что насколько бы оптимальным не был следующий FW - возможно мое приложение работать на нем не будет. Это хорошо?
Dmitriy2003 писал(а):се программы от чего нибудь зависят, разве это плохо ? Даже в COM твое приложение зависит от сторонних компонентов, при условии правильного подхода к реализации.
От каких? Зависит конечно, так же как VB от своей родной библы. А ты убери все библиотеки и компоненты, которые поддерживают COM со своего компьютера. И посмотри потом масштабы
Я почему это говорю - от самой COM зависит куда больше, поэтому обращать внимания от чего зависит сам COM не с руки. Но фишка в чем. Я просто так, на голой Windows, без средств COM напишу COM-компонент, отдам его тебе и он будет работать. Ровно так же как и у миллионов других. А ты так сможешь написать приложение дотнет? И дашь гарантию что оно будет работать у соседа?
Были куда более интересные идеи касаемо "зависимости". Вот например делфи с его VCL. В каждой программе его часть, и ничего вспомогательного не нужно. Это хороший подход. Лучше чем например с VB.
Ну и самое интересное. У меня есть пару приложений, которые работают на Win98, Win XP, Win 2000, Win Vista, Win 7. И уверен будут работать и дальше. А твои?
Dmitriy2003 писал(а):Ага, можно и сейчас. И если это твое решение поруган ты за это не будешь, но навязывать другим такое мнение не рационально, зачем сейчас в 2010 году постоянно при каждой необходимости строить приложения на низкоуровневом API ? разве мы всегда не боролись на упрощение программирования , а с таким подходом как у вас все только многократно усложниться, ведь времена Win95-98, Win NT-2000 уже прошли, и запросы к проектам сейчас совсем другие чем раньше, боже разве это не очевидно.
Запросы чьи?
На низкоуровневом API прикладные приложения практически не строят (я таких не видел, всмысле код таких приложений). Упрощение программирования - это всегда хорошо. Но всегда должна оставаться альтернатива. Я всегда могу отказаться от MFC и писать на голом API, так же и в VB. И мои приложения будут работать. Проще сказать - у меня есть выбор. Дотнет хочет лишить выбора. Это не хорошо.
Но самое что обидно, так это то, что дотнет уж точно работает на тех же API, и без них никуда. А поэтому - это технология для Win32, а не заменяющая ее. Поэтому не стоит говорить что все кроме дотнета не нужно, а сам он - технология будущего. Это всего лишь одна лишняя абстрактная прослойка между программистом и монитором, не лишенная изъянов (как впрочем и тот же COM).
Дотнет - хорошее адстрактное решение. И ему место быть. Но боюсь не достигнет он тех высот, которые хочет от него MS, сколько бы дополнительных языков не появлялось на базе дотнет с каждым выпуском очередной студии (C#, F#, J#....да хоть Z#, от количества языков популярность не заработаешь)
Пишите жизнь на чистовик.....переписать не удастся.....