Дмитpий Hecтepук

Блог о программировании — C#, F#, C++, архитектура, и многое другое

Microsoft, инновации и откровенный флейм

54 комментария

Учитывая то количество флейма которое летит в направлении Microsoft/.Net разработчиков, тот пост что я пишу сейчас надо было написать уже давно, дабы попробовать объяснить всем кому интересно чем же .Net стек так привлекателен и что в нем не так. Следуя традициям spbalt.net, попробую осветить проблему с обеих сторон. Если что – комментируйте, буду рад.

Фанатизм Microsoft

Для начала, лучше всего сразу отсекать фанатиков. Предлагаю сделать это первым же абзацем дабы потом не фокусировать на них внимание. Да, существуют фанатики, причем как анти-Microsoft так и pro-Microsoft. Обе группы не несут в себе какого-то адеквата и трезвой аргументации. Я не знаю какая демографика этих групп, но подозреваю что не слишком-то зрелая там аудитория. Зрелая аудитория по крайней мере пытается преставлять хоть какие-то аргументы, и даже если они иногда выглядят как сравнение яблок с апельсинами, это лучше чем ничего.

Интересно было посмотреть на весьма смелый (зная Хабр) пост Александра Ложечкина. Не знаю, ожидал ли он такой флейм или нет, но мне кажется все равно его пост достиг нужной аудитории, и донес до нее главную информацию. Кричали, конечно, различные критики в силу возможности. Первый комментарий (с рейтингом -51) показывает относительную адекватность Хабрапользователя:

Позовите, когда мы сможем попрощаться с Вами вообще.

Комментариев к такому у меня, увы, нет. Интересно что его оставил далеко не самый последний (по рейтингу) пользователь.

Языки – Java vs. C# и аналогичные флеймы

Окей, у меня блог посвященный C# поэтому тут можно обвинить меня в предвзятости. Нет, я не буду пропагандировать C# или сравнивать его, например, с Java потому что подобные действия имеют свойство очень быстро вырождаться в откровенный флейм со стороны MS- и Java- сообществ. Единственное, что я могу сказать насчет языков так это то, что (имхо) C# является фундаментальным мотиватором изучения платформы .Net начинающими разработчиками. Этот язык сложно критиковать, в то время как к любому другому языку можно предъявить море претензий на тему “современности” и т.п. Это не значит что C# кардинально лучше, т.к. понятие “лучше” само по себе ничего не значит – “интереснее”, “прибыльнее” – это уже более адекватные эпитеты. В этом же ключе можно говорить и про распостраненность, цитируемость, и т.п. Де факто, любой язык – даже COBOL – в правильных руках позволит решать задачи, и метрики показывают что за исключением Ассемблера, производительность разработчиков с разными языками для аналогичных тасков примерно одинакова. Но если учитывать что мы не сферических коней в вакууме строим а решаем бизнес-задачи, более корректны (имхо) сравнения на уровне платформ. И то, каждое сравнение автоматически вырождается в флейм. Может не стоит?

К слову хочу заметить что, несмотря на то что Microsoft поспособствовала выпуску ряда альтернативных языков для платформы .Net, их прием в качестве рабочих лошадок заказчиками был и остается минимален. Причины? А вы представьте себя на стороне заказчика – какой проект лучше потом поддерживать, тот что на C# или тот что на IronRuby? Более того, использование не-C# языков очень сложно аргументировать. Иначе говоря, если аргументировать использование Scala вместо Java достаточно просто (в силу “мощности” языка), то аргументировать использование F# вместо C# – значит напирать на “функциональность”, немутабельность, async workflows и т.п. Иначе говоря, на те вещи которые реализуются на C# без каких-то громадных трудозатрат. Например, на C# проще простого сделать immutable структуру, да еще и тест написать который проверяет ее “немутабельность”.

В заключение о языках хочу добавить что единственная фича, которая нужна в C# – это статическое метапрограммирование. И оно у нас будет. А все кто считает что Ruby лучше как раз из-за возможностей метапрограммирования которые “я получу уже сегодня” занимаются сравнением яблок и апельсинов, т.к. метапрограммирование в Ruby динамическое. Нечестное, как мне кажется, сравнение.

Незрелость библиотек и MVC vs. Rails

Окей. Да, в каком-то смысле .Net играет в догонялки с той же Java в тех областях где эти платформы имеют общие требования. Люди очень любят приводить пример с “рельсами” которые якобы копируют авторы Asp.Net MVC. Меня всегда итересовало – что мотивирует людей делать такие обзоры и сравнения когда мы живем, собственно, в эпоху свободы выбора, когда вместо того чтобы тупо читать что А лучше B я скорее скачаю и сам попробую и А и В.

Вообще сравнивать библиотеки – это дело неблагодарное. Сравнивать фреймворки – это да, это уже как-то актуальнее. Но кто хочет, например, сравнить Swing и WinForms/WPF? Нет желающих? Опять же, очень глупо катить бочку против Microsoft когда в плане презентационных фреймворков для десктоп-приложений не так уж и многа выбора. Я конечно все понимаю, и как сказал Ринат Абдуллин “Россия это страна где еще на Delphi пишут”, но серьезно… какие варианты быстрого (да-да, быстрого и качественного) построения интерфейсов thick-client знаете вы?

Вот другое дело web – тут как бы технология общая (HTML), и бороться за нее не надо, т.к. она не проприетарная. Тем самым можно сказать что используете вы Rails или MVC или PHP – это не так критично т.к. и там и там можно получить идентичный результат. Мне кажется что сам спор веб-фреймворков также бессмысленнен в связи с тем, что вне зависимости от ваших предпочтений уже есть хорошие платформы для построения решений, ничего не надо писать “с нуля”, можно просто кастомизировать. Сказать что А лучше В тут сложно – да, есть разница в зрелости фреймворков, но посмотрите вокруг – люди поставляют решения даже на сырых платформах. И что – работает!

Про стоимость лицензий

Вообще меня удручает подход разработчиков которые считают что все должно быть FOSS (бесплатно и open-source). Это абсолютно ущербный подход, т.к. если мне, например, перестанут платить за производство решений, то… я тупо перестану что-либо производить и уйду в другую область. Идея о том что можно получать бесплатно все что нужно для разработки породило такие решения как NHibernate (действительно the linux way – если что нужно, берите лобзик и допиливайте) или, например, тот же SharpDevelop. Я не имею ничего против, но когда у вас есть IDE без вменяемой отладки – это не IDE. Поэтому коммерческие решения нам нужны как воздух.

Очень много разговоров идет про стоимость лицензирования, про то что BizSpark это маркетинговая уловка, про то что сложно оплатить N лицензий, там, Windows или SQL Server. Если честно, эта дискуссия тоже уже устарела. Например, корпоративный сектор, который очень хорошо умеет считать деньги, с удовольствием использует ПО от Microsoft, и оно входит в его бюджеты. То есть сказать, что Windows – дорого, значит ничего не сказать.

Да, конечно, хорошо когда все бесплатно. И с моей стороны достаточно лицемерно говорить про стоимость лицензий когда я использую ПО по программам MVP и BizSpark. Но несмотря на это, те заказчики с которыми мы работаем с удовольствием приобретают ПО от Microsoft – с другой стороны, у многих из них стоит и Linux/Java. И вот что я вам скажу – они довольны и тем и тем. Поэтому говорить что что-то кардинально лучше – некорректно. И я не буду тут писать про то, насколько стоимость ПО ничтожна по сравнению со стоимостью разработки кастомных решений, ибо вы все итак уже знаете.

Инновации, смерть SQL, и т.п.

Для многих, Microsoft, ‘enterprise и консерватизм – это слова из одной ипостаси (люблю это слово). Поэтому многим видится консервативная компания которая по-тихоньку удовлетворяет и пьет кровь большого бизнеса, не очень-то обращая внимание на малый. Тем самым, сравнивая деательность Apple и Microsoft, например, обыватель может достаточно справедливо сказать что у Apple все как-то поинтересней – по крайней мере с точки зрения продуктов.

Увы, в плане разработки под различные платформы ситуация действительно не очень внушающая – посудите сами, что сейчас выгодней – разработывать для iOS или WinMobile? (или Android?) Ну а desktop-приложения для Windows сейчас создавать бессмысленно т.к. рынок перенасыщен уже давно, да и нет какого-то “уютного магазинчика” для всего этого добра.

Впрочем, в плане веба инноваций тоже как-то маловато. Да, Asp.Net MVC это небольшой шажок вперед, но если посмотреть на другие новые проекты (например Node.js), начинаешь понимать что речь идет о разных уровнях инноваций. В одном случае, это действительно свежии, новаторские идеи. В другом, эволюция существующих идей (например WebFormsViewEngine --> Razor), которая является чем-то ожидаемо-предсказуемым. Совершенно разные вещи. Так что в этом плане я с критиками согласен – инновационность, по крайней мере для разработки в стеке .Net определенно страдает. Есть конечно интересные вещи (Rx, StreamInsight) но их мало и кардинально они мозг не выносят.

Насчет NoSQL и SQL Server

В принципе, таким заголовком можно открыть флейм на тему SQL Server vs. NoSQL, где одни будут предрекать падение платформы SQL Server а другие указывать на то, что понадобятся годы чтобы реализовать SSxS на MongoDB или аналогичных системах.

Очень сложно спорить с тем, что при всех наработках платформы, SQL Server капитально проигрывает в производительности, масштабируемости, а также платформной зависимости. И еще, вы уж извините, но в стоимости он проигрывает тоже – да, я знаю что ранее я написал что стоимость некритична в общем случае, но так уж получилось, что суть хранилищ данных – это большие объемы а следовательно большое количество ядер. Лицензирование SQL Server в этом плане оставляет желать лучшего. Не знаю, может есть скидки когда инстансов много?

Тема NoSQL и то как она повлияет на стек .Net очень интересна. В принципе, уже понятно что binding’и на NoSQL базы есть и будут, поэтому существенные причины уходить с .Net неактуальны пока вы не решите уйти с Windows. Могу по себе сказать, что мои личные проекты связанные с web mining медленно перекачивают на MongoDB. Что касаеться “продакшн”, то тут я как и все буду осторожничать. Так или иначе, лично мне занятие MongoDB кажется актуальной стратегией для развития – даже более актуальной чем наращивание компетенций в Windows Azure.

Comments welcome.

Реклама

Written by Dmitri

21 июля 2010 в 22:42

Опубликовано в .NET, Development, Engineering, Internet, Programming

комментария 54

Subscribe to comments with RSS.

  1. Со всем согласен кроме стоимости на продукты для разработчиков. Если SharpDevelop не имеет вменяемой системы отладки это не повод щитать FOSS ущербным подходом. И если в .net мире этот подход еще не развит, тонапример в мире java очень даже (тот же eclispe). Просто иногда смотришь сколько просят за тулзы(библиотеки) для .net разработчика — то иногда плохо становится :).

    guest

    22 июля 2010 at 0:37

    • Ну если мы про IDE, то от VS Ultimate – да, становится плохо т.к. хочется IntelliTrace а платить за это надо over 9000. Что касается библиотек, то тут нужно себе представлять, что заплатив $1000 за какой-нть DevExpress вы получаете возможность предоставлять на нем решения и тем самым быстренько отбить эти инвестиции за счет красивого UI.

      И FOSS не ущербный подход, я этого не писал – FOSS дал нам огромное количество позезного инструментария, на котором мы зарабатываем деньги. Но также справедливо сказать что он дал нам много сырого, недоделанного инструментария который возможно и хочется использовать, но приходится сильно мучаться.

      Dmitri

      22 июля 2010 at 8:48

  2. Я тоже иногда задумываюсь, почему МС не изобретёт что-то кардинально новое, инновационное, совсем не такое как было раньше. А потом вспоминаю Висту. Вроде бы, получите безопасность, органиченные привелегии пользователя по умолчанию (ну да, сделано было корявенько поначалу, но теперь исправились), однако всё равно нашлись недовольные — слишком уж инновационно.
    Моё мнение — всегда будут идиоты, которые будут исходить желчью по поводу абсолютно любого хода МС. Ну и пускай варятся в своём «открытом и свободном» сколько угодно, а мы будем зарабатывать свои деньги делая то, что нравится нам, потому что продавать решения на продуктах МС пока выходит. Если завтра из недр не-майкрософта выйдет что-то что мне интересно и потенциально прибыльно — я буду заниматься этим. Ничего личного, как говорится.
    А Ложечкин — мужик! Прийти с таким на Хабр — это сильно.

    Maxim Moiseev

    22 июля 2010 at 9:51

    • Да ну нафих твоего Ложечкина :) Он на Петю наезжает :) А по теме — MS имхо не хватает целостного виденья свой платформы. Поэтому у них реально такая каша в этой самой платформе и творится. Если я плачу деньги, то хочу знать что и для чего я покупаю, а так получается что половина продуктов дублируют функциональность других :) А какие-то важные функции совсем не реализованы — например scalability в хранилищах данных.

      Anton Onikiychuk

      22 июля 2010 at 10:38

      • Ну слушай, на платформу нельзя наезжать потому что это главный бенефит .Net — то что он кооперирует с office, dynamics, asp.net, biztalk, sql server, да со всей экосистемой. Где еще такое найдешь?

        Что касается хранилища, то это вопрос «кому что», многие наверняка довольны зеркалированием, кластеризацией, и иже с ним… понятно что это «не совсем то», но все же.

        Dmitri

        22 июля 2010 at 10:55

      • Петя сам виноват.
        Насчёт целостности — это я согласен. 4 разных класса таймера, это надо уметь.
        А с другой стороны, это вообще чудо что оно вместе работает (и как работает!). Я могу много рассказать по поводу взаимодействия команд внутри большой корпорации, это ж просто ужас какой-то.
        Дублирование функциональности нынче неизбежно к сожалению. Нельзя, то есть вообще категорически невозможно совсем отделить один продукт от другого, если они оба нацелены на одну и ту же категорию потребителей.
        С теми же таймерами как? Один совсем системный, другой для Вин-форм. Если разобраться — так и оба вполне нужны. Так и с продуктами. Нет?

        Maxim Moiseev

        22 июля 2010 at 11:15

  3. Хорошая статья, с большей частью согласен. Сам когда-то написал подобную статью (http://msug.vn.ua/blogs/akrakovetsky/archive/2009/08/22/microsoft-lets-talk-about-microsoft.aspx и http://habrahabr.ru/blogs/microsoft/66883/) и тоже убедился, что адекватных людей достаточное количество.

    По сути. У Microsoft есть одна большая проблема — огромный стек технологий и продуктов, которые требуют совместимости и поддержки. Всегда продукты, выпущенные позже, будут лучшими за те, которые разрабатывались 5-10 лет назад. Это касается WinMobile, IE и т.д. Но ни одна компания не может похвалиться такой степенью интеграции своих продуктов и их разнообразием. Это откладывает свой отпечаток и на качество, и на инновационность (хотя посмотрите на Imagine Cup, Microsoft Research, Xbox (Kinect) и т.д.)

    Но основная проблема, как мне кажется, в том, что большинство крикунов — одержимые идеей open source (т.е. халявы), в которой нет ничего хорошего (http://msug.vn.ua/blogs/open-source/archive/2009/11/07/open-source.aspx), и которые никогда в жизни даже не пытались разработать (и потом продать) свой интеллектуальный труд.

    alex

    22 июля 2010 at 11:40

  4. Вот сейчас честно пытался вспомнить хоть какую-нибудь компанию, за последние 5 лет создавшую что-нибудь из ряда вон выходящее. Так и не вспомнил.

    Многие любят говорить о Google, но вот они как раз-таки реализуют у себя то, что уже было у других, но им удаётся продвинуть своё за счёт поисковой системы.

    Apple? А они что нового изобрели?

    Олег

    22 июля 2010 at 14:04

    • 100 баллов.
      ИМХО

      Последние 1.5 — 2 года, гении маркетинга от ИТ вытаскивают из чуланов старые порядком подзабытые чучела
      и приподносят их как революционные решения (Domain Driven Design, множество реинкарнаций MVC, динамические, функциональные языки, IoC)

      Vitaly

      22 июля 2010 at 14:55

      • Иногда вовремя вытащить старое чучело и показать, что оно не так уж и плохо и есть инновация.

        Взять к примеру Деминга, его фундаментальные идеи по контролю за качеством вполне можно назвать вторичными. А инновационен он как популяризатор — смог расставить акценты так, что дошло практически для всех.

        Michel Beloshitsky

        23 июля 2010 at 8:11

    • Ну какие-то инновации все-таки есть. Тот же Эппл например сделал экран для iPhone 4 с потрясающим разрешением — мы все должны уже работать с такими экранами лет 5 а то и больше, но вот тормоза и непонимание того что это надо — как раз пример отсутствия инноваций.

      Все что связано с тем же NoSQL — это инновации. Свежие идеи и продукты, которыми хочется пользоваться.

      Dmitri

      22 июля 2010 at 14:55

      • К сожалению, в базах данных плохо разбираюсь, поэтому тяжело представить их новые и старые возможности. :-(

        Олег

        22 июля 2010 at 15:33

    • Яблочники как раз очень хорошо понимают что они делают и какой должен быть продукт. Но это офтопп. По поводу МС- бесит что они постоянно пытаются придумать что-то новое, кардинально отличающеюся, но при этом оставить обратную совместимость. Что как — бы вещи несовместимые :) Короче главная проблемма Microsoft в том что там нет одного человека который держит всю компанию за яйца и говорит куда плыть. Их беда что у нет своего Джобса :)

      Anton Onikiychuk

      22 июля 2010 at 17:12

      • Ну хз, например при всем при том под Гатри началось реальная движуха в Asp.Net, а то так бы и сидели с нашими DataGrid’ами и ADO.NET

        Dmitri

        22 июля 2010 at 19:10

  5. А Билл Гейтс сейчас консультирует топ-менеджмент MS?

    Alex

    22 июля 2010 at 20:47

    • Вроде как он полностью отошел от дел.

      Dmitri

      22 июля 2010 at 21:57

      • К сожалению, слушая подкасты «2 Гига» от наших коллег, часто узнаю о том, что те или иные специалисты уходят из MS.

        Нужны новые люди и новые подходы.

        Alex

        22 июля 2010 at 22:53

        • Ну да, уходят. Из многих компаний люди уходят. Просто сейчас модно писать что из МС ушел важный человек Х.

          Dmitri

          23 июля 2010 at 0:01

  6. node.js -> IAsyncHttpHandler, не думаю что это большой шаг вперед. У RoR кстати тож есть решения(костыли) на этот счет.

    Mike Chaliy

    22 июля 2010 at 23:35

    • Не совсем. Nodejs → IAsyncIOHandler.

      Michel Beloshitsky

      23 июля 2010 at 8:02

      • В каком смысле?

        Mike Chaliy

        23 июля 2010 at 17:48

      • В том смысле что в события выносится не только обработка HTTP запросов, но и вообще весь ввод-вывод — обращения к БД, чтение файлов и т.д. На практике в события должно выноситься вообще все, что хоть сколько-нибудь продолжительно работает.

        Michel Beloshitsky

        24 июля 2010 at 10:17

      • Я знаю что такое неблочащий IO. IHttpAsyncHandler работает с IAsyncResult. Он спецом на это заточен. А IAsyncResult это и есть неблочащий IO. И его реализовывает все и WebRequest и SqlCommand и FileStream. И есть эта вся хрень начиная с .NET 2.0.

        Mike Chaliy

        27 июля 2010 at 16:20

        • И часть этой хрени только на бумаге неблокирующая ;)

          Dmitri

          28 июля 2010 at 11:02

  7. А я вот считаю, что основная проблема .NET — слабое, непрофессиональное community. Есть, конечно, классные специалисты, но их мало. Вот тут кто-то сказал, что в идее open source «нет ничего хорошего». Но ведь развитость открытых проектов — прямой показатель зрелости и профессиональности сообщества. Как лакмусовая бумажка. Посмотрите на Java и на их Open Source — там и Hibernate и Spring и Lucene и много-много еще чего. А что у нас в .NET? Жалкие java-traces? И это напиминает замкнутый круг: слабое сообщество —> полудохлый open source —> слабое сообщество. Или вспомним alt.net. Разве это не нонсенс, что внутри одного community возникает другое, более «правильное»?

    Чак Норрис

    23 июля 2010 at 17:36

    • Хм. alt.net не позиционирует себя как более «правильное». Оно позиционирует себя как другое. Это собсно признак зрелости. Пришло время когда в одной коммунити места мало. Надо делать более узконапраленные. Тем более что четкого разграничения нема.

      Mike Chaliy

      23 июля 2010 at 17:51

    • О, такое высказывание способно породить жесткий флейм. Я пожалуй напишу свой ответ пока не подключилась вся группа :)

      Насчет того что комьюнити слабое – с чем сравниваем? Серьезно, вот я живу в Питере, и тут технических комьюнити связанных с разработкой – кот наплакал. То, что у нас есть группа которая регулярно встречается и чего-то обсуждает – это уже хорошо на фоне того вакуума который тут царит.

      Теперь насчет непрофессиональности – тут идея явно не раскрыта. Что, что классных спецов мало – да, но так и должно быть, не всем же быть ассами, особенно если учесть что рынок аутсорсинга огромное количество “гуру” и потянуть-то толком не сможет, а хороших продуктовых компаний которые знают сколько стоит классный спец практически нет.

      Насчет Alt.Net – это последствие того что .Net контролируется одной компанией, тем самым всегда будут люди которым это не по душе и которые хотят использовать все наилучшее вне зависимости от того, производит это Microsoft или нет. Тут, мне кажется, никакой особой проблемы нет, скорее наоборот – честное, открытое обсуждение проблем и их решений.

      Dmitri

      23 июля 2010 at 17:53

      • Вам конечно виднее, но выскажусь
        Сообщество не слабое само по себе. есть суровые разработчики, которые не видят смысл тратить свое время на общение с кем то там. Понятно, что есть mvp, mcsa, mcse, mcsd и прочие mc*подобные, которые в качестве само-развития и саморекламы что то делают. Есть студенты типа меня, которые готовы что то делать и писать, которые хотят чего-то большего, чем работа в маленькой конторке по автоматизации бизнес процессов, который еще и админ еще и кофемолку чинит.
        Но остальным нет совсем смысла что то делать общественное.

        Ну и вторая проблема, что сообщество полностью зависимо от иностранных разработчиков и сообществ. Мне кажется что бы тут появилось классное сообщество тут надо разрабатывать MS какой-нибудь серьезный продукт. Что бы эти разработчики и стали основным костяком сообщества. А вокруг этих центров кристаллизации уже и вырастит сообщество.

        Мне вот лично ни в вузе ни по работе ни чего хорошего нет, от моей активности в проведении ug в вузе(и в других вузах), ни от статей которые пишу. На работе главное что бы делал что-то, причем не шипко сложно кстати. Там уровень супер гуру и не нужен. А в вузе- так все вообще плевать на общественно полезные дела. Главное что бы пары и лабы были.

        SychevIgor

        23 июля 2010 at 18:14

        • А я и не спорю, экономически все это необоснованно. Ведь Россия = аутсорс с рейтами в корридоре 30-50, а на таких деньгах хороших разработчиков не наймешь и не вырастишь. Поэтому то, что у нас кто-то что-то делает это даже удивительно.

          Ну а соответственно непонимание того «зачем это надо» я встречаю по несколько раз в месяц от разных компаний, крупных и мелких, причем не только российских. Есть разные уровни инженерной культуры, и в большинстве случаев компании слишком заняты the bottom line чтобы думать о разработке как о культуре.

          Иначе говоря, чтобы что-то изменить, «пропиарить» что-то там не получится, никакая индоктринация не подействует. У меня такое мнение что лучший мотиватор для работы — это деньги. Тем самым, пока мы как индустрия не начнем привлекать большие суммы для разработчиков (а не себе в карман), ничего и не получится.

          Dmitri

          23 июля 2010 at 18:27

      • С чем сравниваем и в чём непрофессионализм? Я вроде написал — слабый опен сорс (сравнить хоть с пресловутой java) как индикатор вялости и немощности сообщества (ИМХО, не хочу кого-то обидеть).

        Вот про alt.net хотелось бы поподробнее. Как известно

        …Дэвид Лэриби изобрел термин «ALT .NET» для описания возникающего в большом мире Microsoft® .NET Framework сообщества единомышленников, объединенных ощущением неудовлетворенности от того, что культура Майкрософт, относящаяся к инструментарию, руководствам и среде .NET, в целом не отражает и не поддерживает важный набор основных ценностей…

        Согласны с тем, что alt.net пропагандирует более идеологически чистый подход к разработке, чем остальное сообщество? Лично я согласен на все 100. Но что тогда из себя представляет ОСТАЛЬНАЯ часть этого сообщества?

        «.Net контролируется одной компанией, тем самым всегда будут люди которым это не по душе»

        Но как компания может контролировать сообщество? Мне кажется, что дело немного в другом. MS в плане продуктов для разработки всегда ориентировалась на «быстрые» и «лёгкие» подходы и технологии (вспомним зломогучий DataSet). Это снижает крутизну кривой обучения. Но такие подходы обычно не вяжутся с лучшими практиками (TDD, DDD, IoC и тд и тп). Как результат — .NET Community в основной своей массе (к сожалению) — это люди, отрицающие TDD, паттерны, сторонние продукты и всё-всё-всё, что дорого типовому alt.net-человеку. [Тут можно вспомнить, что, например, в RoR принципы TDD, CoC, IoC и шаблон MVC прививаются пользователю с самого начала использования. Это не лучшим образом сказывается на кривой обучения, но общая профессиональность сообщества только выигрывает]

        Чак Норрис

        23 июля 2010 at 18:27

      • И еще. Помню я читал тему на GotDotNet и плакал. Топикстартер спросил что-то типа «применяет ли кто-нибудь DDD в реальных проектах». И все в один голос отвечали ему: «DDD это академическая хрень, которую придумали глупые буржуи. Мы щас вот накидаем DataSet`ов, соединим их с гридами и всё заработает без всяких DDD». Пишу это не потому что хочется поспорить. Просто меня самого эта ситуация очень угнетает.

        Чак Норрис

        23 июля 2010 at 18:36

        • Это наверное было давно — теперь DDD очень модная тема. А GotDotNet — он как-то не смог отразить то лучшее что есть у нас в .Net-стеке. Читать тот же Хабр (ветка .Net) и то интересней. Хотя и там и там сейчас затишье.

          Dmitri

          23 июля 2010 at 19:49

    • Незнаю как у вас в ASP.NET’e.. а у нас в Silverlight’e с опенсорсом все пучком :)

      http://www.codeplex.com/site/search?query=siverlight

      Кстати о том что в .NET дофига портированных с Java билиотек.. так это же хорошо.. если есть качественный опенсорс проект, почему его не портировать? Что плохого в то том что люди используют нароботки с других языков программирования?

      Обязательно нужно создать чтото уникальное чтобы быть умным? о_О Умный человек кокраз чаще всех пользуеться комбинацией CTRL+C, CTRL+V

      Ai_boy

      23 июля 2010 at 20:18

      • Часто, ошибки из мира OpenSource перетекают именно с помошью этих олшебных команд — Copy, Paste.

        Ошибок архитектурных, идеологических, концептуальных, языковых, в конце концов.

        hack2root

        11 августа 2010 at 16:30

  8. @Чак Норрис так может к нам в подкаст (http://spbalt.net)? Очень хочется адекватного собеседника из мира Java

    VItaly Baum

    23 июля 2010 at 18:49

    • Кстати да, насчет комьюнити, вот нас много дотнетчиков и мы готовы идти на диалог с другими конфессиями. А они? Вот-вот….

      Dmitri

      23 июля 2010 at 19:43

      • Кстати ДА!!! Я не знаю есть ли в Москве Альтнетовцы, но судя по всему среди msp московский есть «еритики . Как минимум я, для которых важно решение задачи а не «религиозный » фанатизм и любовь к корпорации. Я 2 месяца занимался Java, до этого был С++. Сейчас смотрю что есть в Java по части вебсерверов(многообразие меня пугает.). Спокойно отношусь к линуксу и радуюсь возможности считать на java на кластере под rhel.

        Но вот вопрос, где мне в Москве найти людей других «религий» которые так же готовы общаться и учиться друг у друга? Я даже сообщества джавовского толком не нашел. Разве, что ОСУМ(или как то так), но там с десяток человек и на лето я от них планов не увидел не каких.
        Давайте общаться. Давайте обмениваться опытом. Я готов. Моя разум открыт.

        SychevIgor

        23 июля 2010 at 20:02

        • Альтнет сейчас есть в Питере, в Киеве и возможно будут какие-то подвижки в Челябинске. Про другие города я не знаю. Что касается диалога — мы только за. Собственно, мы и ведем диалог на наших блогах, т.к. это наиболее эффективно.

          Но вот привлечь людей из других стеков пока не очень просто. Мы делали попытки привлекать, например, java-разработчиков на наш подкаст, но наши предложения сталкивались в лучшем случае с индифферентностью, в худшей — с презрением. Наладить контакт с jug.ru мы не смогли да и наверное не сможем — хотя мы пробовали. Были на одной встрече Ruby’стов (еще в давние времена), но сейчас даже не знаю что группа делает. Вот на контакт с GTUG мы точно выйдем рано или поздно (я надеюсь).

          Dmitri

          23 июля 2010 at 20:19

    • Я не вижу особой проблемы в переходе действительно адекватных и хороших разработчиков. Я знаю пример когда чел джавист до мозга костей без проблемы в одном проекте использовал C#. Причем восхищался изяществом языка, но ворчал из-за тяжеловесности VS+R# после Idea и из-за сырости NH. :)
      Кому нужно без проблем проинвестирует время и получит от этого еще и кучу удовольствия. И для этого не нужны какие-то специальные евангелисты. Вся польза от них — одобрительный гул холиварщиков в зале. :)

      Alexander Tankeev

      24 июля 2010 at 12:28

    • @VItaly Baum очень лестное предложение) Но я, в общем-то не из мира Java, скорее наоборот — типовой .NET разработчик)

      Чак Норрис

      26 июля 2010 at 10:29

  9. эээ…а о чем статья то? много воды, которая образует очередной флейм…больше ничего

    Burmuley

    23 июля 2010 at 21:30

  10. А нужны ли бизнесу, сидящему на XP и IE6, инновации? microsoft — корпорация, обслуживающая бизнес. Зачем ей инновации?

    Я это к тому, что инновации (имхо) можно оценить по консьюмерским направлениям. Ибо они в отличие от корпоративных обновляются как минимум раз в год ( а не раз в 5-7 лет как в бизнесе).

    А пока же новая мобильная платформа Microsoft — Windows Phone 7 — с браузером, который не поддерживает html5, вряд ли можно отнести к инновационным продуктам. По крайней мере в первом ее варианте. По мне это нонсенс. Не про мультизадачность-копипасты (их наличие или отсутствие) надо говорить в мобильниках, а про чудовищность браузера без поддержки HTML 5. Опять же имхо.

    webdron

    24 июля 2010 at 18:22

    • Насчет корпоратива — да, тоже верно, там подход «работает — не трогайте» рулит. Вот знаю например один огромный проект на плюсах/com который и сейчас дописывают в том же стеке ибо переписывать дорого. Но дописывают их совсем не такие программисты, которые оставили комменты выше.

      Насчет поддержки HTML5, это конечно невменяемо когда люди имея на руках стандарт и более-менее четкое понимание того, что этот стандарт будут поддерживать их конкуренты сами не удосуживаются его поддержать. Лично меня например сильно удивляет что поддержка SVG в IE будет только в 9ке… это ж какой осталостью нужно обладать?

      Dmitri

      24 июля 2010 at 18:34

  11. Спасибо за пост

    Dweddyclene

    29 июля 2010 at 1:53

  12. […] асинхронную обработку, знающие .NET люди также указывают, что там асинхронность есть еще с версии 2.0 (см. […]

  13. Я являюсь автором нескольких библиотек на CodeProject (библиотека — аналог MEF, фреймворки для расширения Silverlight 4, DSL).

    Недавно создал Framework для быстрой разработки DSL, а именно — фреймворк для быстрого прототипирования DSL с использованием LL(1) грамматик, который поддерживает интеграцию с ns: System.Expressions.

    Но! Я не могу найти работу, как .NET разработчик, и дело не в квалификации или возрасте, а именно в том, что специалисты .NET не востребованы. Система сертификации не работает, любой школьник может за неделю сносно научиться писать на C# (как он думает), спросите любого программиста Delphi, и он вам ответит, что может выучить синтаксис этого языка за 2 часа… А мого ли это меняет? Кто учит в университетах и школах, как именно на практике использовать паттерны проектирования, сложный рефакторинг, кто преподает Agile-методологию, тестирование-TDD, XP, SCRUM? Да никому это не нужно, пока можно нанять 20 студней + 1 студень-олимпиадник, сделать из них команду CodeMonkey, и делать деньги…

    По своей сути, технологии Microsoft не раполагают к инновациям. Кардинально, экосистема Microsoft не изменилась, вот скажите мне, что мешало поступить как Стив Джобс, и придержать технологию WPF до тех пор, пока не придёт время, в железо включат полное аппаратное ускорение в ОС для этого самого WPF для всех Win платформ? Пока не сделают разработку WPF действительно быстрой? Почему нет нормальных утилит для отладки пиксельный и векторный шейдеров?

    В общем, ищу работу!
    +79613615761
    hack2root@hotmail.com

    hack2root

    11 августа 2010 at 16:21

    • Но! Я не могу найти работу, как .NET разработчик, и дело не в квалификации или возрасте, а именно в том, что специалисты .NET не востребованы. Система сертификации не работает, любой школьник может за неделю сносно научиться писать на C# (как он думает), спросите любого программиста Delphi, и он вам ответит, что может выучить синтаксис этого языка за 2 часа… А мого ли это меняет? Кто учит в университетах и школах, как именно на практике использовать паттерны проектирования, сложный рефакторинг, кто преподает Agile-методологию, тестирование-TDD, XP, SCRUM? Да никому это не нужно, пока можно нанять 20 студней + 1 студень-олимпиадник, сделать из них команду CodeMonkey, и делать деньги…

      Давайте не забывать, что в России (а вы ведь в России, не так ли?) не существует рынка для продвинутых разработчиков вообще. Его просто нет. Есть единичные компании вроде JetBrains, но их capacity ограничена. А для аутсорсинга, которым например я занимаюсь, супер-мега-знания не применимы… точнее я например с удовольствием продавал бы разработку по $100 в час, но кто будет за это платить? :)

      Dmitri

      11 августа 2010 at 17:39

  14. Угу, Россия — мать, :)

    hack2root

    11 августа 2010 at 17:50

    • Вам никто не говорил, что на фото вы похожи на Шелдона Купера!? =)

      TEHEK

      28 августа 2010 at 0:27

  15. Блин, не туда ответил…

    Вам никто не говорил, что на фото вы похожи на Шелдона Купера!? =)

    TEHEK

    28 августа 2010 at 0:29

    • Неа, не говорили, но подозреваю что по степени загиковости мы может и схожи.

      Dmitri

      28 августа 2010 at 9:16


Оставить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: