Господа, не могли бы вы доступно и по-русски объяснить, что такое .NET. Как её позиционирует Microsoft? Для чего её придумали? Почему этим все восхищаются?
Слышал, что программы переводятся в некоторое промежуточное представление (наподобие байт-кода Java). Это означает, что нужна виртуальная машина (как для Java)? Есть ли она в Windows XP (или нет, как у Java)? Можно ли генерировать файлы формата PE?
Здравствуйте Firefly, Вы писали:
F> Господа, не могли бы вы доступно и по-русски объяснить, что такое .NET. Как её позиционирует Microsoft? Для чего её придумали? Почему этим все восхищаются?
Посмотрите в разделе Статьи этого сайта. Там есть много полезных статей, кстати
Плюс посмотрите ниже по веткам, там периодически поднимаются обширные дискуссии по разным поводам, но читая их легко выудить и ответы на Ваш вопрос. В будущем смотрите сначала Cтатьи, которые уже имеются на сайте и пользуйтесь Поиском! Как в переделах сайта, так и вообще по сети. Думается, что в MSDN про .NET тоже найдется, что почитать по этому поводу.
F>Заранее спасибо.
U R welcome
Здравствуйте Firefly, Вы писали:
F>Господа, не могли бы вы доступно и по-русски объяснить, что такое .NET.
Ну так вот прямо в двух словах вряд ли расскажешь. Если её с чем-то и можно сравнить, то скорее всего с Java. Но это естественно больше чем Java. MS была бы не MS. В Java VM сделана под один язык — Java. В .NET CLR сделан для поддержки любых языков программирования, в том числе и для Java.
F>Как её позиционирует Microsoft? Для чего её придумали?
. MS делает новую платформу взамен дряхлеющей Windows.
F>Почему этим все восхищаются?
Потому что легче и быстрее разрабатывать, проше понять и использовать, местами надёжней (хотя об этом говорить ещё рано). Как правило люди, реально попробовавшие с ней поработать становятся её апологетами. По крайней мере, я ещё ни разу не слышал аргументированного объяснения почему .NET отстой. В основном только недалёкие выпады скептиков типа "Вот когда покажешь реально работающую систему, тогда и поговорим". Но это всё либо от лени вникать в новое, либо от болезненной привязанности к старому.
F>Слышал, что программы переводятся в некоторое промежуточное представление (наподобие байт-кода Java). Это означает, что нужна виртуальная машина (как для Java)?
Нужна среда исполнения. Компиляторы действительно генерируют байт-код, но этот байт код никогда не выполняет в режиме иетерпретации, сначала он всегда компилируется в native-код процессора, а затем исполняется.
F>Есть ли она в Windows XP (или нет, как у Java)? Можно ли генерировать файлы формата PE?
Здравствуйте IT, Вы писали:
IT>Здравствуйте Firefly, Вы писали:
F>>Господа, не могли бы вы доступно и по-русски объяснить, что такое .NET.
IT>Ну так вот прямо в двух словах вряд ли расскажешь. Если её с чем-то и можно сравнить, то скорее всего с Java. Но это естественно больше чем Java. MS была бы не MS. В Java VM сделана под один язык — Java. В .NET CLR сделан для поддержки любых языков программирования, в том числе и для Java.
F>>Как её позиционирует Microsoft? Для чего её придумали?
IT>Об этом хорошо написал Влад здесь — http://rsdn.ru/forum/message.asp?mid=34859&only
. MS делает новую платформу взамен дряхлеющей Windows.
Большое спасибо! Рад, что Microsoft решила перестать сосать деньги из древних решений и обновляет идеологию. F>>Почему этим все восхищаются?
IT>Потому что легче и быстрее разрабатывать, проше понять и использовать, местами надёжней (хотя об этом говорить ещё рано). Как правило люди, реально попробовавшие с ней поработать становятся её апологетами. По крайней мере, я ещё ни разу не слышал аргументированного объяснения почему .NET отстой. В основном только недалёкие выпады скептиков типа "Вот когда покажешь реально работающую систему, тогда и поговорим". Но это всё либо от лени вникать в новое, либо от болезненной привязанности к старому.
F>>Слышал, что программы переводятся в некоторое промежуточное представление (наподобие байт-кода Java). Это означает, что нужна виртуальная машина (как для Java)?
IT>Нужна среда исполнения. Компиляторы действительно генерируют байт-код, но этот байт код никогда не выполняет в режиме иетерпретации, сначала он всегда компилируется в native-код процессора, а затем исполняется.
F>>Есть ли она в Windows XP (или нет, как у Java)? Можно ли генерировать файлы формата PE?
IT>Первая "встроенная" поддержка .NET будет в Windows.NET. Скачать среду исполнения можно здесь — Microsoft .NET Framework Redistributable, ~20 M. SDK здесь — Microsoft .NET Framework SDK — ~130 M.
Здравствуйте IT, Вы писали:
IT>Ну так вот прямо в двух словах вряд ли расскажешь. Если её с чем-то и можно сравнить, то скорее всего с Java. Но это естественно больше чем Java. MS была бы не MS. В Java VM сделана под один язык — Java.
Действительно, .NET -- это больше чем Microsoft Java из J++,
НО пока меньше, чем Sun Java2 Platform.
IT>В .NET CLR сделан для поддержки любых языков программирования, в том числе и для Java.
Ошибаетесь, кроме других языков поддерживается только Microsoft Java, в урезанном варианте из MS JDK 1.1.4 без JFC/Swing. На смену идёт такой же урезанный язык J# — жалкое подобие Java.
F>>Почему этим все восхищаются?
IT>Потому что легче и быстрее разрабатывать, проше понять и использовать, местами надёжней (хотя об этом говорить ещё рано). Как правило люди, реально попробовавшие с ней поработать становятся её апологетами. По крайней мере, я ещё ни разу не слышал аргументированного объяснения почему .NET отстой. В основном только недалёкие выпады скептиков типа "Вот когда покажешь реально работающую систему, тогда и поговорим". Но это всё либо от лени вникать в новое, либо от болезненной привязанности к старому.
Я реально попробовал поработать с Sun Java в 1998 году в среде Borland JBuilder. С того момента стал, говоря Вашими словами, "апологетом" Java. Наверно, то же самое происходит и с теми, кто впервые "прикасается" к интероперабельным технологиям.
Есть несколько "НО":
1) для .Net пока(надеюсь, со временем этого не будет) только декларируется переносимость программ, созданных и работающих в среде .Net Framework;
2) Microsoft скрывает исходники ключевых реализаций библиотек, без которых создание полноценных средств разработки сторонними производителями невозможно;
3) практически нет реальных приложений уровня предприятия, написанных целиком под .Net (со временем будут написаны);
4) в Java2 SE/EE есть все те особенности, к которым только-только подбирается .Net, причём исходники и документацию библиотек Java можно бесплатно загрузить, проанализировать открытый код, написать своё средство разработки.
F>>Слышал, что программы переводятся в некоторое промежуточное представление (наподобие байт-кода Java). Это означает, что нужна виртуальная машина (как для Java)?
IT>Нужна среда исполнения. Компиляторы действительно генерируют байт-код, но этот байт код никогда не выполняет в режиме иетерпретации, сначала он всегда компилируется в native-код процессора, а затем исполняется.
Эта особенность JIT-компилятора, нельзя приписывать это только .Net Framework, это давно уже было и сейчас есть и в Sun JRE, и в IBM JRE, etc.
F>>Есть ли она в Windows XP (или нет, как у Java)? Можно ли генерировать файлы формата PE?
IT>Первая "встроенная" поддержка .NET будет в Windows.NET. Скачать среду исполнения можно здесь — Microsoft .NET Framework Redistributable, ~20 M. SDK здесь — Microsoft .NET Framework SDK — ~130 M.
Ну и размерчики! :)
Sun JRE 1.4 SE — ~12Мб в дистрибутиве, нужно для запуска Java2-приложений;
Sun JDK с JRE 1.4 SE и исходниками(10Мб в ZIP) — всего ~36Мб в дистрибутиве, нужно для разработки и запуска Java2-приложений;
Sun JavaDoc к JDK 1.4 SE — 30Мб в ZIP-архиве(распаковывать не надо), нужно при разработке Java2-приложений.
Скачать можно здесь: http://sun.java.com/j2se/1.4/
Другие расширения: http://java.sun.com/products/
Здравствуйте iZEN, Вы писали:
IT>>Ну так вот прямо в двух словах вряд ли расскажешь. Если её с чем-то и можно сравнить, то скорее всего с Java. Но это естественно больше чем Java. MS была бы не MS. В Java VM сделана под один язык — Java.
ZEN>Действительно, .NET -- это больше чем Microsoft Java из J++, ZEN>НО пока меньше, чем Sun Java2 Platform.
Опять начинается флей, ну, право, это уже не так интересно.
IT>>В .NET CLR сделан для поддержки любых языков программирования, в том числе и для Java.
ZEN>Ошибаетесь, кроме других языков поддерживается только Microsoft Java, в урезанном варианте из MS JDK 1.1.4 без JFC/Swing. На смену идёт такой же урезанный язык J# — жалкое подобие Java.
Не надо путать язык программирования и его окружение. Давай мухи отдельно, котлеты отдельно. Microsoft Java — это таже Java, но с окружением заточенным под Windows. J# — Java, в которой в качестве окружения используется .NET Framework. Но язык то — Java. Или нет?
ZEN>Есть несколько "НО": ZEN>1) для .Net пока(надеюсь, со временем этого не будет) только декларируется переносимость программ, созданных и работающих в среде .Net Framework;
От переносимости я при случае конечно не откажусь, но надобности в этом в моих задачах я пока не просматриваю даже в микроскоп. Возможно это и актуально в мире Юникс, где возможно существуют реальные проблемы переносимости внутри одного клона операционных систем, но это их проблемы. Мне переносимость пока не нужна и я буду стараться избегать этого как можно дольше, т.к. считаю её источником проблем.
ZEN>2) Microsoft скрывает исходники ключевых реализаций библиотек, без которых создание полноценных средств разработки сторонними производителями невозможно;
Я не понимаю как связаны исходники и создание полноценных средств разработки. Или ты хочешь и исходники самих средств разработки? Влад вот например хочет, я знаю Но, скорее всего, ему было бы достаточно и просто доступа к некоторым интерфейсам.
ZEN>3) практически нет реальных приложений уровня предприятия, написанных целиком под .Net (со временем будут написаны);
Зато полно разработанных на Win32 и COM технологиях. И их не надо полностью переписывать (как если бы я захотел перейти на Java). .NET нормально и без проблем вписывается в существующую схему.
ZEN>4) в Java2 SE/EE есть все те особенности, к которым только-только подбирается .Net, причём исходники и документацию библиотек Java можно бесплатно загрузить, проанализировать открытый код, написать своё средство разработки.
Да полно те, можно подумать ты в курсе всех особенностей и возможностей .NET. Я сомневаюсь, что таких людей сейчас найдётся много и в самой MS
А про открытый код — это конечно здорово, да только вот на практике он нужен либо если что-то явно глючит в самой библиотеке, либо библиотека достаточно запутанная, а документация никакая и без поллитры и исходников там не разберёшся. Гораздо более полезная вещь — примеры. Один хороший пример может заменить сотни строк исходников, результат будет тем же. Так что наличие исходников можно рассматривать совсем в другом ключе, а именно как недостаток Хотя всё это конечно балтология, тем не менее, наличие исходников — это не аргумент.
IT>>Нужна среда исполнения. Компиляторы действительно генерируют байт-код, но этот байт код никогда не выполняет в режиме иетерпретации, сначала он всегда компилируется в native-код процессора, а затем исполняется.
ZEN>Эта особенность JIT-компилятора, нельзя приписывать это только .Net Framework, это давно уже было и сейчас есть и в Sun JRE, и в IBM JRE, etc.
Разве я когда то утверждал обратное? Я подчеркнул, что в .NET это делается всегда, только потому, что в той же Java это не так.
ZEN>Ну и размерчики!
Нет, ну это просто песня какая-то
Лично мне что 12, что 20, что 120 без разницы. Но зато Java нет на CD в RSDN Mag, а .NET FSDK есть и скачивать ничего не надо.
В общем, наблюдается ещё одна попытка развести флейм. Оно конечно можно, но скажу сразу. Я привёл в качесве примера Java не для того чтобы начать сравнивать две технологии, а только для того, чтобы человеку было понятней, если он о Java имеет представление. Я сказал .NET больше чем Java, потому, что это действительно так. Java — это один язык с очень большой и развитой средой. .NET — это каким-хочешь-таким-и-пользуйся-а-не-хочешь-сделай-свой язык с одной на всех очень большой и развитой средой, плюс совместимость и интеграция с существующим ПО. Если я, например, хочу перенести свой код на Java, то у меня только один выбор — всё переписать на Java, в случае .NET мне не понадобятся столь серьёзные переделки.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
Здравствуйте IT, Вы писали:
IT>Опять начинается флей, ну, право, это уже не так интересно.
Я и не собирался разводить флейм. Я просто добавил свою точку зрения в дополнение к Вашей. Хотел подчеркнуть некоторые особенности обеих технологий для спрашивающего новичка, почему-то это Вы посчитали за начало флейма. Странно.
IT>Не надо путать язык программирования и его окружение. Давай мухи отдельно, котлеты отдельно. Microsoft Java — это таже Java, но с окружением заточенным под Windows. J# — Java, в которой в качестве окружения используется .NET Framework. Но язык то — Java. Или нет?
Java без своего "стандартного"(т.е. одобренного движением Java Community Process) окружения не представляет из себя ничего в технологическом плане -- просто ещё один интерпретируемый язык с "подвязанным" JIT, по аналогии VISUAL BASIC.
IT>От переносимости я при случае конечно не откажусь, но надобности в этом в моих задачах я пока не просматриваю даже в микроскоп. Возможно это и актуально в мире Юникс, где возможно существуют реальные проблемы переносимости внутри одного клона операционных систем, но это их проблемы. Мне переносимость пока не нужна и я буду стараться избегать этого как можно дольше, т.к. считаю её источником проблем.
Ну вот, переносимость для Вас -- это источник проблем. Странно. Если так случится, что Вам надо будет большой проект перенести/портировать под более мощную платформу(не-Win32), будете переписывать всё с нуля?
ZEN>>2) Microsoft скрывает исходники ключевых реализаций библиотек, без которых создание полноценных средств разработки сторонними производителями невозможно;
IT>Я не понимаю как связаны исходники и создание полноценных средств разработки. Или ты хочешь и исходники самих средств разработки? Влад вот например хочет, я знаю ;) Но, скорее всего, ему было бы достаточно и просто доступа к некоторым интерфейсам.
Я намекал на монополизм MS в сфере создания средств разработки под .Net и вытекающая отсюда лицензионная политика.
IT>А про открытый код — это конечно здорово, да только вот на практике он нужен либо если что-то явно глючит в самой библиотеке, либо библиотека достаточно запутанная, а документация никакая и без поллитры и исходников там не разберёшся. Гораздо более полезная вещь — примеры. Один хороший пример может заменить сотни строк исходников, результат будет тем же. Так что наличие исходников можно рассматривать совсем в другом ключе, а именно как недостаток ;) Хотя всё это конечно балтология, тем не менее, наличие исходников — это не аргумент.
Вам не нужны исходники библиотек? Вы обходитесь интерфейсами и MSDN с примерами? Зря. ;)
MSDN разваливается под своей тяжестью, MS до сих пор описывают в MSDN свои Win32 API и примочки к ним.
ZEN>>Эта особенность JIT-компилятора, нельзя приписывать это только .Net Framework, это давно уже было и сейчас есть и в Sun JRE, и в IBM JRE, etc.
IT>Разве я когда то утверждал обратное? Я подчеркнул, что в .NET это делается всегда, только потому, что в той же Java это не так.
В Java этот процесс настраивается из командной строки запуска Java-приложения (вплоть до отключения JIT и выделения динамической памяти). Есть разные JVM разных производителей, подчиняющиеся общепринятым спецификациям на Java, имеющие разные "скоростные" характеристики JIT-а.
IT>Лично мне что 12, что 20, что 120 без разницы. Но зато Java нет на CD в RSDN Mag, а .NET FSDK есть и скачивать ничего не надо. :))
А по сети слабо качнуть? Как многие это делают/предстоит сделать. :maniac:
Здравствуйте iZEN, Вы писали:
~20 M. SDK здесь — Microsoft .NET Framework SDK — ~130 M.
ZEN>Ну и размерчики! ZEN>Sun JRE 1.4 SE — ~12Мб в дистрибутиве, нужно для запуска Java2-приложений;
Справедливости ради — во первых .Net Redist все таки не 20 а 18Мб. Во вторых в Redist включены компиляторы, в JRE нет. Таким образом для asp.net redist достаточно, а вот для jsp серверов нужно ставить весь jdk.
ZEN>Sun JDK с JRE 1.4 SE и исходниками(10Мб в ZIP) — всего ~36Мб в дистрибутиве, нужно для разработки и запуска Java2-приложений;
Без документации надо заметить
ZEN>Sun JavaDoc к JDK 1.4 SE — 30Мб в ZIP-архиве(распаковывать не надо), нужно при разработке Java2-приложений.
Ты забыл еще JLS. В JavaDoc его нет.
Здравствуйте IT, Вы писали:
ZEN>>2) Microsoft скрывает исходники ключевых реализаций библиотек, без которых создание полноценных средств разработки сторонними производителями невозможно;
IT>Я не понимаю как связаны исходники и создание полноценных средств разработки. Или ты хочешь и исходники самих средств разработки? Влад вот например хочет, я знаю Но, скорее всего, ему было бы достаточно и просто доступа к некоторым интерфейсам.
Увы, идеальной документации не бывает и некоторые тонкости могут быть не представлены. Когда есть исходники — всегдна можно в них заглянуть. В свое время мне очень исходники библиотек Дельфи помогли. Да и в исходники библиотек java несколько раз приходилось лазить.
IT>Зато полно разработанных на Win32 и COM технологиях. И их не надо полностью переписывать (как если бы я захотел перейти на Java). .NET нормально и без проблем вписывается в существующую схему.
Для корпоративных приложений java все же остается более предпочтительной. На порядок больше специфических API. Где например в .net аналог EJB или JDO?
IT>Да полно те, можно подумать ты в курсе всех особенностей и возможностей .NET. Я сомневаюсь, что таких людей сейчас найдётся много и в самой MS
При чем здесь все возможности. Вот скажи для примера — если мне LinkedList нужен — мне его ручками писать или ArrayList пользовать? Ни Queue ни Stack мне не подходят ввиду необходимости удалять элементы из середины.
IT>А про открытый код — это конечно здорово, да только вот на практике он нужен либо если что-то явно глючит в самой библиотеке, либо библиотека достаточно запутанная, а документация никакая и без поллитры и исходников там не разберёшся.
Все же бывает он нужен. Да и от глюков в .Net никто не застрахован. Знаешь как xslt процессор в beta2 чудесатил.
IT>Разве я когда то утверждал обратное? Я подчеркнул, что в .NET это делается всегда, только потому, что в той же Java это не так.
В java в свое время это делалось всегда. Сейчас есть такая фишка как hotspot. Там действительно код не всегда компилируется, когда быстрее интерпретировать он интерпретируется. И работает Hostspot быстрее чистого JIT. Только подозреваю я что и в .Net используется подобная технология, только это особенно не афишируется.
ZEN>Я намекал на монополизм MS в сфере создания средств разработки под .Net и вытекающая отсюда лицензионная политика.
А зря намекали... между прочим, уже делают C# для Linux. Естественно, не MS Да и любой компании нет НИКАКИХ технологических и юридических ограничений — сделать свой аналог VisualStudio, свой язык (Borland, например будет делать Delphi.NET) для .NET. И это гуд. Кстати, с Java как раз имхо ситуация хуже.
Здравствуйте iZEN, Вы писали:
ZEN>Действительно, .NET -- это больше чем Microsoft Java из J++, ZEN>НО пока меньше, чем Sun Java2 Platform.
Спорный вопрос...
IT>>В .NET CLR сделан для поддержки любых языков программирования, в том числе и для Java.
ZEN>Ошибаетесь, кроме других языков поддерживается только Microsoft Java, в урезанном варианте из MS JDK 1.1.4 без JFC/Swing. На смену идёт такой же урезанный язык J# — жалкое подобие Java.
Ты о языке или о библиотеках? А то ведь Свинг можно с WinForms сравнить, и т.п.
И вообще получается бесполезный разговор. Ты сам то пробывал писать под .Net?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте IT, Вы писали:
IT>А про открытый код — это конечно здорово, да только вот на практике он нужен либо если что-то явно глючит в самой библиотеке, либо библиотека достаточно запутанная, а документация никакая и без поллитры и исходников там не разберёшся. Гораздо более полезная вещь — примеры. Один хороший пример может заменить сотни строк исходников, результат будет тем же. Так что наличие исходников можно рассматривать совсем в другом ключе, а именно как недостаток Хотя всё это конечно балтология, тем не менее, наличие исходников — это не аргумент.
Ну, одно другого не исключает. Я бы от исходников не отказался. К тому же это заставило бы MS серьезнее подходить к проектированию и реализации библиоткет. Минуса в этом быть не может. Но я согласен, что если есть куча стетей, хорошая документация, библиотеки хорошо спроектированы и не глючат, то исходники не нужны. Жаль только, что этого идеала невозможно достичь. Но если бы исходники были решающим аргументом, то все давно пересели бы на Линукс, а этого (совершенно объективно) нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
Здравствуйте iZEN, Вы писали:
ZEN>Java без своего "стандартного"(т.е. одобренного движением Java Community Process) окружения не представляет из себя ничего в технологическом плане -- просто ещё один интерпретируемый язык с "подвязанным" JIT, по аналогии VISUAL BASIC.
VB здесь вообще не причем, а библиотеки у .Net тоже есть. По-моему, они даже лучше чем в Яве, но дело не в этом... они просто другие.
ZEN>Ну вот, переносимость для Вас -- это источник проблем. Странно. Если так случится, что Вам надо будет большой проект перенести/портировать под более мощную платформу(не-Win32), будете переписывать всё с нуля?
Тебе же сказали, ну ненужна ему (мне и еще нескольким сотням тысяч программистов) переносимость на Unix-ы и Линуксы. Железо на создаваемое на Intel/AMD-камнях мало чем отличается от Санвкого. IBM-овские Дипнутые Блю практически всем не по корману. Софт же пишется под конкретное железо... Под ним отлаживается... Использует его лучшие стороны и обходит слабые. Если мне нужн будет писать под Мэйнфрэйм, я буду писать по другому... причем, даже на Яве (там и память другая и стоимость многих опираций). Те кому нужна переносимость будут выбирать Яву, а то и обычные C/C++ (у них переносимость по выше будет). Не бинарная, ну, и что? Если .Net станет перенасима хотя бы в серверном варианте, т.е. без клиентского интерфейса (WinForms), то у Явы пропадет последний фиговый листок, но тем кто выбрал .Net это будет по фигу.
ZEN>Я намекал на монополизм MS в сфере создания средств разработки под .Net и вытекающая отсюда лицензионная политика.
И чем лицензионная политика на VS.Net хуже чем на Borland JBuilder? И кто тебе сказал, что нет независимых сред разработки. Они есть, только слабоваты по сравнению с MS-ными. Деньжат маловато у конкурентов, ... но, думаю, Борланд в ближайшее время сделает среду а-ля Дельфи, для .Net. Небыло бы Борланда для Явы вообще не создали бы приличной среды разработки. :(
ZEN>MSDN разваливается под своей тяжестью, MS до сих пор описывают в MSDN свои Win32 API и примочки к ним.
Ну, это опять беспочвенные наезды... Если не умеешь искать в MSDN, то спроси... мы тебе статейку подкинем, а так... остальным хватает... по сравнению с документацией от той же Явы MSDN — это рай. Ну, а наличие под рукой описания всех API ОС — это вообще большое достоинство. Под Линукс потому и софта меньше пишут, что вся документация по разным манам навалена, качество ее порой отвратительное, а средой разработки называют текстовый редактор позволящий вызывать MAKE. :(
IT>>Лично мне что 12, что 20, что 120 без разницы. Но зато Java нет на CD в RSDN Mag, а .NET FSDK есть и скачивать ничего не надо. :))
Не, ну это чё народ захочет, то и положим. Это ты уже сам во флэйм лезеш.
ZEN>А по сети слабо качнуть? Как многие это делают/предстоит сделать. :maniac:
Ты знаешь?! 30 мег по диалапу — слабо! :(
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
Здравствуйте VladD2, Вы писали:
VD>VB здесь вообще не причем, а библиотеки у .Net тоже есть. По-моему, они даже лучше чем в Яве, но дело не в этом... они просто другие.
По моему их заметно меньше. Это тоже не надо забывать.
VD>Тебе же сказали, ну ненужна ему (мне и еще нескольким сотням тысяч программистов) переносимость на Unix-ы и Линуксы. Железо на создаваемое на Intel/AMD-камнях мало чем отличается от Санвкого. IBM-овские Дипнутые Блю практически всем не по корману. Софт же пишется под конкретное железо... Под ним отлаживается... Использует его лучшие стороны и обходит слабые.
А вот представь ситуацию. Начал я производить и продавать скажем сухарики. Через полгода, продавая сухарики в своем городе я заработал денег и сделали мне систему автоматизации моего производства скажем за $100K. Система изумительная и почти во всем меня устраивает. Проходит год, я дорабатываю систему и под это дело трачу еще $100K. Но тут объемы возрастают и мой супер пупер четырехмоторный бомбардиров... то есть сервер перестает справляться. Платформа винтель мне ничего круче предложить не может. What I can do? По новой выкидывать две сотни килобаксов?
Так что не надо бросаться из одной крайности в другую — да, многоплатформенность это не панацея от всех бед, но это не значит что она никому не нужна. Тому же MS придет блаж в голову и он что нибудь накорежит несовместимое. Или таки засудят его — и что, останешся на бобах?
VD>Небыло бы Борланда для Явы вообще не создали бы приличной среды разработки.
Не знаешь — не говори. Есть много по крайней мере не худших средств разработки. Forte например или IDEA. Есть и покруче — Together.
VD>Ну, это опять беспочвенные наезды... Если не умеешь искать в MSDN, то спроси... мы тебе статейку подкинем, а так... остальным хватает... по сравнению с документацией от той же Явы MSDN — это рай.
Чем тебе документация Java не понравилась, чем она хуже MSDN?
VD>И вообще получается бесполезный разговор. Ты сам то пробывал писать под .Net?
Не воспринимай как наезд — а ты пробовал писать на java? Я вот пробовал писать и на том и на другом.
Здравствуйте AndrewVK, Вы писали:
AVK>А вот представь ситуацию. Начал я производить и продавать скажем сухарики. Через полгода, продавая сухарики в своем городе я заработал денег и сделали мне систему автоматизации моего производства скажем за $100K. Система изумительная и почти во всем меня устраивает. Проходит год, я дорабатываю систему и под это дело трачу еще $100K. Но тут объемы возрастают и мой супер пупер четырехмоторный бомбардиров... то есть сервер перестает справляться. Платформа винтель мне ничего круче предложить не может. What I can do? По новой выкидывать две сотни килобаксов?
Эта демонстрирует лишь недостатки архитектуры предложенной тобой системы, но не платформы Wintel. Есть такое понятие расширяемость, про которое ты наверняка и сам знаешь. Такие вещи решаются не увеличением мегагерц на сервере, а установкой дополнительных серверов. И на это совсем не надо тратить по $100k каждый год. Приличный app-сервер стоит в 10-30 раз дешевле.
AVK>Так что не надо бросаться из одной крайности в другую — да, многоплатформенность это не панацея от всех бед, но это не значит что она никому не нужна. Тому же MS придет блаж в голову и он что нибудь накорежит несовместимое. Или таки засудят его — и что, останешся на бобах?
Я ж говорил, что при случае не откажусь. Но я не считаю её главным достоинством и последним аргументом. Напереносились в своё время, знаем.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте AndrewVK, Вы писали:
IT>>Я не понимаю как связаны исходники и создание полноценных средств разработки. Или ты хочешь и исходники самих средств разработки? Влад вот например хочет, я знаю Но, скорее всего, ему было бы достаточно и просто доступа к некоторым интерфейсам.
AVK>Увы, идеальной документации не бывает и некоторые тонкости могут быть не представлены. Когда есть исходники — всегдна можно в них заглянуть. В свое время мне очень исходники библиотек Дельфи помогли. Да и в исходники библиотек java несколько раз приходилось лазить.
Я пытаюсь вспомнить когда мне исходники реально помогли.
1. Надо было сделать локализацию ещё в DOS для DPMI в BC++ 4.5, что-то там Борланд нахимичил с DLL'ками.
2. Много пришлось погулять по MFC, что бы понять what's going on там внутри.
3. ATL пришлось покопать, хотя после ATL Internals
многие вопросы снялись.
Т.е. в первом случае это было связано с глюками, в остальных с недостатком литературы по изучаемому вопросу.
IT>>Зато полно разработанных на Win32 и COM технологиях. И их не надо полностью переписывать (как если бы я захотел перейти на Java). .NET нормально и без проблем вписывается в существующую схему.
AVK>Для корпоративных приложений java все же остается более предпочтительной. На порядок больше специфических API. Где например в .net аналог EJB или JDO?
Давай ты мне расшифруешь эти аббревиатуры и скажешь для чего они нужны, а я постараюсь привести примеры аналогов. Только сразу предупреждаю, как я уже говорил, .NET дополняет Win32 и возможно некоторые вещи эффективнее реализовывать на последней.
IT>>Да полно те, можно подумать ты в курсе всех особенностей и возможностей .NET. Я сомневаюсь, что таких людей сейчас найдётся много и в самой MS
AVK>При чем здесь все возможности. Вот скажи для примера — если мне LinkedList нужен — мне его ручками писать или ArrayList пользовать? Ни Queue ни Stack мне не подходят ввиду необходимости удалять элементы из середины.
А чем ArrayList не подходит?
IT>>А про открытый код — это конечно здорово, да только вот на практике он нужен либо если что-то явно глючит в самой библиотеке, либо библиотека достаточно запутанная, а документация никакая и без поллитры и исходников там не разберёшся.
AVK>Все же бывает он нужен. Да и от глюков в .Net никто не застрахован. Знаешь как xslt процессор в beta2 чудесатил.
Ok, пусть без исходников никуда, убалтали Можете напечатаь исходники CRTL или библиотек Java и обвешать ими все стены. А про beta2 это не честно. Это ж бэта, она глючить должна по определению
IT>>Разве я когда то утверждал обратное? Я подчеркнул, что в .NET это делается всегда, только потому, что в той же Java это не так.
AVK>В java в свое время это делалось всегда. Сейчас есть такая фишка как hotspot. Там действительно код не всегда компилируется, когда быстрее интерпретировать он интерпретируется. И работает Hostspot быстрее чистого JIT. Только подозреваю я что и в .Net используется подобная технология, только это особенно не афишируется.
В .NET код компилируется всегда, правда есть разные режимы опимизации. Если время компиляции не кретично, например она производится при инсталяции, то оптимизация делается по полной. Если нужно то и дело компилировать, то оптимизатор может вообще не использоваться.
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
Здравствуйте IT, Вы писали:
IT>Здравствуйте AndrewVK, Вы писали:
IT>Эта демонстрирует лишь недостатки архитектуры предложенной тобой системы, но не платформы Wintel.
Ага, ты предлагаешь мне сразу вкладывать огромные деньги в софт способный работать в кластере?
IT> Есть такое понятие расширяемость, про которое ты наверняка и сам знаешь. Такие вещи решаются не увеличением мегагерц на сервере, а установкой дополнительных серверов. И на это совсем не надо тратить по $100k каждый год. Приличный app-сервер стоит в 10-30 раз дешевле.
Видиш ли какое дело — когда я начинаю создавать систему я не знаю — проживет ли мой бизнес по производству сухариков еще хотя бы полгода. Я готов рискнуть и вложить деньги с учетом того что мой бизнес проживет год. Но на больший риск я категорически не соглачен. Если бы все решалось покупкой апп-серверов — было бы хорошо. Однако в реальности для работы в кластерной среде реальные приложения приходится дорабатывать, иногда очень серьезно, учытывая специфику распределенных транзакций, своевременной синхронизации, надежности работы сети.
Кроме того, кластеры наименее эффективный способ распараллеливания вычислений, как с точки зрения эффективности так и с точки зрения надежности и управляемости. SMP-система аналогичной производительности будет дешевле, значительно надежнее, ее проще администрировать. Так что не все так просто. Хотя иногда кластерное решение способно решить проблему.
IT>Я ж говорил, что при случае не откажусь. Но я не считаю её главным достоинством и последним аргументом. Напереносились в своё время, знаем.
Тут я с тобой согласен. Но и говорить что она почти никому не нужна не стоит. Иногда очень даже нужна.
Здравствуйте AndrewVK, Вы писали:
VD>>VB здесь вообще не причем, а библиотеки у .Net тоже есть. По-моему, они даже лучше чем в Яве, но дело не в этом... они просто другие. AVK>По моему их заметно меньше. Это тоже не надо забывать.
Во я и говорю это не спор это наезды. Ты приведи список того чего нет в .Net, но есть в Яве и чтобы при этом все это хоть кому ни будь было нужно. А так... Ну, я заявлю обратное, кто правее? :)
AVK>А вот представь ситуацию. Начал я производить и продавать скажем сухарики. Через полгода, продавая сухарики в своем городе я заработал денег и сделали мне систему автоматизации моего производства скажем за $100K. Система изумительная и почти во всем меня устраивает. Проходит год, я дорабатываю систему и под это дело трачу еще $100K. Но тут объемы возрастают и мой супер пупер четырехмоторный бомбардиров... то есть сервер перестает справляться. Платформа винтель мне ничего круче предложить не может. What I can do? По новой выкидывать две сотни килобаксов? AVK>Так что не надо бросаться из одной крайности в другую — да, многоплатформенность это не панацея от всех бед, но это не значит что она никому не нужна. Тому же MS придет блаж в голову и он что нибудь накорежит несовместимое. Или таки засудят его — и что, останешся на бобах?
Я только не пойму, что мене представлять? Я вот этот сайт вижу, до этого месяца он жил на Access-е и выдерживал по 1500 человек в день... сейчас живет на MS SQL2k на этом гребаном Интеле. Будет здесь посетителей не 1500 и 1 500 000, то мы продадим пару реклам и за этот счет купим сервер с восьмью процессорами и будет все летать. Пусть этот твой сухареклепатель деньги зарабатывает, если заработает на заводик эдак на 30 000 человек, то у него и деньги будут на другое железо, да и систему нужно будет другую делать. Нельзя управлять пекарем и заводом по одному шаблону, а ПО как раз шаблон и задает.
VD>>Небыло бы Борланда для Явы вообще не создали бы приличной среды разработки. :( AVK>Не знаешь — не говори. Есть много по крайней мере не худших средств разработки. Forte например или IDEA. Есть и покруче — Together.
Не, ну, я конечно понимаю гордость за любимый продукт... но работать на бесплатной барахолке как-то от этого не хочется (для .Net-а этого го-а тоже хватает), а использовать продукты в сотни тысяч долларов, как то не скромно :). Их у нас по 80 руб. не продают. :))) Если же сравнить их с тем самым продуктом убогого монополиста... то и Borland-овские продукты конкуренции не выдерживают...
VD>>Ну, это опять беспочвенные наезды... Если не умеешь искать в MSDN, то спроси... мы тебе статейку подкинем, а так... остальным хватает... по сравнению с документацией от той же Явы MSDN — это рай. AVK>Чем тебе документация Java не понравилась, чем она хуже MSDN?
Ну, ты открой... посмотри... поиск попробуй... по деревцу полазай... Знаешь, мне пришлось и с тем и с тем возится, но в .Net все находится в лет, а в Яве мучаешься, мучаешься потом лезешь в конфы. :( А в большинстве случаев нужная подсказка видна прямо в комплит-ворде, и лезть никуда не надо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Зачатки флейма ".Net vs. Java2" -- не выйдет!
Здравствуйте AndrewVK, Вы писали:
IT>>Эта демонстрирует лишь недостатки архитектуры предложенной тобой системы, но не платформы Wintel.
AVK>Ага, ты предлагаешь мне сразу вкладывать огромные деньги в софт способный работать в кластере?
Почему огромные? Хотя конечно если сначала писать базу на Access, а потом всё переносить в многозвенку, то повозиться придётся.
AVK>Видиш ли какое дело — когда я начинаю создавать систему я не знаю — проживет ли мой бизнес по производству сухариков еще хотя бы полгода. Я готов рискнуть и вложить деньги с учетом того что мой бизнес проживет год. Но на больший риск я категорически не соглачен. Если бы все решалось покупкой апп-серверов — было бы хорошо. Однако в реальности для работы в кластерной среде реальные приложения приходится дорабатывать, иногда очень серьезно, учытывая специфику распределенных транзакций, своевременной синхронизации, надежности работы сети.
Мы начали с того, что ты говорил, что тебя спасёт переносимое ПО. И где тут связь? Переносимость не означает автоматическую расширяемость, проблемы будут те же. Более того, когда подобные проблемы начинают решаться закупками оборудования о котором ты говоришь, то суммы в $100k тут рояли уже не играют. Такие железки стоят на порядок дороже, а уж софт к ним и подавно. Если же ты имел ввиду, что сервер на Sun будет работать аж в 2 раза быстрее W2k+Intel, то во-первых сегодня это уже спорно, а во-вторых два раза ничего на даст, завтра это ПО будет тормозить и на Sun.
AVK>Кроме того, кластеры наименее эффективный способ распараллеливания вычислений, как с точки зрения эффективности так и с точки зрения надежности и управляемости. SMP-система аналогичной производительности будет дешевле, значительно надежнее, ее проще администрировать. Так что не все так просто. Хотя иногда кластерное решение способно решить проблему.
Распаралеливать можно ещё и задачи. Например можно бизнес-логику по заказу сухариков поставить на один сервер, отгрузку на другой, бухгалтерию на третий, сервер печати на четвёртый, а уже потом смотреть где остаются узкие места.
Если нам не помогут, то мы тоже никого не пощадим.