Показать сообщение отдельно
Старый 31.10.2004, 08:38   #10  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Мдяя... Первая статья конечно интересная, но несомненно грешит "преувеличениями"

Во первых автор как будто бы забыл что по заявлениям MS WinFX будет поддерживать WinAPI до последнего (хоть и в режиме эмуляции, но опыт Win9x и DOS показывает что под эмуляцией скорее всего подразумевается полная, но теневая поддержка), а следовательно и все старые приложения и даже программеров на старых средах программирования (т.е. без работы "Raymond Chen Camp" не останется, о нет). Так что MS совсем не отказывается от обратной совместимости - упаси бог, это super-puper-exaggeration! То что вышла пара новых языков, не совместимых с предыдущими еще не показатель (кстати Delphi for .NET позволяет легко портировать VCL проекты в VCL.NET, если в них не использовались WinAPI ф-ии).

Во вторых, имхо, тезис о том что автоматический сборщик мусора является основным залогом простоты программирования в каком либо языке - тоже преувеличение. Ну не так это. Вернее - не совсем так. Сборщик мусора несомненно облегачет жизнь программисту, но утверждать что значительную часть времени программист на C++ проводит занимаясь подчисткой мусора за своими алгоритмами - неправильно. Для доказательства своей правоты автор использует тот факт что написание некой программы на VB у него заняло в 3 раза меньше времени чем на VC++. И опять же забывает что на Delphi он эту программу написал бы столь же быстро, если не быстрее чем на VB, хотя и в Delphi нет автоматического сборщика мусора! Просто он где то подменил понятия простоты разработки в RAD системе со сложностями работы с сильно морально устаревшим WinAPI и чуть менее морально устаревшим MFC.
Delphi ни в чём по простоте разработки не уступает VB!
На самом деле тут всё таки роль играет не столько сам факт наличия в системе автоматического сборщика мусора, сколько отказ от использования WinAPI и asciiz-строк.
.NET предлагает всем программистам на всех языках программирования (потенциально) и даже возможно на любых ОС такую единообразную и удобную для программиста среду, подобную которой однажды пыталась привить компьютерному сообществу Sun в виде Java, но обломилась по многим причинам. И за это, как ни парадоксально, MS еще и раскритиковывают и пророчат ей гибель!
Вообще всем интересующимся потенциалом системы .NET хочу посоветовать зайти на http://forum.nvkz.net/index.php?showtopic=5000&st=15, начиная именно с этой странички на этом форуме идет обсуждение .NET на "непрофессиональном уровне", которое вам тем не менее может быть интересно.

В третих автор предполагает что MS навязывает всем программистам необходимость скорейшего перехода от WinAPI к .NET, вплоть до того что нужно переписывать все старые программы (а ведь обратной совместимости программного кода на VB нет - какая незадача!). И что мол вследствии этого все программисты отвернуться от .NET, а MS потерпит крах.
Однако это тоже по моему сильное преувеличение.
Как уже было сказано программировать на .NET (C#) просто, а следовательно и просто научится на нём программировать - это я подтверждаю из личного опыта. Особенно легко придется программистам на языках программирования Visual Basic, C++, Java, Delphi, т.к. в .NET существуют .NET-ориентированные компиляторы с этих языков с незначительно измененным синтаксисом.
Никто не говорит что нужно перелопачивать миллионы строк уже написанного кода пытаясь адаптировать его на .NET (а если кто то и говорит, то напрасно). Эта работа бессмысленна (почти) и MS сама это прекрасно понимает.
Другое дело что НОВЫЕ проекты разумно в скором будущем будет (когда .NET Framework закрепится на большинстве персоналок и .NET Class Library приобретет стабильный вид) (кто то уверен что этот скорое время уже наступило ) начинать писать ориентируясь на .NET - старые винапишные программы пусть остаются старыми винапишными программами, поддержка их будет существовать в WinFX как уже сказано было до последнего.
Другое дело что попробовав один раз написать новую программу на C# программист вряд ли уже пересядет обратно на VB 6.0, ибо как сам автор признаёт не раз - .NET ЛУЧШЕ. Другими словами тотального перехода всех программистов и всех проектов на языках программирования на .NET нет и не будет в скором времени, как и не было в своё время перехода всех программеров на Delphi или Visual C++ на этапе их зарождения. Но просто ведется подготовка (медленная и планомерная) по переводу всего виндоузовского программерского братства на новое API платформы .NET, процесс это долгий и длительный, но необратимый.
Станет ли от этого хуже программистам? О нет! Ведь .NЕT лучше, чем WinAPI.
Станет ли от этого хуже пользователям? С чего бы? Ведь программировать на .NET проще, следовательно станет больше программистов с претензией на "квалифицированность", а значит станет больше программ "выходящих в срок".

И последнее. Загнется ли MS вследствии того что программисты ломанутся в Web? Да ну... с чего бы... Всем известно что самый "беспроблемный" браузер в мире, поддерживающий все самые навороченные аспекты DHTML, на который равняются В ПЕРВУЮ ОЧЕРЕДЬ все Web-дизайнеры в мире - это Internet Explorer, детище всё того же MS, следовательно на каждом "исчезающе-тонком" клиенте будет стоять всё тот же Windows Longhorn.
Да и вообще тут вопрос неоднозначный - кто, сколько, чего и как вкладывает в разработку, поддержку и использование Web-решений - это еще надо разобраться.

P.S.
В .NET имхо кроется совершенно другая опасность для её создателя, а именно - потенциальная кросс-платформенность. Ибо если активисты linux разработают свою реализацию .NET (gnuDotNet или как то так) с полной поддержкой функционала .NET Class Library, то... какая разница станет где запускать MS Office.NET - на лицензионной Windows или на бесплатном linux? Вот тут то и может наступить момент истины для MS - ибо как совершенно правильно сказано в статье пользователю ОС нужна только для того чтобы запускать на ней программы.