Возможности компьютеров растут на наших глазах, число задач, которые они могут решать быстрее и лучше людей, практически бесконечно. При этом программисты — самые ленивые люди на свете, считает лектор TED Кристиан Дженко. Ленивые, но очень эффективные. Почему же мы все тогда не учимся программировать, чтобы облегчить себе жизнь?

В соцсети Reddit пользователь с ником CS-NL опубликовал вопрос: «Reddit, мои друзья называют меня мерзавцем за то, что я автоматизирую свою работу, хотя меня наняли делать ее вручную. Действительно ли я мерзавец?»

Кристиан Дженко (Christian Genco) —

успешный программист и разработчик приложений. Работает дистанционно, путешествует с женой по миру. Ведет личный блог.

Действительно, CS-NL должен был вручную проверять данные, проглядывая гигантские таблицы с бесконечными строчками. Группе сотрудников в его департаменте приходилось делать это 8 часов в день 5 дней в неделю. Они справлялись с этой работой довольно неплохо, обрабатывая от 6 до 10 записей в день с почти 90-процентной точностью.

CS-NL написал компьютерный скрипт, который должен буквально выполнять всю работу за него. Программа обрабатывает больше тысячи записей в день с точностью 99,7%. Так что этот «мерзавец» заменил собой целый департамент за одни выходные.

Я знаю, что вы сейчас думаете. Хорошо, умный парень, глупая компания, они должны были просто сразу нанять программиста, потому что компьютеры существуют именно для этого — для операций с данными.

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



Это уже произошло с архитекторами и врачами. И даже в областях, которые не связаны очевидным образом с компьютерами, — например, в рисовании. В некоторых случаях компьютеры полностью заменили человека. Вы знали, что раньше мы нанимали людей, чтобы они стояли на перекрестке и регулировали движение? Мы нанимали людей, чтобы они печатали наши вчерашние новости и вручали нам их у нас дома. Раньше у нас были видеосалоны, куда можно было пойти, чтобы взять напрокат фильм. И они штрафовали нас, если его вовремя не вернуть. Смешно, не правда ли?

До сих пор мы сталкиваемся с проблемами, которые не имеют смысла в мире, где есть компьютеры.

Например, учебники, настоящие тяжелые книги, в которых нельзя включить поиск и которые не связаны ссылками с другими вещами. Или бумажные формы, которые надо вбивать в компьютер. Или аудитории — почему я должен идти в аудиторию, когда я могу посмотреть видео на YouTube, пропуская скучные куски и пересматривая то, что мне нужно?

В обществе есть множество подобных проблем, которые не имеют в смысла в мире, имеющем компьютеры. Но что мы можем с этим сделать? Чтобы ответить на этот вопрос, я бы хотел отправиться назад во времени в тот год, когда мы решили посадить человека в жестяную банку и отправить его с Земли на Луну. У нас была проблема.

Количество вычислений, которые нужно проделать для управления этой невероятно сложной ракетной системой, было слишком большим, чтобы проделать их вручную. Но инженеры смогли разработать для «Аполлона-11» один из наиболее продвинутых компьютеров того времени, чтобы он выполнял эти вычисления за них. Они посадили человека на Луну при помощи калькулятора.

Сколько человек в зале имеют телефоны? Телефон в вашем кармане способен производить вычисления для миллиона «Аполлонов-11» одновременно. Ученые NASA в 60-е годы упали бы перед вами на колени и поклонялись вам как богу, лишь бы обладать такими технологиями. И как вы привыкли их использовать — для игры в Angry birds?

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

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

Первая — программирование действительно делает вас умнее. Вы наверняка спрашиваете себя: а почему я должен учиться программированию? Это хороший вопрос, но на самом деле это то же самое, что люди говорили в XV веке о чтении.

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

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

У программистов есть еще и «побочный эффект» при решении такого рода проблем — они могут стать мультимиллиардерами.

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

Кроме всего прочего, вы будете знать о компьютерах достаточно, чтобы перестать слушать, что вам говорит помощник Microsoft Office. Вы будете сами по-настоящему понимать, как работают компьютеры.

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

Здесь я перехожу ко второй причине — компьютеры становятся лучше и быстрее, чем люди. В информатике есть «закон Мура», согласно которому каждые два года производительная мощность среднего компьютера будет удваиваться. Насколько умнее становится ваш мозг каждые два года? Вы все еще значительно умнее, чем компьютер, но надолго ли?

По мнению футуролога Рэймонда Курцвейла, к 2025 году вы сможете купить компьютер с такими же вычислительными возможностями, какими обладает человеческий мозг, за 1000 долларов.

Но даже больше изумляет то, что вы можете купить уже сегодня. Например, одноплатный компьютер Raspberry Pi размером с банковскую карту. В начале этого года он поставлялся по цене 25 долларов. 25 долларов за компьютер! Представьте, что вы можете сделать с этой штукой. Правда, если бы вы знали, что с ней делать.

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

Здесь я перехожу к третьему и последнему пункту — вы ленивы. При этом вы не понимаете, что как раз программисты — одни из самых ленивых людей на планете. Если у программиста есть работа, занимающая 10 секунд каждый день, он потратит месяцы, чтобы создать инструмент, который сократит ее на 5 секунд.

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

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

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

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

Итак, с чего начать? Просто напишите в поисковике «Как программировать онлайн». Есть тонны бесплатных ресурсов. Если вам ни один из них не нравится, я составил список моих любимых на моем сайте christiangenco.com. Вы можете сразу начать обучение.

Я бы хотел закончить одной из моих любимых цитат — она принадлежит человеку, который бы точно был программистом, если бы компьютеры существовали при его жизни. Этот человек, Генри Фонд, как-то сказал: «Если у вас есть трудная задача, дайте ее ленивому человеку, и он найдет легчайший путь для ее решения».