Почему браузер Microsoft Edge написан не под платформу .Net?
Сатирический тон ON.
Ведь это такая замечательная, эффективная, надёжная, продуманная, быстрая, удобная, стабильная, стандартизированная, кросс-платформенная, портируемая и всячески по-иному превосходная платформа, за которой — будущее программной индустрии. И все-все-все другие, бесконечные, многолетние, исступлённые, восторженные, фанатичные восхваливания от Microsoft и её глупых адептов-фанатиков. Сатирический тон OFF.
Может .Net не так хороша, как её пытаются представить маркетологи, рекламщики Microsoft, адепты Microsoft? Неужели она не пригодна для написания всего лишь браузера.
Совершенно не хочется здесь по-злому посмеяться над глупцами, которые не вдумчиво, критически, аналитически, объективно смотрят на суть предлагаемой технологии (любых, а не только .Net), а просто слепо и фанатично верят лозунгам рекламщиков/маркетологов из Microsoft (хотя взрослый, благоразумный человек давным-давно должен был понять, что из уст рекламщиков/маркетологов (любых современных, а не только Microsoft'овских) выходит только 1% — правда, а 99% — ложь, лживая пропаганда, чушь, промывание мозгов, утаивание неприятных фактов (и преуменьшение их), манипуляция мнением и т.д., и т.п.). Достаточно уже того, что над ними природа посмеялась (уж извините, по-другому я их поведение обозначить не могу). Поэтому, пожалуйста, давайте не будем в такую сторону направлять дискуссию.
Здесь искренне хочется понять, почему браузер Microsoft Edge написан не под .Net. Технические аспекты, кадровые, маркетинговые, перспективностные, прочие.
Я сам искренне был поражён этим фактом. Я полагал, что на фоне тех бесконечных, многолетних, исступлённых дифирамбов .Net'у, которые захлестнули все издания/сайты/каналы/вебинары/хакатоны от Microsoft, современные книги, учебники по программированию, умы и сердца очень многих программистов, Microsoft обязательно будет писать новые программы/продукты (которые не имеют слишком низкоуровневого и/или системного функционала), только (и только) под .Net. А оказалось по-другому.
Думаю-думаю, и не нахожу ответа.
P.S. 1. Подумайте хорошенько прежде, чем опрометчиво писать: "MS Edge использует EdgeHTML, Chakra, а они написаны тоже не под .Net, поэтому и сам MS Edge тоже не под .Net". Подумайте хорошенько. Не пишите чушь, пожалуйста. P.S. 2. Информацию про MS Edge знаю только по статьям, обзорам, рекламе в Интернете. У меня MS Edge не стоит (т.к. нет Windows 10), и никогда нигде в этом браузере не работал (т.к. нигде у меня нет доступка к Windows 10). Следовательно я этот браузер отладочными инструментами не ковырял.
Здравствуйте, RBujfEOHIY, Вы писали:
RBE>Может .Net не так хороша, как её пытаются представить маркетологи, рекламщики Microsoft, адепты Microsoft? Неужели она не пригодна для написания всего лишь браузера.
Браузер на сегодня — самая сложная и тяжеловесная программа на компьютере если что.
RBE>P.S. 1. Подумайте хорошенько прежде, чем опрометчиво писать: "MS Edge использует EdgeHTML, Chakra, а они написаны тоже не под .Net, поэтому и сам MS Edge тоже не под .Net". Подумайте хорошенько. Не пишите чушь, пожалуйста. RBE>P.S. 2. Информацию про MS Edge знаю только по статьям, обзорам, рекламе в Интернете. У меня MS Edge не стоит (т.к. нет Windows 10), и никогда нигде в этом браузере не работал (т.к. нигде у меня нет доступка к Windows 10). Следовательно я этот браузер отладочными инструментами не ковырял.
Процитирую:
Подумайте хорошенько. Не пишите чушь, пожалуйста.
Вот смотри:
1) Есть команда, которая пилит браузер с 1996 года. У них куча наработок, всяческих хаков и все не на .NET, в то время .NET еще не было. Зачем им использовать .NET для написания браузера? Незачем.
2) Есть менеджеры, которые хотят чтобы продукт получился вовремя.Надо им рисковать, переписывая то что работает (хоть и не очень хорошо)? Нет, не надо. Проще поправить пару багов и сказать что это не IE11, а Edge.
3) Есть продавцы, которым надо чтобы Windows продавался. Будет виндовс больше продаваться от браузера на .NET? Продажи точно не вырастут.
Подумай хорошенько, кому нужно переписывать браузер на .NET ? Окажется что никому.
Здравствуйте, RBujfEOHIY, Вы писали:
RBE>Думаю-думаю, и не нахожу ответа.
Плохо думаешь.
Ответ на поверхности. Один из многих, но самый принципиально важный. В случае с браузерами, производительность имеет критическое значение, а .NET рассчитан больше на скорость написания кода, чем на его производительность.
Здравствуйте, Ночной Смотрящий, Вы писали:
RBE>>Почему браузер Microsoft Edge написан не под платформу .Net? НС>Например потому что основан на IE.
Они сами утверждают, что Edge полностью переписан, что он к IE почти никакого отношения не имеет, что он от IE почти ничего не перенял (а то, что перенял, было переписано заново), что он написан почти с нуля.
Ссылку с ходу привести не смог, но я это не придумал. В каком-то интервью или обзоре разработчики Edge это говорили: "Это новый браузер, к IE не имеющий отношения".
RBE>>Думаю-думаю, и не нахожу ответа. S>Вродь очевидно -- .Net для корпоративных приложений, коим браузер не является.
.Net — для любых приложений. Хоть для системы документооборота, хоть для калькулятора, хоть для глазного тренажёра, хоть для чего иного.
И браузер является корпоративным приложением. Куча корпоративного софта написано для работы в браузере.
S>Рендер то все равно через WinApi будет, какой смысл .Net притягивать?
Так можно про любое приложение сказать. В любом приложении в конечном итоге будет WinAPI вызываться.
Получается, что про любое приложение можно сказать: "какой смысл .Net притягивать?"?
Здравствуйте, RBujfEOHIY, Вы писали:
RBE>.Net — для любых приложений. Хоть для системы документооборота, хоть для калькулятора, хоть для глазного тренажёра, хоть для чего иного.
Тут вы заблуждаетесь. У .Net широкая сфера применимости, но она не безгранична. См. язык/платформу Java -- .Net является его клоном.
Чисто для фана на .Net даже операционную систему писали. Но, как сами понимаете, на практике никто такую ОС юзать не будет -- не тот уровень.
RBE>И браузер является корпоративным приложением. Куча корпоративного софта написано для работы в браузере.
Работают в браузере, используют его как платформу. Но сам браузер не является Enterprise software.
Enterprise software -- это когда есть (1) база данных, (2) нехитрая логика, (2) достаточно простые формы для работы с данными, (4) иногда API.
S>>Рендер то все равно через WinApi будет, какой смысл .Net притягивать? RBE>Так можно про любое приложение сказать. В любом приложении в конечном итоге будет WinAPI вызываться. RBE>Получается, что про любое приложение можно сказать: "какой смысл .Net притягивать?"?
В корпоративном приложении прямых вызовов Win API может и не быть -- все опосредовано.
Примеры корпоративных приложений от MS -- Microsoft Dynamics, SharePoint.
Вы будете удивлены, но эти продукты приносят MS немало баблища. Емнип, даже больше чем сам Windows.
Такие продукты как браузер или операционная система нужны в 1 экземпляре и юзер будет использовать лучшее что есть. Там конкуренция настолько высока, что думать о разработке своего браузера смысла нет.
А вот считать деньги/зарплаты, управлять персоналом и пр. -- здесь каждая контора имеет свои принципы (в т.ч. зависит и от законодательства страны, которое постоянно меняется) и есть смысл писать софт специально для конкретной конторы.
Здравствуйте, RBujfEOHIY, Вы писали:
S>>Вродь очевидно -- .Net для корпоративных приложений, коим браузер не является. RBE>.Net — для любых приложений. Хоть для системы документооборота, хоть для калькулятора, хоть для глазного тренажёра, хоть для чего иного. RBE>И браузер является корпоративным приложением. Куча корпоративного софта написано для работы в браузере.
Здравствуйте, RBujfEOHIY, Вы писали:
RBE>Всем привет.
RBE>Почему браузер Microsoft Edge написан не под платформу .Net?
.net это инструмент, как и любой инструмент он имеет свою специализацию. Так вот, .net отлично подходит для корпоративных приложений, для которых скорость разработки и стоимость поддержки (если уже есть инфраструктура основанная на windows решениях) имеет ключевую роль. Плюс с приходом .core очень удобно использовать его в качестве бэкенда для всяких SPA приложений. Браузеры весьма специфичная ниша, в которой на данный момент управляемым средам делать нечего, поэтому .net, как инструмент, сюда не вхож.
Здравствуйте, gandjustas, Вы писали:
RBE>>Может .Net не так хороша, как её пытаются представить маркетологи, рекламщики Microsoft, адепты Microsoft? Неужели она не пригодна для написания всего лишь браузера. G>Браузер на сегодня — самая сложная и тяжеловесная программа на компьютере если что.
Вот и отличненько. Вот и отличненько. Судя по бесконечным (в плане продолжительности, степени, энтузиазма, численности восхваливателей, численности восхваливающих статей, объёма восхваливающего шлака материала) восхваливаниям, именно для решения сложных, трудных задач элегантным, эффективным (и прочие-прочие превосходные эпитеты) образом .Net и предназначен, и создавался.
G>1) Есть команда, которая пилит браузер с 1996 года. У них куча наработок, всяческих хаков и все не на .NET, в то время .NET еще не было. Зачем им использовать .NET для написания браузера? Незачем.
Потому что .Net — супер-пупер платформа, за которой — будущее программной индустрии (как они сами в унисон твердят из каждого утюга, как мантру). Они нас в этом пытаются убедить. И пытаются нас убедить, что мы свои программы должны писать под .Net(и только под .Net), и только это — правильный подход, а старые программы мы должны переписать, и только это — правильный подход.
Что ж они сами этот подход не используют, если это такая замечательная платформа?
G>2) Есть менеджеры, которые хотят чтобы продукт получился вовремя.Надо им рисковать, переписывая то что работает (хоть и не очень хорошо)?
Вот и отлично. Одними из фишек .Net'а преподносятся удобство, скорость, надёжность программирования. И они такие высокие (как заявляется), что просто глупо использовать старые инструменты. Нужно переходить на .Net, а старый код нужно переписать. Это будет быстрее, элегантнее, дешевле, гарантированнее, проще (и т.п. и т.д.), чем поддерживать старый код. Они ж сами это преподносят нам. И они всячески принижают старые инструменты в сравнении с .Net; преподносят всё так, что только сумасшедший или сабботажник будет использовать старые инструменты после появления великого.Net'а.
G>3) Есть продавцы, которым надо чтобы Windows продавался. Будет виндовс больше продаваться от браузера на .NET? Продажи точно не вырастут. G>Подумай хорошенько, кому нужно переписывать браузер на .NET ? Окажется что никому.
Браузер на .Net показал бы свою применимость к решению очень сложных задач → укрепление позиций/ценности/полезности .Net → больше разработчиков бы переходили на .Net → больше программ под .Net → укрепление позиций/ценности/полезности ОС Windows → увеличение продаж ОС Windows.
И они упустили такую возможность. Настоящий, рабочий, быстрый, удобный, поддерживающий все стандарты, без багов и лагов (и ведь по-другому под .Net и быть не может, т.к. платформа сама заботится о надёжности программы, что даже криворукий программист будет писать хорошие программы), с быстрым исправлением багов (если будут найдены) браузер под .Net — это получше всяких рекламных, исступлённых, восторженных восхвалений, продвижений, пропаганды. Ай-ай-ай.
Здравствуйте, RBujfEOHIY, Вы писали:
G>>1) Есть команда, которая пилит браузер с 1996 года. У них куча наработок, всяческих хаков и все не на .NET, в то время .NET еще не было. Зачем им использовать .NET для написания браузера? Незачем. RBE>Потому что .Net — супер-пупер платформа, за которой — будущее программной индустрии (как они сами в унисон твердят из каждого утюга, как мантру). Они нас в этом пытаются убедить. И пытаются нас убедить, что мы свои программы должны писать под .Net(и только под .Net), и только это — правильный подход, а старые программы мы должны переписать, и только это — правильный подход.
Ты из какого века вылез? Можно ссылочку на подобные утверждения моложе 5 лет?
Здравствуйте, vl690001x, Вы писали:
V>Ответ на поверхности. Один из многих, но самый принципиально важный. В случае с браузерами, производительность имеет критическое значение, а .NET рассчитан больше на скорость написания кода, чем на его производительность.
Н-е-е-т. Они и производительность .Net'а преподносят в качестве одной из ключевых фишек.
Здравствуйте, gandjustas, Вы писали:
G>Вот смотри: G>1) Есть команда, которая пилит браузер с 1996 года. У них куча наработок, всяческих хаков и все не на .NET, в то время .NET еще не было. Зачем им использовать .NET для написания браузера? Незачем. G>2) Есть менеджеры, которые хотят чтобы продукт получился вовремя.Надо им рисковать, переписывая то что работает (хоть и не очень хорошо)? Нет, не надо. Проще поправить пару багов и сказать что это не IE11, а Edge. G>3) Есть продавцы, которым надо чтобы Windows продавался. Будет виндовс больше продаваться от браузера на .NET? Продажи точно не вырастут. G>Подумай хорошенько, кому нужно переписывать браузер на .NET ? Окажется что никому.
Всё это хорошо, но сама Майкрософт неоднократно заявляла, что у Edge своя отдельная кодовая база, движки переписаны с нуля, он не поддерживает ActiveX, стандартные дополнения от IE, но получил свои собственные фичи типа поддержки Кортаны. Почему был смысл переписать с нуля браузер, но не использовать свой более прогрессивный и безопасный язык C#? Почему одновременно с этим Мозилла может переписать свой браузер на своём языке, который при этом менее стабилен в плане стандартов? При это денег у последней намного меньше.
У меня ответ один и в этом я согласен с автором — код на C# получится банально медленнее.
Здравствуйте, Nuzhny, Вы писали:
N>Всё это хорошо, но сама Майкрософт неоднократно заявляла, что у Edge своя отдельная кодовая база, движки переписаны с нуля
Можно ссылочку про переписанный с нуля, а не основанный на Trident EdgeHTML?
Здравствуйте, Ночной Смотрящий, Вы писали:
N>>Всё это хорошо, но сама Майкрософт неоднократно заявляла, что у Edge своя отдельная кодовая база, движки переписаны с нуля НС>Можно ссылочку про переписанный с нуля, а не основанный на Trident EdgeHTML?
The Spartan rendering engine (edgehtml.dll) is a new component and separate from Trident (mshtml.dll). The new engine began as a fork of Trident, but has since diverged rapidly over the past many months, similar to how several other browser engines have started as forks prior to diverging. The new rendering engine is also being built with a very different set of principles than Trident — for example: a focus on interoperability and the removal of document modes.
Форкнули, старое удалили, а остальное переписали заново.
Но ты опять занимаешься резкой по цитатам и уходом от темы, цепляясь за детали. Скажи: почему Мозилла может себе позволить переписывать свой браузер на свой язык, а Майкрософт нет?
Хотя этот вопрос, скорее, к gandjustas, он всё таки умеет развёрнуто отвечать с аргументами.
RBE>Почему браузер Microsoft Edge написан не под платформу .Net?
Ложная посылка, отсюда и ложное противоречие. Правильный вопрос был бы "Почему MS Edge не переписан под .NET". А подробное объяснение почему переписывать браузеры идея глупая почти 20 лет назад дал Джоэль Спольски. Вот перевод, если английский тяжелее читается. С тех пор ситуация только усложнилась так как добавился CSS, SVG, анимация, и много чего ещё.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>...Можно ссылочку на подобные утверждения моложе 5 лет?
Насчёт моложе 5 лет — нет под рукой.
А более ранние — вот: Эндрю Троелсен "C# и платформа .NET" — СПб.: Питер, 2007. — 796 с.: ил.
Глава 1. Философия.NET
Современное состояние дел
Как живут программисты, использующие Win32/C
Как живут программисты, использующие C++/MFC
Как живут программисты, использующие VisualBasic
Как живут программисты, использующие Java
Как живут СОМ-программисты
Как живут программисты, использующие Windows DNA
Решение .NET
В подглаве "Современное состояние дел" посылаются лучи поноса на старые инструменты, а в подглаве "Решение .NET" прославляется великий.Net, который явился спасти мир программирования (да, да, именно в таких интонациях там преподносится), и рассказывается, какой .Net хороший, отличный, превосходный и т.д. и т.п., и что все мы теперь должны перейти на него.
И такое — почти в каждой книге/статье/обзоре от MS или её адептов-фанатиков. Не надо говорить, что это не так. Это так.
Под рукой оказалась эта книга. Но точно такие книги есть и последних лет (и они тоже взахлёб расхваливают .Net), и других (почти всех, которые описывают .Net) авторов, и других издательств (в т.ч. конечно же MicrosoftPress).