Электронная библиотека » Томас Фридман » » онлайн чтение - страница 6


  • Текст добавлен: 27 декабря 2020, 14:34


Автор книги: Томас Фридман


Жанр: Самосовершенствование, Дом и Семья


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 6 (всего у книги 41 страниц) [доступный отрывок для чтения: 12 страниц]

Шрифт:
- 100% +
Программное обеспечение: когда сложность незаметна

Невозможно говорить об ускорении разработки и распространения софта, не отметив исключительный вклад в этот процесс Билла Гейтса и его соучредителя по Microsoft Пола Аллена.

Программное обеспечение существовало задолго до Билла Гейтса. Просто пользователи компьютеров никогда не замечали этого, потому что оно было уже загружено в купленный компьютер. Своего рода необходимое зло со всеми мерцающими строками заложенного кода. Билл Гейтс и Пол Аллен изменили ситуацию – начиная с первых попыток в 1970-х, когда написали интерпретатор для языка программирования под названием BASIC, а затем операционную систему DOS.

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

Гейтс полагал, что, если бы существовала общая программная система, которая могла бы работать на разных типах компьютеров – например, Acer, Dell, IBM и сотнях других, – само программное обеспечение имело бы ценность, а не было бы просто необходимым бесплатным дополнением к обрудованию. Трудно поверить, но в то время идея выглядела радикальной. Собственно, из неё и родилась компания Microsoft: люди не должны просто один раз и навсегда купить программное обеспечение, разработанное как часть машины. Каждый отдельный пользователь должен заплатить, чтобы получить доступ к возможностям каждой программы.

По сути, операционная система DOS была абстрагирована от аппаратных различий между компьютерами. Неважно, какой марки компьютер вы купили, у всех вдруг появилась одна и та же операционная система. Что сделало настольные и портативные компьютеры товаром – а именно этого и хотели производители. Затем ценность переместилась на любое дифференцированное программное обеспечение, которое можно было написать, чтобы оно работало поверх DOS, – и использовать которое вы могли бы поручить любому. Именно так Microsoft и разбогатела.

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

– Что такое бизнес программного обеспечения? – спрашивает Крейг Манди, много лет работающий вместе с Гейтсом в качестве руководителя отдела исследований и стратегии Microsoft и бывший моим наставником во всем, что касается программного и аппаратного обеспечения. На свой вопрос он сам и отвечает:

– Программное обеспечение – волшебная вещь, которая отбирает каждую возникающую перед вами форму сложности и абстрагирует её. Оно оставляет за жирной чертой всё сложное аппаратное и программное взаимодействие между пользователем и машиной, выводя пользователя на совершенно другой уровень и позволяя решать только вопросы, связанные с его основными задачами. Вы просто начинаете с нового уровня и добавляете свою ценность. Каждый раз, когда вы поднимаете базовый уровень лёгкости взаимодействия машины с человеком, люди изобретают нечто свежее. И комплексный эффект от этого привел к тому, что программное обеспечение теперь абстрагируется от сложности повсеместно.

Задумайтесь на секунду о таком программном приложении, как Google Photos. Сегодня оно может довольно легко распознавать всё на каждой фотографии, которую вы когда-либо хранили на своём компьютере. А ведь двадцать лет назад, если муж попросил бы: «Дорогая, найди мне фотографии с нашего отпуска на пляже во Флориде», жене пришлось бы вручную просмотреть альбом за альбомом и перебрать коробки снимков, чтобы найти нужное.

Затем фотография стала цифровой, и мы смогли загрузить свои фото онлайн. Сегодня Google Photos создает резервные копии всех цифровых фотографий, упорядочивает их, маркирует и, используя программу распознавания, позволяет находить любую пляжную сцену, которую вы ищете, с помощью нескольких щелчков мышью, жестов или даже нескольких слов, адресованных смартфону. Другими словами, программное обеспечение исключило сложность в процессе сортировки и поиска и сократило его до нескольких нажатий клавиш, касаний или голосовых команд.

Стоит вспомнить и о том, как приходилось ловить такси всего пять лет назад. «Такси, такси!» – кричали вы с бордюра, возможно, стоя под дождём, когда машина за машиной пролетали мимо. Или звонили в таксопарк из ближайшей телефонной будки или с мобильного и после пятиминутного (как минимум) ожидания оператор обещал вам машину через двадцать минут. Честно говоря, вам не слишком верилось, что такси приедет вовремя, но оно не приезжало вовсе…

Как изменилась ситуация сегодня, известно каждому. Все сложности, связанные с вызовом, определением местоположения, планированием, отправкой, оплатой и даже оценкой водителя вашего такси скрыты от глаз. Они становились невидимыми пользователю слой за слоем, пока не свелись к паре касаний в приложении Uber на вашем смартфоне.

По словам Манди, история компьютеров и софта «на самом деле – история абстрагирования всё большей сложности с помощью комбинаций аппаратного и программного обеспечения». API – так сокращённо называются интерфейсы прикладного программирования – позволяют разработчикам приложений создавать подобную магию. API – фактически команды, с помощью которых компьютеры выполняют ваши пожелания. Если хотите, чтобы в приложении, которое вы пишете, была кнопка «сохранить» и при нажатии на неё файл сохранялся бы на флеш-диске, то создаёте приложение с помощью набора API. Причём используете такие же шаблоны, как «создать файл», «открыть», «отправить» и так далее.

Сегодня API разных разработчиков, веб-сайтов и систем связываются друг с другом гораздо более плавно и надёжно. Компании делятся своими API, так что разработчики могут создавать приложения, способные работать на платформах друг друга, взаимодействуя с ними. Благодаря этой открытости я мог бы использовать API Amazon, чтобы люди могли покупать там книги, щёлкая элементы на моём собственном веб-сайте ThomasLFriedman.com.

«API-интерфейсы делают возможным обширный набор «гибридных приложений» веб-сервисов, где разработчики смешивают и сопоставляют различные API-интерфейсы, такие как Google, Facebook или Twitter, для создания совершенно новых приложений и сервисов, – объясняет веб-сайт разработчика ReadWrite.com. – Во многих случаях широко распространённая доступность API-интерфейсов для основных сервисов сделала возможным использование современных веб-приложений. Например, при поиске ближайших ресторанов в приложении Yelp для Android оно будет отображать их местоположение на картах Google Maps, а не создавать собственные карты – и всё благодаря взаимодействию с API Google Maps».

– Этот тип интеграции называется «бесшовным», – объясняет Манди, – поскольку пользователь не замечает, когда программные функции передаются от одного базового веб-сервиса к другим API, слой за слоем скрывая сложность того, что выполняется внутри отдельного компьютера. Передающиеся протоколы и форматы сообщений скрывают сложность объединения всего этого вместе в горизонтальной плоскости в единую сеть.

Объединение горизонтальных плоскостей по вертикали в общий стек создает тот сложный продукт, которым вы ежедневно наслаждаетесь на компьютере, планшете или телефоне. Облачные продукты Microsoft, Hewlett Packard Enterprise, не говоря уже о Facebook, Twitter, Google, Uber, Airbnb, Skype, Amazon, TripAdvisor, Yelp, Tinder или NYTimes.com, – все они представляют собой результат объединения тысяч вертикальных и горизонтальных API-интерфейсов. и протоколов, работающих на миллионах машин, общающихся между собой по сети.

Разработка программного обеспечения тоже наращивает темп по закону Мура, поскольку инструменты для написания программного обеспечения развиваются в геометрической прогрессии. Они также позволяют расширить количество людей (как внутри, так и между компаниями), совместно работающих над написанием усложняющихся программных и API-кодов, и абстрагироваться от ещё более сложных задач. Так что теперь у нас не просто миллион умных людей, пишущих код, но миллион умных людей, работающих вместе, чтобы написать весь этот код.

Это рассуждение приводит нас к GitHub – одному из наиболее современных на сегодняшний день генераторов программного обеспечения. GitHub – самая популярная платформа для активизации совместных усилий по созданию кода. Усилия могут принимать любую форму: люди, работающие с другими людьми, закрытые группы внутри компаний или открытый исходный код. GitHub начал активно использоваться с 2007 года. Опять же, исходя из того, что мы, вместе взятые, умнее каждого из нас по отдельности, всё больше людей и компаний полагаются на платформу GitHub. Это позволяет намного быстрее учиться. Во-первых, они пользуются преимуществами лучших программных продуктов для совместной работы, уже существующих для всех аспектов коммерции. Во-вторых, могут использовать их вместе с корпоративными командами, прибегающими к интеллектуальным возможностям как внутри, так и вне своих компаний.

Сегодня GitHub использует более 12 миллионов программистов для написания, улучшения, упрощения, хранения и совместного использования программных приложений, и их число быстро растёт. С момента моего первого исследования в начале 2015 года к началу 2016-го количество пользователей выросло ещё на миллион. Представьте себе нечто среднее между Википедией и Amazon – только для программного обеспечения. Вы заходите в интернет-библиотеку GitHub и выбираете нужный софт прямо с полки: скажем, систему управления запасами, обработки кредитных карт или управления персоналом. Или движок видеоигр, систему управления беспилотниками, роботизированную систему управления… Затем загружаете программу на служебный или собственный компьютер и адаптируете его к вашим конкретным потребностям. Если вы или программисты компании как-то доработали код, то затем загружаете свои улучшения обратно в цифровую библиотеку GitHub – чтобы следующий пользователь смог воспользоваться новой, улучшенной версией программы.

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

Сервис, изначально созданный тремя первоклассными компьютерными «ботаниками» – Томом Престоном-Вернером, Крисом Уонстратом и П. Дж. Хайеттом, – GitHub сегодня стал крупнейшим в мире хостом[17]17
  Хост – любое устройство, предоставляющее сервисы формата «клиент-сервер».


[Закрыть]
кода. Поскольку мне не удалось найти ни одной крупной компании, где программисты не используют GitHub для совместной работы, то я решил, что нужно лично посетить источник такого большого количества исходного кода в их штаб-квартире в Сан-Франциско. Так совпало, что как раз перед этим визитом я взял интервью у президента Барака Обамы касательно Ирана. Говорю об этом лишь потому, что гостевое лобби в GitHub – точная копия Овального кабинета, вплоть до ковра!

В GitHub любят, чтобы их гости чувствовали себя особенными. Генеральный директор компании Крис Ванстрат начал с того, что рассказал, как «Git» попал в GitHub. Вообще-то, Git, пояснил он, – это «распределённая система контроля версий», изобретённая в 2005 году Линусом Торвальдсом – одним из великих и несколько недооценённых новаторов нашего времени. Именно Торвальдс – своего рода «евангелист» открытого исходного кода создал Linux: первую операционную систему с открытым исходным кодом, которая составила прямую конкуренцию Microsoft Windows. Git-программа Торвальдса позволила команде кодеров работать вместе, используя одни и те же файлы и позволяя каждому программисту опираться на работу других. Каждый из них мог видеть, кто внёс изменения, сохранять их, отменять, улучшать или экспериментировать с ними.

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

Запатентованное программное обеспечение, такое как Windows или iOS от Apple, также производится системой контроля версий, но это система с закрытым исходным кодом, поэтому ни сам код, ни изменения не передаются никакому внешнему сообществу.

– Модель с открытым исходным кодом, размещаемая в GitHub, является распределённой системой управления версиями: каждый может внести свой вклад, и сообщество ежедневно решает, чья версия оказалась лучше, – объяснил Ванстрат. – Лучшее поднимается наверх по социальной лестнице сотрудничества, так же как книги оцениваются покупателями на Amazon.com. На GitHub сообщество оценивает различные версии и раздаёт звёзды или лайки. Или, скажем, вы можете отслеживать загрузки, чтобы увидеть, чья версия используется чаще всего. Ваша версия программного обеспечения может быть самой популярной в четверг, но я поработаю над ней, и уже в пятницу моя версия может занять первое место. В любом случае всё сообщество будет пользоваться преимуществами полученного программного обеспечения. Мы могли бы объединить версии или пойти разными путями, но всё равно у потребителя остался бы больший выбор.

Ванстрату тридцать один год. И мне было интересно, как он пришёл к такому принципу работы?

– Я начал программировать, когда мне было двенадцать или тринадцать лет, – признался он. – Я любил видеоигры и хотел их делать. Первой программой стал поддельный «искусственный интеллект». Но всё-таки видеоигры для меня оказались тогда слишком сложными, поэтому я научился создавать веб-сайты. Крис Ванстрат поступил в университет Цинциннати, где собирался заниматься английским языком, но большую часть времени вместо того чтобы читать Шекспира, писал код и участвовал в зарождавшихся онлайн-сообществах, посвящённых открытому исходному коду.

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

В поисках подходящей работы Крис отправил резюме вместе с примерами открытого исходного кода и других своих находок в различные софтверные организации в Кремниевой долине, претендуя на младший уровень. Один из менеджеров CNET.com – медиаплатформы, где размещаются веб-сайты, – решил рискнуть и взял его. Решение основывалось не на оценках Ванстрата в колледже, а на «лайках» его программ в разных сообществах, связанных с открытым исходным кодом.

– Тогда я мало что знал о Сан-Франциско, – улыбается Крис, – и думал, что это пляжи и роликовые коньки. Оказалось, Сан-Франциско – это биты и байты.

Итак, в 2007 году Крис Ванстрат был «инженером, использующим программное обеспечение с открытым исходным кодом в создании продуктов для CNET». Между тем, в том же 2007-м Торвальдс отправился в Google и дал техническое интервью о Git – своём инструменте для совместного кодирования.

– Интервью было на YouTube, – рассказывает Крис, – так что многие мои коллеги по открытому исходному коду собирались попробовать Git и уйти с многочисленных серверов, обслуживающих различные сообщества.

До того момента сообщество open-source было очень открытым, но в то же время и очень раздробленным.

– В то время единого сообщества с открытым исходным кодом действительно не существовало, – вспоминает Ванстрат. – То была коллекция сообществ с открытым исходным кодом, основанная на проектах, а не на людях. Это была культура. И все инструменты, вся идеология были сосредоточены на том, как вы запускаете и скачиваете проект, а не на том, как люди работают вместе и общаются друг с другом. Всё было ориентировано на отдельные проекты.

И тут у Ванстрата появилась идея: как было бы здорово получить возможность работать над десятью проектами разом на одной площадке, чтобы все имели доступ к появляющемуся в итоге коду и можно было бы свободно переходить от одной версии к другой. А у программистов и пользователей появилась бы возможность оценить и обсудить каждую версию. Он начал обсуждать новый подход с коллегой по CNET П. Дж. Хайеттом, имевшим учёную степень по информатике, и Томом Престоном-Вернером, с которым Крис сотрудничал в области проектов открытого кода задолго до их первой личной встречи.

– Мы говорили себе: ужасно трудно – пользоваться этой штукой, Git. Что если сделать сайт проще? – вспоминает Ванстрат. – И тогда подумали: если мы заставим всех использовать Git? В таком случае можно не беспокоиться о том, какие инструменты используем, и сосредоточиться на том, что пишем. Я хотел всё делать одним щелчком мыши в Интернете – чтобы можно было оставлять комментарии о программе и следить за людьми и за кодом так же, как я это делаю в Твиттере. И с той же лёгкостью.

Таким образом, если вы хотите работать над сотней различных программных проектов, не нужно учить сто разных способов внести свой вклад. Вы только что изучили Git и теперь легко можете работать над всеми доступными проектами.

Так в октябре 2007 года они создали хаб для Git. Отсюда и название GitHub. Официально он запущен в апреле 2008-го.

– Ядром системы стала распределённая система контроля версий с социальным уровнем, который связывал всех людей и все проекты, – объясняет Ванстрат. – Основному конкуренту в то время – SourceForge – требовалось пять дней для того, чтобы решить, стоит ли размещать тот или иной софт с открытым исходным кодом. GitHub же стал местом, где можно поделиться своим кодом с миром… Скажем, вы захотели опубликовать программу под названием «Как написать статью» и просто публикуете материал под своим именем на GitHub. Я посмотрел бы на ваше творчество онлайн и сказал: «Привет, у меня есть несколько моментов, которые я хотел бы добавить». В былые времена я, вероятно, записывал бы изменения, которые хотел внести, и представлял их в виде резюме для сообщества. Теперь беру ваш код и вношу в песочницу. Это называется «форк». Я работаю над кодом, и теперь изменения полностью открыты – это моя версия. Если хочу отправить изменения обратно вам, первоначальному автору, то делаю запрос на извлечение. Вы смотрите на новый способ, которым я изложил «Как написать статью», и видите изменения. И если они вам нравятся, то нажимаете кнопку «объединить». Следующий зритель увидит уже сводную версию. Если не нравится, есть способ обсудить, прокомментировать и просмотреть каждую строку кода. Это кураторский краудсорсинг. Но в конечном итоге есть эксперт – человек, подготовивший оригинальную программу «Как написать статью», который решает, что принять, а от чего отказаться. GitHub покажет мою работу, но вы можете контролировать получившийся в результате объединения с исходной версией продукт. Сегодня именно так создаётся программное обеспечение.

Полтора десятилетия назад Microsoft создала технологию под названием. NET – платформу с закрытым исходным кодом для разработки серьёзного корпоративного софта для банков и страховых компаний. В сентябре 2014-го Microsoft решила открыть его код на GitHub и посмотреть, что может добавить сообщество. На полгода у Microsoft оказалось больше людей, чем насчитывал весь их внутренний штат с момента создания компании, к тому же работающих над. NET бесплатно.

– Открытый исходный код – не просто люди, творящие всё подряд, – добавил Ванстрат к рассказанному. – Microsoft установила для своей программы ряд стратегических целей, объяснив сообществу, в каком направлении они ищут развитие. В ответ сообщество внесло исправления и улучшения, которые в Microsoft приняли. Изначально их платформа работала только на Windows. Но компания объявила, что в будущем станет работать на Mac и Linux. На другой день сообщество отреагировало: «Отлично, большое спасибо. Мы сделаем одну из адаптаций для вас».

Итак, сообщество GitHub создало версию для Mac за одну ночь. Такой вот подарок для Microsoft за раскрытие их кода…

– Используя сегодня Uber, – продолжил Крис, – я думаю только о том, куда хочу поехать, и совсем не забочусь о маршруте. То же самое и с GitHub. Отныне вам просто нужно подумать о том, какую проблему хотите решить, а не о том, какие для этого нужны инструменты.

То есть теперь можно перейти в библиотеку GitHub, найти именно то, что нужно, взять, улучшить – и вернуть обратно для следующих пользователей. Как говорит Ванстрат:

– В процессе мы избавляемся от всех проблем. То, что вы видите на GitHub, можно увидеть в каждой отрасли.

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

– В ХХ веке ограничения были связаны с аппаратным обеспечением и необходимостью ускорять работу процессоров и наращивать количество серверов, – говорит Крис Ванстрат. – Век же XXI – вопрос софта. Мы не в силах увеличить численность населения планеты, зато можем увеличить количество разработчиков. И хотим дать людям возможность создавать отличное программное обеспечение, совершенствуя существующее и открывая мир разработки кода, чтобы нарастить число программистов, каждый из которых сумеет создать отличный стартап или инновационный проект.

…В сообществе открытого исходного кода есть что-то удивительно человеческое. Это «что-то» имеет в своей основе желание сотрудничества и признания хорошо выполненной работы. Финансовое вознаграждение здесь далеко не на первом плане. Удивительно, как много вы можете создать после того, как вас оценили: «То, что вы добавили, действительно круто. Хорошая работа. Так держать!» Миллионы часов бесплатной рабочей силы становятся доступными, когда вы подключаете врожденную тягу человека к новому, желание людей внедрять инновации, делиться ими и получать за это признание.

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

Тем не менее даже для работы с открытым исходным кодом нужны деньги, особенно если у вас 12 миллионов пользователей, поэтому GitHub разработал бизнес-модель. Он взимает с компаний плату за использование платформы для аккаунтов, где компании создают частные репозитории[18]18
  Репозиторий – хранилище, место, где хранятся и поддерживаются какие-либо данные, чаще всего в виде файлов, доступных для дальнейшего распространения по Сети.


[Закрыть]
программного обеспечения с собственными бизнес-кодами и решают, кого хотят привлечь для сотрудничества. В наше время многие крупные компании имеют как частные, так и публичные репозитории на GitHub, ибо это позволяет им развиваться быстрее, используя гигантские интеллектуальные возможности.

– Мы построили нашу облачную архитектуру на программном обеспечении с открытым исходным кодом, которое называется OpenStack, так что можем использовать сообщество. И у нас есть сотни тысяч разработчиков, которые не числятся в нашем штате. Однако то, что они способны сделать за неделю, мы не смогли бы сделать и за год, – таково мнение Мег Уитман, президента и исполнительного директора Hewlett Packard Enterprise. – Я убеждена, что миром движет желание самореализации и подтверждения своих заслуг и именно это делает подобные сообщества столь сильными. Люди одержимы желанием получить признание от других людей в рамках профессионального сообщества. Я тебе нравлюсь? В самом деле? Большинство людей не получают постоянного подтверждения. Я поняла это на eBay – люди сходили с ума от количества получаемых отзывов. Где ещё можно было бы проснуться и увидеть, как все тебя любят?!

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

– Для нас закон Мура – старые добрые деньки, – говорит Джон Донован из AT&T. – Каждые двенадцать или, в крайнем случае, двадцать четыре месяца мы рассчитывали на новый чип, знали, что он появится, могли проверить его и, отталкиваясь от этой уверенности, планировали дальнейшую работу.

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

– Темпы изменений определяют те, кто способен написать код, – уточняет Джон. – Вы понимаете, что упустили момент, когда парни, приехав на грузовиках с лестницами – устанавливать оборудование на телефонные столбы, внезапно заявляют: «Донован, теперь наша компания – разработчик софта». Раньше сложность роста была в программном обеспечении. Теперь же оно обгоняет всё, потому что стало частью множителя закона Мура.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации