QUOTE(delay(0) @ 13.06.2007 - 8:55)
1) .NET - убожество. Медленное, чересчур медленное исполнение кода.
Наконец-то дошли руки до материала, сейчас займусь ликбезом, а то некоторые не вполне представляют, что такое .NET и как оно работает
Ну сперва общие положения
:
QUOTE
Смысл перехода.... ну, c# - очень приятный язык. После c++ пользоваться им легко и приятно. Через некоторое время возвращение к c++ вызывает отторжение. Неудобно. Забота о ресурсах принимает другой характер. Более мягкий. Уходят в прошлое проблемы с некорректным доступом к памяти. Совсем. Наконец-то появляется простая и согласованная система обработки исключений. НАМНОГО проще отладка. Библиотека классов очень богатая и развлетвленная. Продуманная. Нет нужды в написании 1001 wrapper-а. Типизированные указатели на функции!!! Асинхронное программирования становится легче в разы. Если забыть про проблемы синхронизации, то в десятки раз. Reflection дает новое измерение в написании утилит и мета-оберток. Атрибуты позволяют обогнать Java в технологичности. Библиотека классов богаче и приятнее. Делегаты опять же. Простая в кодировании и в использовании (а также относительно простая в расширении) система удаленного взаимодействия. Наконец-то MS создало удобный метод конструирования UI. Не только не хуже, чем у конкурентов, но и лучше. ASP.Net - это просто сказка, по сравнению с другими методиками разработки web-приложений. Хотя, Java тут тоже довольно сильна. Преимуществ - вагон и маленькая тележка. Игнорировать эту платформу - значит обрекать себя на технологическое отставание. Единственная альтернатива - Java+IBM+Rational+Linux. Объединив все это вместе, можно попытаться что-то противопоставить. Лично я думаю - кишка тонка, но время покажет. P.S. Одни только xml-comments в студии .net в с# - это фича, из-за которой стоит сменить платформу
©Mong Теперь насчет перевода в машинные коды и производительности:
QUOTE
Поверьте,я и сам из тех,кто программирует на C/C++,и,переходя на CLR,я достаточно скептически рассматривал ...дополнительные накладные расходы....Microsoft проделала значительную работу,чтобы свести эти издержки к минимуму.....сами создайте приложение и проверьте его производительность....вас удивит, насколько она высока на самом деле..
".Net Framework" изд 2 Джеффри Рихтер стр.14. QUOTE
Компиляция В платформе .Net, программа не комппилируется в исполняемый файл, а компилируется в файлы Microsoft Intermediate Language (MSIL) , которые запускаются «расширителем» CLR. Файлы MSIL (в обычном разговоре называемый как IL) , полученные при компиляции C#, идентичны с файлами скомпилированными при использовании других .Net языков. (прим мое. Это и так понятно ) код программы на C# компилируется в IL и сохраняется на диске. При запуске программы, IL компилируется опять , используя Just In Time (JIT) компилятор, в результате получаем уже машинный код. Стандартный компилятор JIT вызывается только при надобности. Когда вызывается метод программы, JIT анализирует код IL и создает высоко эффективный код, который работает очень быстро. JIT не глуп, и сам может определить, когда код уже был скомпилирован и не будет компилировать его еще раз. После запуска программы .Net она будет работать быстрее и быстрее, так как многие части программы уже скомпилированы. (С другой стороны, что никогда не выполняется, то никогда не компилириется. JIT очень интеллектуальная штука. прим. ZaHack)
QUOTE
Корпорация Microsoft тратит до 80% из своего бюджета , выделенного на исследования и раработку, именно на .Net. Раз уж такая компания тратит миллионы долларов на систему .Net, то к этому стоит присмотреться
Вот вкратце, все что хотел сказать. Так что, если еще будут крики ".NET - отстой" просьба их аргументировать.
ЗЫ Java выполняется намного медленне чем .NET Интересно почему линуксоиды всегда как-то "забывают" об этом факте?