Все больше споров и рассуждений по-поводу важности программирования в современной жизни. Действительно ли нужно всем уметь кодить? И пригодится ли это тем, кто не собирается связывать себя с данной профессией? По мнению знаменитого информатика Джона Маккарти (John McCarthy), писателя Стюарта Бранда (Stewart Brand) и ученой контр-адмирала Грейс Хоппер (Grace Hopper) — да, пригодится, поскольку программирование является важнейшим навыком, освоить который необходимо каждому здравомыслящему человеку.
Ниже описаны причины, на которые ссылаются эти выдающиеся личности в своем утверждении.
На протяжении тысячи лет одни люди руководили другими
Джон Маккарти:
Древние римляне построили империю руками рабов. Англичане создали мощное государство, навязывая свою волю жителям принадлежащих Британии колоний. Соединенные штаты стали экономически сильным государством благодаря дешевой рабочей силе времен промышленной революции. Но с ходом истории ситуация постепенно изменилась и в XXI веке мы не владеем и не управляем людьми. В современности мы владеем и управляем машинами.
Джон Маккарти (1927-2011 гг.) — автор термина «искусственный интеллект», изобретатель языка Лисп, основоположник функционального программирования, лауреат Премии Тьюринга за огромный вклад в область исследований искусственного интеллекта
Природа труда фундаментального изменилась и на сегодняшний день большую часть работы выполняют не люди, а машины. Ежедневно в Google отправляется более 3,5 миллиарда запросов. И поисковая система послушно ищет нужную информацию. А теперь давайте подумаем, сколько человеко-часов понадобилось бы для того, чтобы вручную обработать хоть один запрос Google. Можно представить группу докторов наук, ученых и специалистов из различных областей, которые круглосуточно звонят друг другу с вопросами и обсуждениями документов и других материалов. И потом это все выдают запрашивающему. Сделать подобную работу быстро и эффективно может только машина.
Один из крупнейших сайтов о путешествиях Trip Adviser помогает с выбором места для отпуска. Далее ресурс Expedia позволяет забронировать нужный рейс. Ну а Google maps указывает дорогу к аэропорту и отелю. Все эти услуги доступны обычному потребителю благодаря быстрой и слаженной работе машины. Но машины выполняют подобную работу лишь потому, что люди говорят им, что и как делать. Тут и раскрывается важность роли написания программного обеспечения, то есть специального софта. Ну и само собой, для успешного управления нужны знающие люди, которые могут предоставить очень четкие инструкции. Проще говоря — написать код.
Как говорил Маккарти:
Кодирование — это «новая грамота» нашего времени, которой следует наряду с чтением и правописанием обучать детей. Будущее за машинами, они смогут заменить множество других профессий, выполнять различные задачи и автоматизировать рабочий процесс.
Программировать или быть запрограммированным?
Стюарт Бранд:
После того, как новая технология прокатится по миру, если Вы не являетесь частью этого катка, то становитесь частью дороги.
Американский писатель Стюарт Бранд (1938 г.р.), создатель каталога советов и статей об окружающей среде и технологиях The Whole Earth Catalog (на его обложке первая фотография Земли), основатель одного из первых онлайн-сообществ WELL
По мнению Бранда остановить развитие той или иной технологии невозможно. Можно только адаптироваться под нее. Новая технология будто джин, выбравшийся из бутылки — обратно его уже не загнать. Так было с развитием самолетов, антибиотиков и ядерного оружия. И тоже происходит с микропроцессорами, интернетом и усовершенствованием машин, робототехники.
Как считает Бранд:
Те, кто живо адаптируется к проходящим волнам изменений — процветают. А те, кто не обращает внимания на них — не могут даже понять, что они существуют. Они асимптотически приближаются к ненужности. Кодирование — это новая грамотность. Как было чтение в XII веке, писательство в XVI, арифметика в XVIII и управления автомобилем — в XX. И точно так же, как не всякий, кто умеет писать будет профессиональным литератором, а кто учит арифметику — великим математиком, так и не всякий изучающий код станет разработчиком программного обеспечения. Но изучение этих направлений определенно улучшит человека, научит его думать и пригодиться в жизни.
Подумайте о Вашей способность прочитать этикетку на лекарствах или возможность посчитать деньги. В том, что Вы можете кодировать также есть нечто не менее важное. Например, можно взять скучные повседневные задачи и автоматизировать их. А некоторые люди используют этот базовый навык, как способ накопления собственного богатства или чтобы улучшить мир.
«Корабли предназначены для плавания»
Американская учёная и контр-адмирал флота США Грейс Хоппер (1906-1992 гг.), разработала первый компилятор для компьютерного языка программирования, развила концепцию машинно-независимых языков программирования, что привело к созданию высокоуровневого языка COBOL. Писала программы для гарвардского компьютера Марк I.
Грейс Хоппер:
По своей сути компьютеры — это комплекс хрупких деталей и сложных схем. А человеческий мозг — это машина для обучения. Может показаться, что Вы никогда не научитесь кодировать. Может также показаться, что Вы просто не создании для этого. И даже найдется достаточно много людей, которые пробовали кодировать, но у них ничего не получилось. Но это лишь их субъективное мнение, по которому нельзя судить о собственных способностях.
Среди преподавателей бытует мнение, что каждый мыслящий человек может научиться кодировать так же, как научиться читать, писать, выполнять арифметические действия или водить машину. Нужно лишь желание и терпение.
Подводя итог
Грейс Хоппер советует учится кодировать — «выходите в море и изучать новые вещи». Стюарт Бранд рекомендует адаптироваться под развитие технологий и осваивать программирование хотя бы на базовом уровне. Джон Маккарти призывает изучать язык машин.
В завершение поста — несколько бесплатных ресурсов, на которых представлены видеолекции, онлайн курсы и уроки не только для желающих научиться программировать, но и для специалистов.
Code.org — оригинальный сайт, сделанный в развлекательном игровом стиле.
Codecademy — достаточно популярный сайт, где можно изучить основы программирования. Контент постоянно обновляется, добавляются новые языки программирования.
Udacity — ресурс, представляющий из себя что-то вроде он-лайн института по программированию. На нем собрано огромное количество курсов и видеолекций по программированию.
Code Avengers поможет в изучении HTML5, CSS3 и JavaScript. В конце каждого урока предлагается на примере мини-игры закрепить полученные знания.
Treehouse — ресурс для начинающих программистов, имеющих базовые знания и навыки. Видеоуроки нацелены на решение определенной практической задачи.
Code School предлагает более углубленные курсы по разработке и программированию. Но правда на этом ресурсе не все разделы бесплатные.