Рубріки: Мнение

TypeScript в роли «стартового наркотика»: как Microsoft наложила лапу на open source, попутно убив JavaScript

Оленка Пилипчак

После молниеносного захвата компанией Microsoft источников открытого исходного кода бесплатные технологии JavaScript оказались на пороге вымирания. Ничего не скажешь, Microsoft ловко провернула этот захват, почти не встретив сопротивления со стороны сотен тысяч активных разработчиков JavaScript. Нам остается только восхититься.

Переведено бюро переводов «Профпереклад».

Перевод от

Корпорация даже внедрила TypeScript во фреймворки React, Angular и Node, загнав в угол желающих управлять и обмениваться бесплатным исходным кодом. С точки зрения стратегии – идеально, как ни крути. Мои поздравления Наделле и его команде.

Сатья Наделла, генеральный директор Microsoft / microsoft.com

Когда я только начал кодить, мне очень нравилась вся наша тусовка, занимавшаяся разработками на JavaScript с открытым исходным кодом.

Мне всегда казалось странным, что люди пишут бесплатный код и вот так запросто его всем раздают.

Но именно так было, да и сейчас ничего не изменилось. Я считал это удивительным и в то же время слегка безумным.

У нас был GitHub для управления исходниками и менеджер пакетов npm, индексировавший open-source-библиотеки — он значительно облегчал поиск и импорт функций, а еще создание, обновление и обмен библиотеками. На Stack Overflow можно было даже получить бесплатную поддержку и посоветоваться с другими разработчиками. JavaScript с каждым годом и новым выпуском ECMAScript становился все круче. Да, было не идеально, но все работало. Будущее казалось безоблачным.

Хотя понятие открытого исходного кода взрастили в условиях капитализма, его ценности, как ни странно, не были частью капиталистического мировоззрения. Вот почему с самого первого дня он был обречен на уничтожение.

А затем явились ребята из Microsoft и перехватили контроль над двумя главными инструментами, открывавшими доступ ко всей общине open source — npm и GitHub. Кажется, люди этого совершенно не ожидали. Большинство девелоперов даже сегодня не осознают, что произошло, и какое влияние это вскоре окажет на всех.

Сразу после захвата Microsoft развернула массовую атаку: надо было наставить на истинный капиталистический путь всех идеалистов, верящих в бесплатные технологии. Этакая «скрытая» война с использованием высокотехнологичной пропаганды, которая со временем тихо уничтожит независимость, убьет все программные редакторы кода, принадлежащие не Microsoft, все инструменты, библиотеки и даже сам JavaScript. Все это неизбежно, ибо корпорация Microsoft всегда и везде нацелена на получение прибыли. Это у них в крови — подминать под себя целые отрасли и превращать их в монополии, генерирующие прибыль для акционеров.

Миссия Microsoft – превратить каждого разработчика JavaScript в денежного дрона Microsoft TypeScript. Любым доступным способом.

Далее я коротко опишу комплексный блицкриг Microsoft в пяти простых этапах.

Этап 1: Microsoft убивает JavaScript

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

Microsoft значительно обесценила JavaScript и его некоммерческое обоснование. Надо было всего лишь создать TypeScript — этой технологией она уже могла управлять самостоятельно и извлекать из нее прибыль. Если бы в Microsoft были реально заинтересованы в усовершенствовании JavaScript, это вполне можно было сделать и на некоммерческой основе. Вместо этого корпорация выступила этакой «злой ведьмой» и постепенно начала доказывать незначительность JavaScript и минусы некоммерческого подхода. Ей же надо было гарантировать себе монополизацию и монетизацию всей отрасли.

Если бы Microsoft была заинтересована в усовершенствовании JavaScript, это можно было сделать бесплатно / typescriptlang.org

Разбираемся в пропаганде

Легенда «масштабирования JavaScript» нацелена в основном на руководителей крупных компаний. TypeScript позиционируется как надежный и функциональный выбор на фоне ванильного JavaScript с кучей багов. Со временем такая легенда в деловой среде окончательно объявит JavaScript устаревшим программным языком. Его постигнет та же судьба, что и PHP.

Чтобы не слишком уж обижать разработчиков JavaScript, придумали новую легенду: «TypeScript – это расширенная версия JavaScript».

По понятным причинам подобное заявление в лучшем случае ошибочно и наивно. В TypeScript действительно применяются конструктивные элементы JavaScript, но у него куда больше общего с C#.

Поэтому, несмотря на некоторые преимущества TypeScript, важно помнить: TypeScript вовсе не то, чем кажется, хотя Microsoft очень старается убедить вас в этом.

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

«Закрытый» открытый код

Ни одна коммерческая корпорация не контролирует JavaScript и не владеет им. Это некоммерческая технология, доступная любому, ее развивают многочисленные независимые разработчики и компании.

С другой стороны, TypeScript — это «закрытый» открытый код, собственность корпорации Microsoft, полностью ею профинансированная и ориентированная на извлечение прибыли.

Падаем на хвост девелоперам JavaScript

Microsoft с помощью умелой пропаганды ухитрилась внушить сомнения в функциональности JavaScript и открытого исходного кода — и тем самым воспользовалась дезорганизацией сообщества разработчиков, которые даже не особо пытались сопротивляться. Все приняли TypeScript с распростертыми объятиями (по крайней мере, так кажется).

Этап 2: Microsoft покупает GitHub

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

  • Здесь можно хранить версии исходного кода, управлять ими и обмениваться базами исходных версий.
  • У каждого разработчика есть профиль, в котором отмечено, к какой исходной базе он приложил руку. При устройстве на работу почти всегда требуют показать этот профиль.
  • Разработчики могут сообщать о багах и подавать запросы на включение кода в open-source-репозитории.

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

GitHub имел преимущество, первым внедрив условно-бесплатную модель и подключив менеджер пакетов npm. Это и помогло ему монополизировать отрасль.

Сегодня все авторы, преподаватели, спикеры и разработчики обязательно упоминают GitHub, когда говорят о создании или скачивании репозиториев. Теперь это синоним контроля управления версиями исходного кода.

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

После приобретения компанией Microsoft интеграция с VSCode еще больше укрепила монополизированную позицию GitHub, сделав его дежурным поставщиком репозиториев исходного кода.

Этап 3: Microsoft покупает npm

Завладев GitHub, Microsoft предприняла следующий вполне логичный шаг — приобрела npm. Это не просто менеджер пакетов JavaScript, а еще и хранилище библиотек программного обеспечения с открытым кодом. Как и GitHub, npm изначально была некоммерческой компанией.

Именно ее выбрали в качестве менеджера пакетов для NodeJS, и именно так она тоже стала монополией в своей сфере.

В 2021 году для всего сообщества разработчиков JavaScript абсолютно нереально отказаться от npm. Эти технологии у них в крови.

Для разработчика использовать npm в связке с GitHub так же естественно, как дышать.

Этап 4: Microsoft проталкивает VSCode как дежурный (и единственный) редактор TypeScript

Когда я начал кодить, то просмотрел сотни тьюториалов, прошел целую гору курсов и прочел кучу книг по написанию кода. Продолжаю и по сей день. И в 99 случаев из 100 народ настойчиво рекомендует VSCode как лучший редактор в мире. Упоминаний Vim или WebStorm вообще раз-два и обчелся.

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

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

Я перешел с VSCode на WebStorm через Vim. Но большинство разработчиков, привыкших пользоваться GitHub и npm, в итоге пересядут на VSCode, если уже не пересели. В Microsoft знают толк в пропаганде (если вы достаточно слепы, чтобы повестись на это).

Этап 5: Бизнес-модель «Airbnb для open-source-библиотек»

Послание вполне понятное: открытый исходный код вот-вот начнут монетизировать корпорации и компании, основанные на венчурном капитале. Это модель «паразита». К примеру, платформа Airbnb делает деньги на сдаче жилья в аренду, хотя никаких прав собственности у нее на это жилье нет.

Модель Airbnb может захватить open-source-сообщество / pixabay.com

Так и прочие «паразиты» вроде TideLift и OpenCollective вскоре применят к оpen source ту же мантру Кремниевой долины.

Модель Airbnb вот-вот захватит open-source-сообщество.

У самых популярных open-source-библиотек постепенно появятся премиум-версии: улучшенная поддержка и меньше багов (или вообще ни одного). Исходный код останется в открытом доступе, но в нем будет все больше навязчивых предложений по апгрейду и все больше багов, чтобы заставить вас заплатить. Это попросту неизбежно. Венчурные инвесторы не станут вливать во что-то сотни миллионов долларов чисто по доброте душевной.

А через некоторое время снова придет Microsoft и выкупит одного или всех игроков — и завладеет всей отраслью с потрохами.

Конец игры.

В заключение: что делать разработчикам JavaScript Developer в 2021 году?

Изучить TypeScript.

Если вы разработчик JavaScript — учите TypeScript, тут без вариантов. Большинство работодателей (если не все) будут требовать, чтобы вы умели на нем кодить. Само по себе это неплохо, «плюсик» к скиллам и продуктивности. Вдобавок будет гораздо проще выучить другие статически типизированные языки.

TypeScript — этакий «стартовый наркотик» в мире статически типизированных языков.

Нарабатывать гибкость и не отказываться изучить что-то новое.

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

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

Будьте осторожнее с пропагандой и фильтруйте информацию

Я не отношусь к пуристам, следовательно, продолжу пользоваться преимуществами открытого кода. Вероятно, правильней будет сказать — пользоваться и злоупотреблять, как делала и делает Microsoft. Было бы глупо и непродуктивно отказаться от бесплатных библиотек. Но я прекрасно осознаю все риски и потому сокращаю свою зависимость от чужих библиотек и моделей. Как результат — я больше пишу на низкоуровневых языках программирования, для меня это куда интереснее, потому что требует напрягать мозги и изучать новые навыки. Именно так и становятся лучшими инженерами ПО.

Если мне сегодня понадобится использовать конкретную технологию, библиотеку или фреймворк, я не стану делать это вслепую. И тем более не стану глотать всю прямую и непрямую пропаганду, которую мне пытаются скормить корпорации или венчурные инвесторы. Я подхожу к каждой новой технологии непредвзято, объективно и прагматично. Вообще-то у меня даже есть некий внутренний процесс оценки, и я применяю его как любой инженер в крупной корпорации.

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

Например:

  • Я не сразу перескочил с модели REST API на GraphQL, хоть и изучил ее, разобрался в концепциях и обосновании. Я мог бы перескочить в любой момент, если бы захотел. Но я этого не сделал. Она решает множество проблем, но при этом создает не меньше новых.
  • Я пользуюсь фреймворком NextJS для фронтенда React, но не создаю внутри него API и не разворачиваю его на Vercel.
  • Я перешел с JavaScript на TypeScript, но все равно не пользуюсь VSCode, GitHub или Azure — есть решения и инструменты получше.
  • Когда вышли хуки React, я почти сразу бросил компоненты на базе классов и перешел на хуки. Таким образом, я перестал зависеть от Redux.

И напоследок…

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

Однако нужно выслушать разные мнения и не терять бдительности. Этот коммуникативный навык сейчас очень важен для современного разработчика.

Да и, если честно, еще рано кричать «мы все умрем!». Изучение TypeScript — прекрасный способ познакомиться со статически типизированными языками. Так что идите и учите. Но воспользуйтесь им как ступенькой к изучению других языков. Не делайте из него панацею.

Удачи!

Автор: Алекс Клейдинц

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023