Возможно, что после прочтения этой статьи, твоё мнение обо мне измениться, потому что я хочу высказать свой взгляд на ненависть к корпорации MS и этот взгляд понравиться не многим. В любом случае, я хочу, чтобы ты воспринимал эту статью, как просто чью-то точку зрения, а не вызов для спора. Я ни с кем не собираюсь спорить, а хочу только высказать свое мнение по поводу Microsoft.
Я очень часто встречаю в сети и на страницах разных изданий плохие отзывы о продуктах Microsoft. Лично я к ним никак не отношусь, потому что все популярное ненавистно. Я использую Windows, Office, MS SQL Server и считаю их достаточно хорошими и удобными продуктами. Они действительно созданы для нас с тобой. Но меня больше всего удивляют люди, которые ругают MS, но сами при этом работают в Windows. Восхваляют программную среду Linux, а сами не вылезают из под MS Visual C++. Вот именно второй парадокс меня поражает больше всего.
Почему я ненавижу Visual C++
В своё время я очень много программировал на С++. Тогда было достаточно много компиляторов и можно было выбирать Watcom C, MS C++, Borland C++, Symantec C++ и др. Сейчас уже Watcom умер, Borland C++ превратился в C++ Builder, а MS C++ превратился в такое... В общем, это заслуживает отдельного разговора.
До появления Visual Studio .NET последняя версия этой среды разработки датировалась концом 90-х. Несколько лет не было никаких новых версий, и программисты работали в старой среде. За это время в мире кодинга изменилось очень много и для использования новейших разработок в Visual C++ приходилось попотеть собственными ручонками. Но вот появилась долгожданная новинка. Сколько шума было вокруг неё, а результат для простого программиста нулевой.
Меня поражают разработчики Microsoft. Посмотрите на Office 2000 и ХР. В них используются очень хорошие, удобные и красивые меню и панели кнопок. А теперь запустите Visual Studio .NET и посмотрите на его меню. Они также выполнены в стиле ХР. И тут возникает вполне резонный вопрос – где в Visual Studio .NET объекты, которые позволят мне создавать подобные меню? Нету? И Office и Visual Studio .NET являются разработкой одной компании, так почему же я должен самостоятельно писать объекты меню в стиле ХР или Office 2000?
Почему программисты Borland заложили в свой Delphi 7 подобные компоненты, а Microsoft не может поделиться даже этим? Неужели объекты меню и панелей – это такая секретная разработка, что её нельзя сделать общедоступной? Почему программист должен выдумывать велосипед? В общем, после первого знакомства с Visual Studio .NET у меня возникли сплошные почему.
Если Microsoft считает, что программисты должны придумывать свои стили меню и панелей, то как же их знаменитая борьба за однородность интерфейса? Кто говорил, что пользователь должен работать в однородной среде и запустив новую программу сразу же должен уметь ориентироваться в ней. Если каждый программист будет создавать свои собственные элементы управления, то кто же будет создавать код программы. Неужели программирование – это создание интерфейса? Я думаю, что нет. Те, кто работал в Delphi, наверно ощутили всю мощь множества его компонентов. Даже то, что встроено в Delphi в несколько раз превышает то, что предоставляет нам Microsoft. Компонентная модель Delphi действительно удобна, и программер не тратит время на создание интерфейса, а занимается программированием и созданием логики приложения, а не всякой ерундовиной.
Только не надо подводить весь язык С под одну гребёнку. Сам язык великолепен и гениален, но его реализации по методу MS вызывает у меня только отвращение. Если кому-то нравиться тратить 80% времени на создание элементов управления, которые кто-то уже создал, то это их дело, я не такой. Я не хочу выдумывать заново то, что уже создано, и можно без проблем использовать. Если каждый программист будет выдумывать свои кнопки, то мы будем делать это вечно. А когда же тогда писать программы?
Может это и есть идея Visual Studio – создать видимость любви сторонних разработчиков и в то же время тормозить развитие прогресса. Программисты Microsoft регулярно меняют внешний вид своих элементов управления, и выдумывает новые приколы, но нам ничего не говорят. Таким образом, мы должны следовать за ними, чтобы успеть за «законодателем мод», и только успевать переделывать интерфейс своих программ и тормозить на одном месте. А в это время Microsoft постепенно запускает свои лапы везде, где только можно просовывая красивые, простые и удобные продукты. Если это так, то это очередная нездоровая конкуренция со стороны Билла. За такое уже не просто судить надо, а расстреливать на месте.
Почему я не буду использовать С#
Новейшей технологии Microsoft грозит полный провал. Корпорация направляет этот язык как замену языку Java. Программы на C# тоже работают на виртуальной машине, вроде бы сильно защищены (ага, так я и поверил) и могут переноситься на другие платформы (вот это уж точно чушь). Если Java работала на всех машинах, то приложения С# будут работать только на Windows 2000/XP. А куда девать огромный парк машин с Windows 95/98/ME. Я недавно смотрел статистику ОС, которая показала, что на данный момент на компьютерах пользователей установлены 50% Windows 98, 10% Windows 95 и 15% Windows ME. Оставшиеся проценты остаются на 2000 и ХР. Помимо этого, чтобы приложения С# заработали, нужно большие обновления системы.
Я не особо верю в статистику, но могу точно сказать, что в мире парк машин с Windows 95/98/ME больше 60% (если не брать в учёт Россию). Так что же такое C#? Это маркетинговый ход MS. С одной стороны они говорят про универсальность языка, и он заменит Java – чушь. Приложения на C# не будут работать на других платформах кроме Windows.
Могу сказать одно – C# - это обжора, который направлен на то, чтобы программисты создавали программы только на нём. Как только количество таких программ начнёт расти, пользователям придётся переходить на Windows 2000/XP, и в этом случае поднимутся продажи этих ОС и, конечно же, начнётся повальное обновление железа. Кто в этом случае будет в шоколаде? Ну, конечно же, Билл Гейтс. Так что я хочу, чтобы все программисты мира просто забили на новый язык С# и тогда Билл Гейтс окажется не в очень сладком шоколаде, который тоже тёмный, но пахнет по другому.
Все остальные заявления о платформе .NET – полное фуфло. Никаких крутых сетевых возможностей, никакой простоты разработки, никакого удобства, а кроссплатформенность ограничивается платформой Windows 2000/XP и последними версиями Windows CE. Короче, ребята, готовьте кошельки, Microsoft придумала очередную уловку, чтобы выманить ваши деньги. Да Windows 2000/XP хороши, но нельзя такими методами вытаскивать из карманов пользователя их честно заработанные деньги.
На данный момент С# программисту абсолютно не нужен. В нём нет ничего такого, ради чего можно было бы программировать на этом языке.
Я ненавидел Visual C++ за его бездарность и, похоже, буду ненавидеть всю жизнь, потому что с появлением Visual Studio .NET я понял, что Microsoft забыла про разработчиков. Видимо Microsoft считает, что сами смогут написать все необходимые приложения для народа. А как же производство? Ведь MS не пишет программы для производственных процессов. Может, они думают, что тут достаточно MS Access и MS Excel? Так это заблуждение и на любом предприятии больше среднего нужны программисты, которые будут писать программы для нестандартных задач предприятия. Видимо этот рынок будет за корпорацией Borland и её продуктами, потому что писать на продуктах Visual Studio невозможно. Это чистой воды извращение, в котором лично я участвовать не собираюсь.
Если ты хотел изучить C++, то останови свой взгляд на Borland C++ Builder и не издевайся над собой, устанавливая Visual Studio.
Корпорацию Borland всегда ругали за то, что программы, скомпилированные на нём, получаются большого размера. Я чисто для примера создал пустой проект с помощью MFC Wizard со статической компиляцией, когда всё необходимое встраивается в один exe файл. Когда я скомпилировал проект (напоминаю, он был пустым), то на выходе получил запускной файл размером чуть более 2 метров. Это не шутка. Я чуть ли не упал со стула, когда увидел такие размеры.
Если ты сейчас попробуешь мне сказать, что не надо использовать MFC и нужно программировать на чистом С, то могу тебя огорчить, на Boland Delphi и Borland C++ Builder тоже можно писать маленькие программы, если не использовать VCL, но это геморно. А вот при использовании VCL пустой проект в Delphi 7 получается размером в 370 кило. У меня крутые программы занимают не более 2 мегабайт, так в них столько окон, что MS WORD покажется однооконной системой. При динамической компиляции, когда объектные библиотеки Borland не компилируются в общий проект, пустая программа сразу начинает занимать 16 кило. Но при этом с программой нужно поставлять необходимые BPL файлы (это нечто похожее на DLL).
Напоминаю, я всё это написал, как собственную точку зрения и ни с кем спорить не собираюсь. Если у тебя другое мнение, то я не собираюсь никого переубеждать. Выбор языка всегда был делом пристрастия и если кому-то нравиться Visual C++, то используй его. Я только сказал, почему я не буду использовать этот язык.