Pull to refresh

Comments 135

Верните Silverlight — и я все прощу!
UFO just landed and posted this here
Помню год назад на всех конференциях Microsoft, коллеги из MS советовали использовать Silverlight.
Это была замечательная технология будущего, которая обладала огромным потенциалом.
Сейчас, думаю никто и не ждёт возвращения SL, и его 6ой версии. Так что, моё доверие к MS упало.
Год назад был на MsDevCon — никто особо Silverlight не советовал, больше разговоров про HTML 5.
Как я понял, сервелат планировался как ещё один способ захвата мира, а вместо этого он оказался нишевым продуктом для корпоративного софта. Планировался «убийца флэша», но флэш сам по себе помирает, «клёвые сайты с клёвым дизайном» потихоньку переезжают на HTML/JS, на флэше остаются векторные анимации и игрушки, в долгосрочной перспективе на HTML/JS мигрируют и они. Понятно, что HTML/JS не предоставляет многих фенечек сервелата, но мир выбрал HTML/JS, и даже мелкомягкие ничего не могут с этим сделать (хотя насколько старались — вопрос: лунный свет особой поддержки не получил).

В общем, надо винить окружающий мир, а не мелкомягких.
Корпоративный сектор — не весь мир, и он в ближайшие пять лет точно не готов к HTML5, а в случае Microsoft и все 10 лет, т.к. они помимо обновления браузера, требуют обновить операционную систему, т.е. лишние никому не нужные затраты.
Про Silverlight и XNA так пишете, будто их нельзя больше использовать. Не понимаю, почему добавление нового API следует рассматривать как запрет на старое.

По поводу модерн приложений — если я не ошибаюсь, можно разворачивать корпоративные магазины приложений в интрасети
Вы это переводили потому, что яростно с этим несогласны и изложенное в статье Вам совершенно неинтересно?

PS: я Вас ни в чем не обвиняю… просто формулировка вызывает сомнения. Я бы не стал переводить на русский то, с чем несогласен. Возможно сделал бы это в виде полемики. Но не как простой перевод.
Заметьте, это ваше личное мнение. Я бы приспокойно перевёл то, с чем лично я не согласен или считаю дискуссионным.

Автору спасибо за перевод.
Не знаю как для кого, но для меня что обычный пост, что пост-перевод однозначно расценивается так: «Уважаемые пользователи, я нашел интересную для меня информацию, получил интересный опыт… Теперь хочу с вами поделиться своими мыслями.»
И мне кажется большинство так и относится к любому посту: «В тексте мысли автора поста».

PS: заметьте, я не писал, что перевод отстой, автору дизреспект. Переводы нужны и автору спасибо. Не согласен был с конкретным комментарием.
Корпоративные магазины нельзя, а вот приложения разворачивать вполне себе можно. Кажеться для этого и был создан Windows Intune, а так же через него можн разворачивать приложения для iOS, Android, Windows Phone
Может потому что XNA — discontinued?
Разве были официальные заявления? Мелкомягкие просто молчат по поводу XNA.
Кроме письма к MVP еще были сообщения, что XNA не будет для VS 2012 и платформ W8 и WP8, а обратная совместимость с версией от WP7 будет прекращена в 2014.
Использовать-то можно, только то, что не поддерживается разработчиком обычно довольно быстро устаревает, в особенности, если остальные технологии поверх которых они работают, развиваются дальше. В конце концов наступит момент, когда такая технология может просто не завестись на новом оборудовании/оси/окружении, а то и инструмент разработки перестанет поддерживать эту технологию. Для любого разработчика главное осознавать, что он сам не устареет со временем на той технологии, которую использует, ибо сами понимаете — ИТ отрасль настолько динамична, что можно остаться на обочине влегкую.

По поводу модерн приложений — почитайте внимательно статью. Принцип разворачивания — не главное. Вернее один из главных моментов, но главное в том, что модерн приложения рассчитаны все же на планшеты и на них (приложениях) порой практически невозможно создать нужную логику для бизнес-приложений. Ну, сами подумайте — практически все модерн-приложения предназначены для ПОТРЕБЛЕНИЯ КОНТЕНТА, Что-то делать сложное (читай — СОЗДАВАТЬ КОНТЕНТ) на них просто неудобно. Очень забавно бы смотрелся скажем фотограф, возящим пальцами по монитору, обрабатывающий фотографии в таком модерн-фотошопе:-) Ну, пусть мышкой, но все равно сам принцип построения модерн приложений не дает такой насыщенности инструментария на квадратный сантиметр и удобства пользования, как десктопное приложение. Тут просто красота и красивые транзишины совсем не на первом месте.

а то и инструмент разработки перестанет поддерживать эту технологию

XNA в VS2012 уже не ставится же, вроде?
Про ХНА не знаю, я все силвером и впф-ом пробавляюсь :-) Но судя по вашим словам мое мнение уже находит свое подтверждение.
Cтавится (хотя и через анус). У меня на двух машинах стоит.

Кроме того XNA вроде можно подключить просто добавив ссылки на dll и чё-то там поправив в реестре/кронфиге. Единственное что шаблона нового проекта. Но я сам не пробовал.
Потому что они вполне могут взять и, например, отключить Silverlight в Windows 8.1 или Windows 9. Или для очередной версии Mac OS и тогда один из основных его плюсов — кросплатформенность, исчезает.
Думаю портировать Silverlight на Windows RT было не сложно. Но нет, флэш включили, а Silverlight — нет.
Можно, конечно, портировать все на WPF 4.0 (на 4.5 нельзя, т.к. он в XP не поддерживается), но это уже не так удобно. Но тогда пользователи с маками пролетают…
А под HTML5/js надо все с нуля переписывать, да и смешно это для корпоративных приложений.
Все, что сейчас происходит вокруг Microsoft (резкие смены ориентиров, увольнения ТОП-менеджеров, падения продаж, провалы новых продуктов) свидетельствует о не готовности Microsoft решать системные проблемы. Складывается впечатление, что у руководства компании просто паника. Они не знают что делать дальше. И все их действия, действительно, причиняют пользователям не только неудобства, но и достаточно серьезные убытки.
Ну, вы же понимаете, что это не так. Они нацелены на планшеты и телефоны и уверенно отсекают лишнее.
Прискорбно, но API развиваются очень стремительно и компаниям прийдется что-то менять, а разработчикам учить.
Одно дело когда API и платформа вдохновляют и подталкивают к творчеству, а другое дело из-под палки писать код на непонятно-как развивающейся платформе просто потому что «ну, наша программа должна и в Вин8 как-то работать». Программы будут писаться «на отмазку» и без энтузиазма.
Нет. Я этого не понимаю. В ущерб развитию «настольных ОС» они лезут в тот сегмент, борьбу в котором они уже проиграли. Доля их продуктов на рынке мобильных ОС — в пределах погрешности. И перспектив там нет и не будет.

Пользователям настольных систем вместо старой надежной и проверенной ОС навязывают калечную недоделку без будущего. Пользователи возмущены, они терпят убытки. Никогда в истории компания, которой они доверяли, не обманывала их так бесцеремонно.

Когда к MS пришло осознание происходящего, начались чистки на всех уровнях. Что я должен понимать?

Со своей (прикладново-разработчиской) колокольни я понимаю следующее. Мне придется учить. Выхода нет. Но это будет что угодно, но не программирование для платформ MS, поскольку там — тупик.

В ущерб развитию «настольных ОС» они лезут в тот сегмент, борьбу в котором они уже проиграли.

Цыплят по осени считают. Мелкомягкие влезли и в забитый под завязку рынок игровых приставок, и на забитые *никсом серверы. И вполне успешно влезли. Если мобилки из раза в раз проваливаются, это неприятно, но нельзя оставлять попыток. Если компания остановится на офисе и десктопе, то она умрёт.

Другой вопрос, что мелкомягкие захватывают рынок ценой испоганивания десктопа — это свинство, конечно. Но они могут себе позволить чуть проиграть на десктопе, если это увеличивает их шансы на мобилках.

Если честно, мне бы хотелось, чтобы МС на мобилках взлетела. Хочу программировать на дотнете, а не на джаве или вообще уродливом objective-c. :)
Хочу программировать на дотнете, а не на джаве или вообще уродливом objective-c. :)

Чем не устраивает Mono или jvm-языки, которые более лучше, чем java?
Чем решение более «изкоробочное», тем проще, удобнее и надёжнее. К «альтернативам» обычно отношусь скептически: гарантированно будут всплывать какие-то «нюансы», сообщество разработчиков меньше, средства разработки более ограниченные и т.п. Впрочем, я пока серьёзно не изучал варианты, потому что нужды особой не было. Так-то и Xamarin, и чего только нет.
Не уверен, что аналогия с серверами уместна. Как, впрочем, и с приставками.

Никсы с точки зрения коммерции — не пойми что. Свободное ПО, со всеми его недостатками. Там была ниша для коммерческого решения и MS ее заняла. И это делалось не в ущерб ОС для конечных пользователей.

А что здесь? Здесь на вершине сидят две такие акулы, которые Microsoft сожрут и не заметят. Опыт сражения «за Интернет» уже был.
Был опыт сражения не «за интернет», а «против интернета», ИМХО. Мелкомягкие с ИЕ сначала выбили землю из-под ног конкурентов, а потом забросили браузер на 5 лет, а реально занялись развитием только через 10 лет, когда новые конкуренты слишком окрепли. И ведь ИЕ снова возвращает позиции.
О чем мы говорим? Какой IE? Я уже и забыл, что это такое. Это программа для скачивания FireFox, что ли?
Я говорю о Bing и Google.
Даже смотреть не собираюсь. Не приведи Господь еще привыкну, а они опять интерфейс сменят, как это водится у MS. Потом пересаживаться на другой браузер или тратить кучу времени, дабы разобраться в их новых изысках? Увольте!
Учитывая, что Netmarketshare меряет проценты только по Редмонду, то да, растёт :)
Возьмите, например книгу Steven Sinofsky, One Strategy: Organization, Planning, and Decision Making (это тот самый человек, что рулил выпуском семерки, восмерки и винфона, а до этого много лет — офиса)
где он рассказывает как целенаправленно переколбашивал структуру компании, чтобы быдло не 7 уровней иерархии, а 4 (после того, как с многолетней задержкой выпуска висты стало понятно, что компания стала болотом).

И вспомните, что через пару месяцев после релиза восьмерки его попросили из компании.

Так что там именно с организационными и стратегическими делами беда-беда.
чтобы быдло не 7 уровней иерархии, а 4

Вы точно написали именно то, что хотели?
Опечатался, было.
Редактирование, к сожалению, уже недоступно.
Проблема майкрософт в том, что они слишком часто меняют апи. Об этом еще Спольски писал. В то время, как Java постепенно получала новые функции, в майкрософт-стеке были метания win32api-mfc-atl-.net-winforms-wpf-silverlight-modern. И это раздражает разработчика, когда ему уже не 20 лет.
Я еще не читал пост.
Вообще.
Ни одного слова.

Но совместив заголовок и фотку — возникла ассоциация: Стив Балмер и Билл Гейтс глядят на будущее как на «чисто поржать».
Автору — респект!
Очень тяжело читать :-(
(Запомнить на будущее — правильно разбивать информацию. и форматировать по мере возможности).
Автор — извини — но очень тяжело читать.
Я читал Толстого, Достоевского, Чернышевского, Ленина, Лема, Стругацких, Пелевина — и даже Брежнева и Донцову.
Но это — нечто особенного :-(
Все чо-то минусуют, а я поддержу товарища. Читать и вправду тяжело.
Хотя фоторяд — отличный.
Собсно — из него всё понятно.
Автору — по-прежнему респект.
(За фоторяд — не за текст; текст не осилил и не собираюсь)
Это не твиттер. >_<
Чем Вам детсад не угодил?
По-моему — хорошее место.
Было :-(

(«Улыбайтесь, господа» (с) Мюнхаузен (с) Янковский)
Вот смотрю в ваш профиль и удивляюсь: год рождения 70-й, а ума лет на 30 меньше.
Там еще дата рождения есть.
Вы излишне доверчивы.
Ну и самонадеянны тоже излишне.
Видимо — эти вещи взаимосвязаны.
Да вы просто таймштамп, какой-то!
зы. Если действительно трушная дата рождения, то легко постоянно проверять, сколько Вам милисекунд!
Вам, как айтишнику, дата 1 января 1970 должна намекать :).
UFO just landed and posted this here
Так есть же MonoGame, который практически полностью копирует XNA, но кроме этого ещё и мультиплатформенный. Читал где-то, что вроде как даже Microsoft советует его использовать вместо XNA.
Ага. Судя по истории коммитов на github.com/mono/MonoGame, работа над ней ведётся довольно активная.
Возможно, что и переходная. Но уже сейчас после полугода ее использования, я вижу, что ее основное ядро, не связанное модерн приложениями чуть ли не на порядок лучше ядра семерки (сам использую только десктоп). Так что для меня восьмерка является чуть ли не прорывом в технологическом плане.
Поделитесь, в чём проявляется: «я вижу, что ее основное ядро, не связанное модерн приложениями чуть ли не на порядок лучше ядра семерки»
Пожалуйста.
1. При тех же возможностях (а то и больше), чем в семерке, ядро работает на порядки быстрее и жрет меньше памяти и вообще ресурсов. Пример. У меня есть старый ноут MSI PR-210 с 1 гигом памяти. На нем ХР летает, Виста еле шевелится, семерка вообще не шевелится, восьмерка работает на уровне ХР. То есть вполне комфортно. Для меня это главный пункт.
2. По ощущением управление памятью и ресурсами стало лучше.
3. Отзывчивость системы в целом при большой нагрузке стала лучше.
4. Совместимость с предыдущими версиями системы выше, чем в семерке. На какой-то конференции один парень сказал, что на восьмерке поставилась старая программа, которая вообще не хотела работать ни в висте ни в семерке.
5. Работа с железом стала намного лучше, драйвера даже по умолчанию позволяют не замечать того, что что-то не настроено. Даже при том, что если есть куча воскл. знаков в диспетчере устройств. Однако по сравнению с семеркой изначально после установки системы их меньше. Понятно, что лучше все же ставить родные драйвера, но все равно приятно.

было еще много замечаний по фактическому улучшению работы, но они специально не накапливались (не записывались) мною и я уже подзабыл их.
Не в первый раз MS подставляет и кидает через известный орган целые сообщества разработчиков. Вспомните историю с COM, DNA, VB6, WinXP… Доверять этой компании нельзя ни в чём.
COM как был, так и остался, его очень глубоко утрамбовали. VB6 к моменту выпуска .NET был уныл несколько более, нежели полностью и я, например, с радостью начал изучать vb.net. Правда потом ушёл на C#, но это уже другое.
VB6 к моменту выпуска .NET был уныл несколько более, нежели полностью и я, например, с радостью начал изучать vb.net
— а вот миллионы разработчиков по всему миру, вложившие время и деньги в изучение VB, почему-то с такой же радостью не согласились учить новый язык, вместо того чтобы получить полноценное совместимое развитие 6-й версии.
COM как был, так и остался, его очень глубоко утрамбовали
— я о том, что COM провозглашался MS как панацея от всего, и опять же вложившие время в его изучение разработчики были жестоко кинуты с появлением NET (который, по-видимому, легко может повторить судьбу COM в близком будущем).
я о том, что COM провозглашался MS как панацея от всего, и опять же вложившие время в его изучение разработчики были жестоко кинуты с появлением NET
Это была эволюция. СОМ честно отпахал свои 10 лет с лишним без альтернатив, да и сейчас только что не на слуху, но в своих нишах живет и здравствует.
А причем тут спекулятивный рынок? Там инвесторы, а не разработчики. Уйдут разработчики, уйдут и инвесторы. Никто вливать денег в MS просто так не будет.
Кстати, а как «передавать» Modern-api приложения, что находятся ещё на стадии разработки, на другие компьютеры для проверки?
Или просто поделиться с другом «смотри, какую прикольную штуку я написал, попробуй.»?
Насколько знаю, только если кидать исходники и запускать из студии.
Безумие. А я думал что после всех этих ограничений хуже уже быть не может. А как быть с приложениями для внутреннего пользования?
Или, когда windows станет Modern style only (как иногда подозревают, что так будет в конце концов) такие приложения для внутреннего использования придётся писать под линукс?
ну может есть способ, но я его не знаю.
Я все-таки надеюсь, что майкрософт одумается и уберет метро в девятой версии, развивая его только в винфоун. Получится такой Apple Way. Было бы идеально. А вообще сейчас у линуксов хороший такой шанс сделать нормальное юзабилити и заграбастать себе юзеров, но пока никто…
Линуксы заграбастали меня еще на виндоуз виста. А жена попросила гном 3 на ноут с сенсорным экраном, а вин8 снести. Не потому что непонятно, а потому что нафиг оно все такое надо. На юзабилити не жалуемся.
гном 3 хорош, но увы не для лоу энд. У меня на двуядерном пентиуме и 2 гигах оперативы тормозит безмерно, когда восьмерка летает
В студии нажимаете кажеться publish, выбираете тестовая сборка. Студия генерит для вас специальную инсталяцию, отдаете ее тестировщику, он запускает там power shell скрипт который все инсталит. Единственное чтот ему понадобиться так это ввести свой microsoft account и приложение у него будет активно 2 недели, потом нужно будет удалять и заново инсталить
Если вы имели в виду корпоративное развертывание, тогда для этого есть Windows Intune.
Насколько я понял эта штука работает на самом деле на серверах MS только вяжется с вашей инфраструктурой через System Center и естественно с различными сервисами ActiveDirectory, Office365, Exchange.
Кстати поддерживает и Windows Phone 8, Androd, iOS
Как всё сложно стало…
Да, не просто, мы пытались в компании заставить Windows Intune работать в прототипе, но без успеха. К тому же обязательное лицензирование драйверов и софта ещё хорошо бьёт по карману и занимает немало времени. Особенно, если вы любите выкатывать новые версии часто.

Вообще, из прототипа поняли, что поддержка новой версии нам выльется в такую круглую сумму, что не станет окупаемой в обозримом будущем, благо, пока что никто из существующих и потенциальных клиентов о win8 даже не говорит, а мы тем временем пытаемся полностью уйти в web, отрешившись от операционных систем полностью.
Жесть какая-то. Хорошо хоть десктоп не вырезали. Пока-что.
а можно пруфы, что Майкрософт прекращает поддержку XNA и Silverlight или что заявляет, что не будет выпускать новые версии?
Господа, это похоже на объявление "Holy war", но позвольте всё же спросить, какие-такие «вкусные» возможности предоставляет Silverlight, которых нет в HTML5, и которые могут пригодиться в корпоративной среде?

Лично мне, кажется что отсутствие таковых и побудило Microsoft отказаться от него в пользу HTML + JS, пример мнение разработчиков — О том, почему мы будем использовать HTML(5) вместо Silverlight.
Возможности? Скорость разработки. Тот UI, который на сильверлайте делается за день, на HTML пилить неделю.
Это не «мнение разработчиков»(всех?) а ну оооочень субъективное и спорное мнение одного человека. Там половину пунктов можно смело выкидывать в мусор.
Мощный инструмент разработки. Четкая и понятная структура XAML, например я ни разу не пользовался дизайнером, так как код достаточно понятен, чтобы видя его, понимать, как оно будет отображаться на экране. Довольно высокая совместимость и кода и XAML с WPF. Порой с небольшими условностями можно было писать одновременный код и для силвера и для ВПФ, хотя конечно то, что силвер разрабатывала другая команда, чем ВПФ, давала свою порцию неприятностей, особенно, когда возникала необходимость полезть чуток вглубь. Ну, в силвере конечно не обошлось без ложки дегтя, но в целом технология для своей ниши была вполне конкурентноспособна и удобна в использовании.
Вам описать всю .Net Framework? Ок, не всю, ограниченную из-за политик безопасности для сети. Но это готовая рабочая платформа с готовыми решениями, с готовой средой разработки, TFS с которой работает JIRA, кучей возможной по анализу кода, архитектурному планированию, и того что сейчас вообще с проектом происходит. Это готовая инфраструктура, садишься, вливаешься в коллектив и кодишь.

А HTML5 для корпоративного разработчика что может предложить? Извините, но разработка прикладного софта это не стартаперское ваяние игрушек или онлайновых-магазинов.
Не в обиду Вам все это написал, как язык — HTML5 + JS вполне себе круты, и можно и на них на них накодить что угодно. Вопрос какой ценой.
Трудозатраты растут нелинейно по отношению к росту сложности задач. Та статья, которую вы привели в пример это такой дешевый маркетинг для студентов. Для корпоративного рынка даже график бы выглядел совсем по-другому.
Корпоративное программирование подразумевает целую инфраструктуру в виде систем контроля кода, разработки, разработчиков, баг-трекинга, зачастую в закрытом виде. Это вам не «наколенный кодинг вдвоем с другом», не знакомы вы с реальной жизнью, когда у тебя в софте работники работают, а не интернет-юзеры контент потребляют.
Вам описать всю .Net Framework? Ок, не всю, ограниченную из-за политик безопасности для сети. Но это готовая рабочая платформа с готовыми решениями, с готовой средой разработки, TFS с которой работает JIRA, кучей возможной по анализу кода, архитектурному планированию, и того что сейчас вообще с проектом происходит. Это готовая инфраструктура, садишься, вливаешься в коллектив и кодишь.


Никто не пытается умалить достоинство .NET ( я сам нахожу это лучшим из всего с чем приходилось работать).

Никто не пытается умалить значения и удобства работы с ним при разработке в корпоративный среде.

Был задан конкретный вопрос о Silverlight и HTML5 + JS.

И на него, большинство из отписавшихся дали ответ, какие плюсы они видят.

А не делали скоропалительных выводов и не вели огульную критику…
Простейший пример: список с несколькими тысячаси позиций с быстрым поиском и фильтрацией и без paging. С Gmail подумываю уходить обратно на Outook как раз из-за этого. Задолбало кликать по 1, 2, 3 чтобы найти нужное письмо (да и последние изменения в UI мне не нравятся).
На silverlight я просто кладу обычный listbox, а на HTML/js надо извращаться насколько я понимаю. И так со многими вещами.
Ну и скорость работы. В тех же google apps на новом ноутбуке в Chrome есть неприятные подлагивания которые меня, например, раздражают.

Простейший пример: список с несколькими тысячаси позиций с быстрым поиском и фильтрацией и без paging. С Gmail подумываю уходить обратно на Outook как раз из-за этого. Задолбало кликать по 1, 2, 3 чтобы найти нужное письмо (да и последние изменения в UI мне не нравятся).


Это вопрос о UI

На silverlight я просто кладу обычный listbox, а на HTML/js надо извращаться насколько я понимаю.


Рискну предположить что вы не очень хорошо знакомы с HTML + JS. Да придётся побольше повозиться, но слово «извращаться» неуместно :)

С HTML/JS я действительно плохо знаком. Очень не хочется, но, похоже, придется изучать…
Я понимаю что там наверняка есть 100500 фреймворков которые такие списки умеют делать, но сам HTML под это плохо заточен.
Даже там где это есть (лента facebook или twitter, например), он просто по мере скроллинга подгружает нижние значения. Опять же, потому что быстро загрузить весь список в HTML нельзя. Правильно я понимаю?
потому что быстро загрузить весь список в HTML нельзя
Как вы себе представляете это «нельзя»? Просто экономия трафика, потому что лента, практически бесконечная и смысла грузить её всю со дня создания сайта нет смысла.
Наверное, речь о «виртуальном режиме» Listview.
Программист описывает 100500 строк по 50 пикселей в высоту, система сразу строит скролбар и позволяет крутить до любой строки. А запрос контента и рендер возникают при попадании строки в видимую область экрана.

Нативно в HTML нет подобного механизма, возможно какие-то костыли можно придумать.
Недавно была хорошая статься: Чему я научился за 8 месяцев в Microsoft. Наиболее точно ситуацию с MS описывает «Важно не то, что ты сделал — важно то, что ты продал.» Любому менеджеру для карьеры выгоднее сделать новую технолонию, чем совершенствовать старый проект с большим техническим долгом. Это как тащить бегемота из болота, всего в тине и грязе. Не очень перспективно.
Вы бы до конца ту статью дочитали вместе с комментами, что бы узнать что автор был Developer in test и он малось «погорячился». Особено когда народ из команды Azure начал ему отвечать автор быстро стух.

Те кто хотел узнать истинную суть произошедшего — узнал, кто хотел услышать именно это, что бы попинать MS никогда не будет смотреть дальше желтого поста.

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

К основному моменту, который я высказал, это все равно не имеет особого отношения. Я считаю, что менеджеру для карьеры предпочтительнее начать свой проект и его зарелизить, чем заниматься старым проектом. Особенно отягощенного большим техническим долгом и обратной совместимостью.
Вы видимо опять неправильно прочитали. Он работал в одной отдельно взятой команде. В MS около 100к сотрудников, и у каждой команды свои принципы ведения разработки и тд. Причем автор даже не работал над самим продуктом, тоесть не проходил ни ревью ни чего то подобного, так как тесты != продакшен код. Его по сути посадили писать индус стайл тесты что бы закрыть тестплан. Где он там хотел увидеть все, что он перечислил? Это просто очередной FUD, который хэйтеры так любят раскручивать и твердить как мантру.
Знаете что… а давайте рассмотрим постановку задачи как Вы её описали. Вы то разбираетесь в материале отлично, не так ли? Прочитали сами ну и легко можете понять, что дургие не прочитали или поняли не правильно.

Итак: «посадили писать индус стайл тесты что бы закрыть тестплан»?

Какие выводы мы можем из этого сделать:
a) В комманде пишут индус стайл тесты. «индус стайл» обычно оссациируется с кодом некачественным, с дублированием, созданный людьми с низкой квалификацией.
b) Разработчики не пишут тесты (или пишут недостаточно). Вместо них тесты пишут новички-интерны.
с) Его никто не спрашивал, хочет он их писать или нет. Посадили — работай. Правильно, знай интерн свое место.
d) Закрывать тестпланы индус-кодом — практикуется. А чо нет? Закрыли, отчитались, все ок. Не продакшн, можно воротить чо хош.
e) Процесс поставлен таким образом, что неоптимальный, плохой, копипастный код проходитю Ну не в продакшн, конечно, но проходит в code base всего проета.

В общем, остается пожелать его менеджеру, что бы его сортудник хорошо прокачался в написании индус стайл тестов и пошел на повышение, в разработчики :)
1. У теста не стоит задачи быть красивым кодом, удовлетворять политикам и тд.
2. Это ок. Для этого и есть позиция Developer in Test, куда часто попадают интернами.
3. Вообще то это называется работа не? Ты приходишь, выполняешь поставленные задачи и получаешь за это денежку.
4. Причем тут продакшен? У вас в проекте может быть красивый грамотный код, но тесты не обязаны быть красивыми и тд. Их задача просто закрыть тест план.
5. Где он проходит в codebase? Тесты != codebase.

При всем при этом не бывает идеального кода. В проектах всех компаний есть пахнущий код, так как как уже выражались в одном из топиков — главное в проекте — грамотное управление техническим долгом.
Та я понял, понял. Тесты — это свалка говнокода. «ёлита» туда не лезет, а сует интернов. Мол думал в MS идешь, будешь мир менять, а вот тебе. Насадку на нос купишь сам. И не ной, тебе платят. Не нравится — вали. На счет технического долга не парься, как только нашего менеджера повысят, этот проект закроют или заморозят и будем работать над новым. Главное — грамотно управлять техническим долгом. Давно так работаем, пока все нормально.

Ну прям идилия, Вам не кажется? :)))

Ну честно, у вас тесты аудит проходят по безопасности?=) Или вы стараетесь допустим соответстовать всем требованиям FxCop?=) Никто не мешал конкретно этому интерну писать качественный код, а обвинять других разработчиков что кроме работы они еще чем то интересуются(как же так! ;)) это уже nerd rage какой-то ;)
Понятия не имею, что у Вас ассоциируется с аудитом по безопасности, но тесты code review проходят, конечно. Точнее, проходили — я место работы поменял, так что мой код теперь некому ревьювить :) Что касается FxCop — с ним вообще проблем быть не должно. Через пару месяцев работы с ним уже на автомате пишешь код, который валидируется на 99%, без разницы, тесты, или нет. Проще в тестах чуть докрутить до полной валидации, чем руку сбивать :)

Самое интересное, это вот это: «Никто не мешал конкретно этому интерну писать качественный код». Я это слышу уже лет 10 в разных интерпретациях. Так вот: если от человека просят сделать фигню, то неча потом упрекать ему, что фигня получилась и что у него были все возможности сделать хорошо. Вы сначала сказали, что «посадили писать индус стайл тесты», а потом спрашиваете, что же ему помешало написать не «индус стайл тесты», а качественный код. Отсутствие желания делать то, что никому не нужно, видимо.

На счет «обвинять других разработчиков что кроме работы они еще чем то интересуются» — в оригинальной статье: «Mostly, people have other things to do (e.g. family and kids) and writing better code is not a priority for the most.» Они не «кроме работы… еще чем то интересуются». А «для большинства написание хорошего кода [делание своей работы хорошо] не является приоритетом».
Может быть кто нибудь может подсказать первоисточник этой статьи?
Google как то не сильно помогает
Ссылка на оригинал под статьей, где указано кто запостил, рейтинги и т.д. Со стрелочкой :)
Отличная статья. Я как начинающий MS-разработчик смотрю на все происходящее с ужасом. Вот представим себе человека несколько лет назад, сидящего на несколько устаревших технологиях — C#, какие-нибудь корпоративные приложения на WinForms и ASP.Net.

Перспективы вроде четкие — новые настольные приложения как корпоративные так и для массового пользователя — WPF. Инди-игры — XNA. Сложные корпоративные приложения (в смысле туча замороченных интерфейсов которые надо очень быстро и чтобы всем нравилось и было удобно) — Silverlight. Веб-приложения — ASP.Net. То есть везде один язык, везде один слой доступа к данным, везде одна среда, везде используются уже имеющиеся навыки.

Светлое будущее в котором надо учить продвинутые фишки C# и расширять свои знания на новые наборы классов и технологии.

А что сейчас? WPF убит, вместо него предлагается с нуля изучать совершенно новый Modern и радикально переделывать все приложения вплоть до интерфейса. Магазина приложений для традиционных десктопных приложений нет. XNA убит — вместо него опять нечто радикально новое. Silverlight убит.

При всем при этом востребованность Modern под большим вопросам — на мобильном рынке востребован iOS и Android, традиционные десктопные пользователи категорические против радикальной смены интерфейса, я себе не представляю, что наших клиентов будут переучивать на Метро да и не подходит он для работы. Собственно уже сама MS признает свои ошибки и обещает откат назад.

В итоге самой перспективной дорогой для C# разработчика в плане использования уже имеющихся навыков внезапно оказывается Mono в плане мобильных приложений и Unity 3D в плане инди игр.

Ну а существующие корпоративные системы так останутся в зависимости от возраста на WinForms или WPF — несмотря на то что обе технологии официально мертвы. У клиентов даже Windows 7 крайне редко встречается.

Один ASP.Net MVC сохраняет перспективность.

При это Anroid сохраняет стабильность с Java, Apple уже 30 лет тащит Objective-C, про демократичные средства веб-разработки вроде PHP вообще молчу. Может куда-то туда податься?
Вы сильно перегибаете палку.

WPF никто не убивал, он жив-здоров. Метро — это дополнение, а не полная замена. WPF на данный момент остаётся одним из самых передовых фреймворков UI, несмотря на вялое развитие.

Silverlight не убит, он сам помирает. Несмотря на все достоинства технологии, флэш и сервелат были задавлены катком HTML/JS. Процесс ещё не окончен, но мир движется в этом направлении. Пока туда не пришли — сервелат остаётся достойной переходной технологией.

WinForms не развивается, но живёт и здравствует. По сравнению с WPF это тупиковая ветвь, какое-то принципиальное, революционное развитие мне не представляется возможным. Но вообще, это зрелый фреймворк. Вам каких-то фич сильно не хватает, которые в рамках архитектуры WinForms можно нормально реализовать?

XNA — похоже, убит, да. Но опен-сорс перехватил эстафету, и MonoGame поддерживает огромное количество платформ — с МС о таком и мечтать нельзя было.

Вообще, к такому темпу привыкаешь. В конце концов, несмотря на бесконечные «новые фреймворки», МС стабильно поддерживает старые. Даже ископаемый MFC двадцатилетней давности жив: исправляются баги, добавляются фичи (!). Не всегда есть смысл гнаться за новинками.
Наверное слишком эмоционально получилось, но суть немного в другом — сидеть на старых технологиях конечно можно. Но если задастся целью двигаться вперед, то много ли перспективных технологий есть сейчас в экосистеме MS? Java, iOS, Andoid, Mono, Unity 3d… как-то внезапно получилось что почти все новое и перспективное оказалось в других местах, что сильно отличается от ситуации даже пятилетней давности.

Для разработчика в этом наверное особого ужаса нет, в конце концов разные языки и системы знать полезно, но общее впечатление от действий Microsoft очень странное. Особенно если Modern в итоге так и не взлетит.
много ли перспективных технологий есть сейчас в экосистеме MS? Java, iOS, Andoid, Mono, Unity 3d… как-то внезапно получилось что почти все новое и перспективное оказалось в других местах, что сильно отличается от ситуации даже пятилетней давности.

10 лет назад был Delphi с охренительным рисованием кнопочек, а у МС были страшные извращения с WndProc на 500 строк. 5 лет назад под Java не было нормального UI фреймворка. Современный WPF ещё никто не превзошел. Всё вертится, всё меняется. То один вперёд уходит, то другой.

Java побеждает .NET количеством доступного кода, но не качеством и мощностью языка. Сам язык медленно развивается.

iOS и Android — это одна ниша мобилок. В принципе ниша любопытная и перспективная, но, если честно, меня не очень интересует среда, где больше всего зарабатывают кровососные «социальные игры» с микроплатежами, а цена в $0.99 считается возмутительно высокой.

Mono — это кросс-платформенная версия MS-ного .NET, а не что-то ошеломляющее, принципиально превосходящее возможности, предоставляемые MS.

Unity — ну да, круто. Но это очередной игровой движок. Их и раньше было как собак нерезанных, и после будет достаточно. При этом работает он не в последнюю очередь на DirectX, который творение MS.

При этом у MS и Kinect, и Metro (на мобилках, не на десктопе), и ещё много чего.
А разве на мобильниках нет огромного рынка скажем так приложений схожих по функциональности с веб-сайтами но отличающихся более богатым и оптимизированным под малый экран интерфейсом, интеграцией с операционкой и способностью работать без сети? Всевозможные клиенты банков вроде Альфа клик, в конце концов даже Google и Яндекс для своих служб вроде почты, карт и погода пишут приложения под каждую популярную платформу.

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

Unity 3D — он же кроссплатформенный. Вплоть до приставок и Linux. Тут конечно сложно MS упрекнуть, им свою платформу надо продвигать. Но сейчас встает вопрос — зачем мне писать инди игру на (XNA) Mono, если есть Unity.
Вы пытаетесь сравнивать совершенно разные вещи. Unity является игровым фреймворком. Не просто движок, это фреймворк, что подразумевает огромный инструментарий. Он конкурирует с такими вещами как UDK — это тоже фреймворк, в основе которого лежит Unreal Engine.
XNA является банальной managed оберткой над низкоуровневым DirectX. Все. Это никакой не фреймворк. Это даже не движок, даже близко не является движком.

А XNA тоже кроссплатформенный, по крайней мере среди платформ МС. ПК, мобилки, планшеты, xbox 360 — все это понимает XNA.
Прошу прощения, что-то совсем в голове все запуталось. Конечно же XNA это фреймворк, а Unity игровой движок, а не наоборот.
Unity рулит благодаря своей гибкости и крайне низкому порогу вхождения (по большей части, из-за возможности использовать CIL-языки). Плюс, у них сейчас идёт доработка публикации в Metro, так что думаю что это достойная замена XNA.
Что-то не понимаю, почему силверлайт так все хоронят? Хорошая штука для программирования? Хорошая. Позволяет быстро создавать приложения, качественные и надежные? Да. Не хтмл и не джаваскрипт все же.
Если побеждает по каким-то причинам html5 и он умеет всё, что умеет силверлайт, но он лучше в плане «не нужно плагина» или «не нужно грузить долго» — то это все равно не причина переходить на эти вещи. Главное то в нашей профессии — скорость кодирования и надежность, а не всякие непрограммерские аргументы. Поэтому, если html5 лучше по каким-то космическим причинам, не программерским, то легко напишут транслятор в html5.
Ассемблер может тоже круче. Но главное — удобство кодирования. Потому что вот написали — то что на силвере делается за день, на html5 делается за неделю. Хотите в 5-7 раз меньше зарплату?
Отставить панику. Некоторый корпоративный софт до сих пор сидит на FoxPro, а вы про какой-то WTF WPF толкуете. Корпоративка вообще надежное пристанище программистов, не захотевших бежать впереди катка. И неплохо себя там все чувствуют, надо сказать.
У нас до сих пор поддерживаются системы для DOS, написанные на Clarion. На них сидят программисты, что-то меняют, что-то добавляют — то есть они не сидят без дела, у них много работы. Но вот разработку новых систем, раньше на WinForms, сейчас это уже Asp.Net им не поручают. Потому что как водится сделать систему надо было вчера, нужны люди уже разбирающиеся, а для тех и так хватает работы в старой среде (обучать которой новых программистов нет смысла). В итоге они все сильнее отстают и рано или поздно просто становятся не нужны — ни внутри компании ни на рынке труда, особенно если это совпадает с солидным возрастом. Если конечно сами заранее не позаботятся о профессиональном росте и освоении перспективных технологий. И вот тогда и встает вопрос — каких именно перспективных?
И вот тогда и встает вопрос — каких именно перспективных?
К сожалению не могу на него ответить. В корпоративную среду рано или поздно HTML5+JS все равно придет в качестве фронт-энда. Можно в эту сторону смотреть.
Здесь есть интересный момент — если в ОС будут встроены нормальные механизмы обновления сторонних приложений, то не вернутся ли назад традиционные программы? Скажем для мобильников и планшетов подавляющее большинство компаний выпускает классические клиенты, в то время как на Windows-десктопе ограничивается сайтами. Как там на OS X и *nix с их репозиториями я не совсем в курсе.
Стационарные компы практически всегда в сети, т.е. онлайн приложения в перспективе напрягать никого не будут. Хотя кто знает, куда повернет кривая, может вы и правы.
Думаю, они спокойно перейдут на новые технологии.Все новое-хорошо забытое старое.
Мыши плакали, кололись, но продолжали грызть кактус.
Я хорошего от MS перестал ждать после того, как MS прекратила поддержку Windows NT 4.
Правда, поискав альтернативу (Linux тогда был еще ужас-ужас, QNX — оч. дорого) скрипя зубами перешли на 2000.
Как нам туго пришлось переходить с WinNT на Win2000 — вспомнить страшно: в 2000 чуть перепахали ядро, и из софта, который годами работал на NT начали вылазить все глюки связанные с синхронизацией. Год непрерывного аларма и отладок.
И когда все успокоились — здравствуй XP… Дальше вы все знаете.
Для себя то я проблему решил давно, Windows — Tamagotchi OS способна жить только на виртуальной машине. А вот с рабочим софтом — постоянный напряг (ну боятся эникейщики linux).
Надеюсь что мучения скоро прекратятся, ведь самой MS похоже это тоже надоело и она сама хочет убить операционную систему Windows.
Я хорошего от MS перестал ждать после того, как MS прекратила поддержку Windows NT 4.

Я что-то пропустил? У линукса уже появилась обратная бинарная совместимость длиной в 30 лет? Или какие-нибудь компании начали предоставлять поддержку осей 10-летней давности?
Справедливости ради надо заметить, что Novell и RedHat обеспечивают 10-летнюю поддержку enterprise-дистрибутивов. Но о бинарной совместимости в линуксе, конечно, заботятся гораздо меньше.
Win32.hlp — было мое все.
24 мегабайта документации на ВСЮ ось.
Можно было использовать годами :)
Эх, молодость
Одно из двух: либо автор не совсем в теме или это какой-то совсем неправильный перевод.

Найденные мной неточности или явные ошибки:

1. Абсолютно неясно каким это образом Silverlight помог в продаже Windows server'ов и еще более: каким образом отказ от него помешал этому процессу. Silverlight — это клиентская технология. Пользователь получает ее, когда ставит плагин к браузеру и ему пофиг с каким сервером при этом он работает.

2. Не существует такой штуки как «Modern API». Новый API называется «Win RT». А «модерном называется новая концепция дизайна, к которой, по-ходу, уже даже Apple потихоньку переходит, судя по последней iOS7. :)

3. Как раз Silverlight разработчики больше всего выиграли от введения нового WinRT API т.к. он где-то на 70-80% совместим с Silverlight'ом на уровне библиотек. Т.е. в противовес фразе автора можно сказать, что » разработчики Silverlight это явно КАК РАЗ те люди, которые могут просто так взять и начать писать приложения для цифрового магазина". И причем там HTML 5 вообще? Ведь до сих пор основными инстументами разработки под WinRT (Win 8) является знакомая всем Silverlight-разработчикам комбинация C# + XAML. HTML5+JavaScript предлагается лишь в качестве альтернативы и предназначен, главным образом, для привлечения к разработки под WinRT огромной армии веб-разработчиков, который смогут использовать здесь знакомые язык программирования и язык разметки.

я рискну ответить на 1: это корпоративный рынок, сервелат-приложения завязываются на AD, Exchange — вот и сервера.

3: WinRT — это типа очередного ATL. Идея хорошая — общая библиотека для работы и с ARM-процессорами, и с обычной Win8, но «без интеропов с Win32 API». Но мы то знаем, что на ARM работает старая добрая Win32 API, просто доступ к ней запилен, чтобы стимулировать разработчиков на переход к WinRT.
И там, между прочим, все не так плохо, жить можно. Привыкнуть можно, подсесть можно, это хороший «ATL».
… если все ваши корпоративные заказчики работают с компьютерами и планшетами не ниже Windows8 на борту.
Посмотреть что это за «новый ATL» можно тут: http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx

Если честно, неймспейсы выглядят вкусными по наполнению, но у меня заказчики еще на XP.
AD и Exchange и без него стандарт де факто ;) А вот XP боль… Скоро кончится срок и пойдут обновляться. По крайней мере embeded на банкоматах обновят наконец-то…

А с Win32 надо слезать, и они правильно делают, давая себе возможность активнее менять ядро ОС.
Та же фигня, по одному проекту было 350 инфокиосков в сибири. Начальство планировало обычную XP ставить, я еле убедил с калькулятором, что эмбеднутая один раз за 30000 рэ «конструктор», и потом всего по ~2000 за лицензию embedded на устройство — выгоднее, и сильно.
(премию за экономию мне не дали..)

На сегодня та XP embedded уже якорем висит на шее развития, но, убедить на апгрейд до семерки эмбеднутой никак. Ломаю карандаши от злобы (карандаши нам закупка стабильно и без вопросов поставляет в любых количествах)
Ну нам проще… как за PCI DSS прижмут после окончания поддержки, все махом поставят что надо. Годик остался. Часто вендоры железа еще хитрят и ставят XP SP2 вместо более свежих версий.
Вполне можно было сделать Metro надстройкой над Silverlight. Есть уже пусть и небольшой пул разработчиков под Windows Phone. Тот же xaml, контролы Metro-style. И тогда все эти красивости бы работали и в Win8 и в старых ОС и на маке.
Но увы, из-за политики его убили (надо же насильно перетащить пользователей со старых ОС).
API по сути на 70-80% совместим, в основном только неймспейсы подпилить надо. Другое дело приложения, портированные с Silverlight, буду смотреться совсем не красиво.
Да дело-то не в переучивании. Понятно что там почти такой же C# и XAML. Проблема в возможности создать приложение работающее не только в Win8.
Вот такого не надо. Каждое приложение должно иметь UI-experience своей платформы. А логика отлично переносится в PCL.
По-моему сейчас когда много приложений работают в браузерах единого UI-experience уже мало кто ждет. Да и вообще это утопия. Я посмотрел немало метро-приложений, увы, похоже каждый понимает принципы метро немного по-своему.
И еще я думаю что такой постепенный переход был бы полезнее чем сразу пользователей в метро окунать. Тот же ribbon в 2007 офисе был новым для тех windows и только потом в проводник пролез.
Only those users with full accounts are able to leave comments. Log in, please.

Articles