Является ли платформа однородной разработки полезной для отрасли?
В интересах ли индустрии разработки программного обеспечения, чтобы один фреймворк, браузер или язык выиграли войну и стали стандартом де-факто? С одной стороны, это устраняет проблемы кроссплатформенности, но открывает его для единой точки отказа. Приведет ли это также к стагнации инноваций или позволит отрасли сосредоточиться на более важных вещах (какими бы они ни были).
4 ответа
Стандарты Defacto плохие, потому что они обычно контролируются одной стороной. Для отрасли лучше всего создать основу открытых стандартов, на основе которых каждый может конкурировать.
Интернет является прекрасным примером. Когда IE выиграл войну браузеров, он годами застаивался, и только сейчас начинает улучшаться, потому что это кровоизлияние на рынке. Годы Netscape до этого были не намного лучше. Стандарт CSS 2.1 был выпущен десять лет назад и до сих пор не поддерживается должным образом. Как следствие, веб-разработка является черным искусством взлома и обходных путей, чтобы заставить веб-сайты отображать последовательно.
Моя работа была бы в сто раз легче, если бы я мог создать веб-сайт в соответствии с веб-стандартами и быть уверенным, что он будет отображаться правильно. Просто подумайте обо всех классных вещах, над которыми мы могли бы поработать, вместо того, чтобы исправлять ошибки рендеринга в IE.
Я верю, что когда есть только один вариант, это определенно приведет к стагнации инноваций. Если бы у нас был только один язык, мы бы не смогли ничего решить, кроме того, для чего предназначен этот язык.
Императивные языки, такие как Java и C#, решают определенные проблемы довольно хорошо, но иногда это помогает мыслить функционально, например, с помощью Haskell и Lisp.
Кроме того, кросс-платформенные проблемы не являются проблемой, если вы говорите о веб-приложении, потому что вы контролируете аппаратное и программное обеспечение (обратите внимание, я говорю о коде на стороне сервера, конечно, кросс-платформенная проблема браузера является отдельной).
Пол Грэм написал большое эссе о том, как Интернет позволяет вам как разработчику использовать инструмент, который, по вашему мнению, решит проблему наилучшим образом.
Конкуренция это хорошо. Это может облегчить работу веб-разработчиков, но я думаю, что это плохо для индустрии. Я лично предпочитаю иметь выбор.
Я считаю, что техника Джоэла Спольски по созданию собственного языка (васаби), чтобы изолировать его компанию от платформы, является хорошей. Я также считаю, что это хорошая идея - использовать продукты, которые выполняют похожие задачи, в большей степени ориентированные на конкретные проблемы, такие как JQuery.
Я должен согласиться с Майком в этом и сказать, что без конкуренции очень мало стимулов для инноваций.