Зачем Apple и Google свои языки программирования

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

apple-faster-coding

WWDC 2014 действительно запомнилась разработчикам. Представленный на ней язык программирования Swift уравнял пользователей и программистов в масштабе wow-эффекта, ведь со времён чего-то настолько интересного для последних в Купертино не выкатывали уже давно. Ключевым преимуществом, которым Apple подкупила программных дел мастеров, оказалась скорость. Причём не только написания самого приложения, но и его последующей работы.

Слов на ветер команда Тима Кука не бросала, и вскоре популярный ресурс Topcoder, раздающий участникам различные платные задания по программированию, составил интересную статистику. Оказалось, что около 4 тысяч зарегистрированных пользователей выразили заинтересованность в новом языке, а до конца года руководство ожидает увеличения численности оных как минимум в пять раз, и речь идёт о сообществе всего лишь одного сайта. Swift оказался по душе разработчикам, и об этом красноречиво свидетельствуют и другие данные, согласно которым новинка лидирует по показателю удовлетворённости. Порой случаются и вовсе любопытные вещи. Так, осенью прошлого года один предприимчивый энтузиаст сумел заработать 66 тысяч долларов всего за месяц, в течение которого он занимался обучением коллег по цеху работе со Swift. Всё это наглядно демонстрирует нешуточный интерес, который проявляют специалисты к новому решению от Apple, призванному ещё больше усилить связь между входящими в “яблочную” экосистему элементами.

Разумеется, идея собственного языка программирования не нова и уже была реализована несколькими крупными игроками рынка. Например, ещё в начале 90-х годов XX века корпорация Microsoft выпустила свой знаменитый Visual Basic, дабы упорядочить развитие самого Basic, являющегося по сути одним из первых популярных средств разработки с графическим интерфейсом пользователя. Не осталась в стороне и Google — в 2009 году поисковый гигант представил фирменный продукт под названием Go. Но что означает выпуск новых языков, порой ощутимо отличающихся от инструментов, привычных программистам? Совершенно верно, “переучивание” последних. Учитывая, что многие из специалистов относятся к любимому языку как важному и незаменимому элементу своей жизни, эта трудоёмкая задача явно должна иметь под собой серьёзное коммерческое обоснование. Попросту говоря, затея должна как минимум окупить вложенные в её реализацию средства, а лучше — принести максимум прибыли своим авторам. Однако ситуация, которая сложилась в этой области на данный момент, несколько противоречит логическим умозаключениям. Почему? Давайте разбираться.

Оба языка, несмотря на увеличивающуюся пропасть между стратегиями Google и Apple, имеют немало общего между собой. Цена момента здесь — решение проблем, связанных с постепенным устареванием наличествующего инструментария. Например, Swift во многом подобен Objective-C, далеко не новому языку, являющемуся ключевым элементом операционной системы iOS. Несмотря на то, что этот “ветеран” уже разменял четвёртый десяток, уровень его распространённости очень высок, чем и не преминула воспользоваться Apple, представив Swift как попытку модернизировать Objective-C. Подход оказался выигрышным — разработчики быстро освоили нововведение, которое порой настолько похоже на своего предка, что оба языка могут успешно применяться в одном приложении.

Google Go, как и его “яблочный” собрат, нацелился на упрощение разработки сложного ПО. Требования, которые предъявляли к программистам энтузиасты из “корпорации добра”, уже не могли быть полностью удовлетворены с помощью классических для сегмента C++ и Python, и руководство компании это явно не устраивало. Как говорят в самой Google, идея Go возникла из недовольства существующими средствами, и этот тезис даже вошёл в описание продукта. Ключевым преимуществом языка является относительная простота освоения при значительном потенциале решения накопившихся проблем. Ориентируясь на различные виды “облачных” вычислений, Google быстро осознала устаревание имеющихся на руках инструментов с точки зрения своей деятельности и сделала Go открытым, благодаря чему сообщество программистов смогло непрестанно улучшать язык и добавлять в него новые возможности. На прошедшей недавно WWDC 2015 похожий шаг сделали и в Apple.

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

google-data-centers

Не секрет, что в нынешней электронной индустрии ассортимент и качество приложений занимают главенствующее положении среди всех прочих факторов успеха того или иного продукта. Разнообразие стабильного ПО играет на руку Apple, в случае которой репутация разработчиков является важной составляющей имиджа собственной продукции, и компания уже пожинает первые плоды своих новых начинаний. Однако несмотря на успех на начальном этапе, Swift предстоит пройти долгий путь до “швейцарского ножа” современного программиста: в нём по-прежнему отсутствует ряд важных функций, требования, предъявляемые языком к компьютеру, весьма высоки, а некоторые энтузиасты до сих пор сомневаются в реальности его преимуществ. Впрочем, даже с учётом всего вышеперечисленного, большинство разработчиков оптимистично настроены в отношении будущего Swift и того потенциала, которым обладает этот инструмент.

Мы любим Swift, — признаётся Бен Рубин, генеральный директор Meerkat, одного из новых игроков на рынке потокового видео. — И мы чётко осознаём, что это решение остаётся слишком молодым, и его недостатки будут исправлены в недалёкой перспективе.

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

google-go

По большому счёту разница между предназначениями Swift и Go принципиальна: если продукт Apple в основном задействуется в написании программ для гаджетов конечного потребителя — вроде iPhone или iPad, — то разработка поискового гиганта нацелена на серверы, которые обрабатывают данные этих программ. Такое положение дел очевидно согласуется с разными философиями двух компаний, когда “яблочники” сосредоточились на самих устройствах, а “добряки” — на “облачных” вычислениях. Безусловно, Go был положительно воспринят сообществом, но в общем и целом предложение Google пока что не “выстрелило”. Дэн Туркенкопф, топ-менеджер компании Apprenda, занимающейся созданием облачно-ориентированных приложений для бизнеса, настроен весьма сдержанно:

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

Отчасти в сложившейся ситуации виновата сама Google — внушительное число “программных” инициатив, среди которых не особо популярный язык Google Dart и новые компиляторы для Android, распыляют внимание сообщества, силясь убедить его участников в преимуществах конкретных решений. Попросту говоря, компания не может или не желает сосредотачиваться на чём-то одном, пробуя свои силы в разных направлениях, однако не достигая порой ожидаемого результата.

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

objective-c-trashed

Пожалуй, лейтмотивом этого программного парада можно всё-таки признать требования гигантов, с ростом которых ценность имеющихся инструментов разработки ощутимо уменьшается. Компании явно пытаются предложить рынку что-то новое, а для этого им необходимы серьёзные перемены как пользовательских продуктов и сервисов, так и самого их основания. Некоторые энтузиасты полагают, что собственные языки программирования являются и средством конкуренции, ведь подобное разделение может усложнить написание ПО для разных платформ одними и теми же авторами. Возможно, это утверждение отчасти справедливо, ведь соперничество является абсолютно нормальным явлением в мире бизнеса, однако та же Apple не отменяет разработки на Objective-C, предоставляя Swift в качестве удобной альтернативы, а то и дополнения. Главное, что стоит усвоить производителям, — сами по себе языки не являются панацеей для рынка. Вышеупомянутый Джонатан Кэрон отмечает, что скорость и стабильность не всегда равны привлекательности в глазах пользователя, и требуется много работать над дизайном и функциональностью, дабы сделать программу достойной его интереса.

По материалам BusinessInsider

Обзоры приложений для iOS и MacРазработка приложений для iOSТехнологии Apple