Являются ли собственные реализации Microsoft своих аналогов с открытым исходным кодом лучше и почему?

Microsoft любит реализовывать собственные версии популярных фреймворков и сборок с открытым исходным кодом, например:

  • Microsoft MVC Framework против MonoRail
  • Контейнер Microsoft Unity IoC против Castle Windsor / Spring.net / Ninject и т. д.
  • Фреймворк Microsoft VS Unit Test против nUnit (и других)

Вопросов:

Что еще Microsoft «позаимствовала»?

Что лучше в каждой ситуации и почему?

Как люди относятся к официальным материалам Microsoft по сравнению с версиями ALT.NET?

Как вы думаете, что в следующий раз будет взято под крыло Редмонда?

РЕДАКТИРОВАТЬ Хорошо, вместо того, что «лучше», что вы предпочитаете использовать в качестве разработчика?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
345
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

В случае модульного тестирования я услышал ответ от официального лица Microsoft. На самом деле, если я правильно помню, функция Microsoft даже основана на кодовой базе NUnit.

Причина копирования этого конкретного продукта с открытым исходным кодом (и других, как мне сказали) в том, что клиенты этого хотят. Поначалу это может показаться дешевым предлогом, но я на самом деле могу представить некоторых корпоративных клиентов, которые предпочитают такой способ. Кроме того, сотрудник Microsoft заявил, что Microsoft будет проще оказывать поддержку клиентам, если они внедрили программу самостоятельно, потому что они могут взять на себя расширенную ответственность за источник. Если это правда, то до внедрения OpenSource предстоит пройти долгий путь. :-(

Это похоже на то, что я читал в блогах Раймонда Чена или Эрика Липперта. Что-нибудь с этим?

Joel Coehoorn 16.10.2008 00:05

Я верю, что это на 100% правда. ОС предстоит долгий путь; Я сомневаюсь, что это когда-нибудь дойдет до конца. Однако он может разбить лагерь за пределами запретной зоны.

user1228 16.10.2008 00:07

Насколько я слышал, сотрудники MS не должны смотреть на реальный исходный код проекта с открытым исходным кодом из-за возможного конфликта интересов / проблем интеллектуальной собственности. Это означает, что они должны реализовать ту же идею с нуля, используя функциональность в качестве ориентира.

Scott Dorman 16.10.2008 00:22

Только в некотором роде, но я помню, когда они впервые выпустили Windows XP, у меня был компьютер с двойной загрузкой между Windows 98 и Linux. У него была звуковая карта стороннего производителя с ошибками в драйвере linux; какое-то время он работал, а затем начинал очень отчетливо заикаться. Когда я получил xp для машины (бесплатно через школу, где я учился), это звуковой драйвер для карты имел точно такая же ошибка!

Кстати: кто-нибудь принимает ставки, сколько времени, пока это не закроется?

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

user1228 16.10.2008 00:06

MS заимствованный что-то из сообщества open source. Голосуйте против, если хотите: как вы и сказали, у меня есть лишняя репутация.

Joel Coehoorn 16.10.2008 00:07

Не голосование против ... Я просто хотел объяснений. Я не придурок! Я клянусь! Я должен был предположить, что это не аппаратная ошибка и что MS написала драйверы для этого.

user1228 16.10.2008 00:10

Хороший момент: вероятно, производитель оборудования смотрел на драйверы Linux, чтобы увидеть, как они реализованы, а не MS.

Joel Coehoorn 16.10.2008 00:24

знаешь, ты слишком молод, чтобы иметь такие бессвязные воспоминания о пожилых моментах ... ;-) "В мои дни нам приходилось вырезать собственные кусочки из дерева, и мы были слишком бедны, чтобы позволить себе что-нибудь другое. чем нули "

Steven A. Lowe 16.10.2008 00:45

Почему бы просто не отнести палку к шершневому гнезду?

Есть одна вещь определенно лучше в версиях этих замечательных инструментов MS - гораздо проще заставить ваш магазин MS использовать продукт, если это официальный продукт MS.

Если вы магазин, который разрабатывает для систем Windows, вам придется предпринять дополнительные шаги при включении в свой продукт продукта, отличного от MS. Существуют проблемы с лицензированием и документацией, с которыми, как минимум, вы должны столкнуться. К тому же всегда есть внутренняя политика, которую необходимо преодолеть. И в некоторых случаях ваши клиенты могут неохотно использовать ваш продукт, если он использует компонент «с открытым исходным кодом», официально не поддерживаемый MS.

Это несправедливо, но и жизнь тоже.

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

Я согласен с корпоративным восприятием, я даже столкнулся с этой проблемой с чем-то простым; log4net

Matthew Rathbone 16.10.2008 00:08

Проголосовать за замечание о «новой жизни».

Joel Coehoorn 16.10.2008 00:09
Ответ принят как подходящий

Это полностью субъективно, поскольку то, что будет «лучше» для одного человека, не обязательно будет лучше для другого. Одно различие между реализацией идеи / технологии / продукта корпорацией Майкрософт и реализацией идеи / технологии / продукта с открытым исходным кодом заключается в том, что корпорация Майкрософт может выделить ресурсы на постоянной основе для проекта, в то время как с открытым исходным кодом обычно не может.

Есть еще вопрос поддержки. Большинство проектов с открытым исходным кодом не получают никакой поддержки, кроме как со стороны сообщества разработчиков. Это не всегда плохо, поскольку иногда вы можете получить такую ​​поддержку лучше, чем от официальной (выделенной) группы поддержки.

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

Некоторые другие продукты Microsoft «позаимствовала» у проектов с открытым кодом:

  • SandCastle (от NDoc)
  • Сборка команды TFS (из CruiseControl.NET)
  • MSBuild (от NAnt)
  • ?? (не уверен, есть ли у него отдельное кодовое имя, но он должен быть частью MVC Framework) (от SubSonic)

Фактически, в основе большинства успешных проектов с открытым исходным кодом лежат штатные разработчики.

Joel Coehoorn 16.10.2008 00:25

Фактически, в основе большинства успешных крупных проектов с открытым исходным кодом лежат штатные разработчики оплаченный. Идея о том, что открытый исходный код - это что-то вроде «любителя» или «придурки в подвале», - это миф.

Dark Shikari 16.10.2008 00:31

Я бы сказал, что NDoc, CruiseControl.NET, NAnt, SubSonic, Subtext, DasBlog и т. д. Являются (или были) успешными проектами с открытым исходным кодом, и, насколько мне известно, за исключением CruiseControl.NET, у них нет ни полноценных программ. время или оплачиваемые штатные разработчики по сути.

Scott Dorman 16.10.2008 00:35

Это полностью субъективно, но, на мой взгляд, ответ однозначный: «иногда». Некоторые из их реализаций лучше, потому что они значительно упрощают начало работы. Например, использовать фреймворк MS MVC намного проще, чем начать работу с Monorail IMO. Монорельс и связанные с ним проекты Castle всегда кажутся немного разрозненными, что оттолкнет неопытного разработчика, который просто хочет начать. С другой стороны, некоторые другие проекты MS, такие как Enterprise Library и Entity Framework, настолько огромны и чрезмерно спроектированы, что кому-либо очень трудно начать. Это раздутое ПО. Просто оцените каждый продукт самостоятельно и выберите то, что вам больше всего нравится.

Что определяет лучше? В большинстве случаев менеджеры захотят иметь продукт, который является «стандартной практикой», так что, когда они бросают камень в толпу, он, скорее всего, ударит кого-то, кто может написать название продукта, который они якобы поддерживают. Печально, но факт.

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

Другие вопросы по теме