2244075454_e250a93b9f_b

Текст Лилия Земнухова | 02.10.2013

                                                                                                                                                                                                                

Программирование довольно долгое время оставалось уделом учёных. Обслуживание комплексных систем и сложных машин требовало математической подготовки и большого терпения. Со временем, технологии сильно поменялись, стали появляться новые языки программирования. Software eats the world, поэтому программирование становится все более важным навыком.

Сергей Дмитриев, директор программы GameChangers: «Software съел телеком, и это — уже известная история. А дальше все распространяется в другие сферы. Отличный пример: книга Лоренса Лессига «Code and other Laws of Cyberspace» .

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

Пока программирование как навык остается профессиональным, хотя постепенно выходит в массы. Обучение программированию в университете и академический ареол «сложности знания» – это лишь исторический этап. Интернет изменил всё. Но еще больше поменял Open Source. Стали доступны программы, исходный код, возможности практики. Знать язык программирования – это skill, т.е. то, что приобретается только на практике. Знание языка программирования расширяет возможности, это — инструмент, который можно использовать… как Lego.

3978562587_fb4c5c43a7_b

Вячеслав Шебанов, технический директор интернет-газеты «Бумага»: «Чтобы быть хорошим программистом в современном мире, не нужно быть математиком или ученым. Это не требует знания крутых алгоритмов: все сложные алгоритмы уже написаны. Нужно взять все кусочки и построить их в такую структуру, которая бы обладала набором свойств и решала задачи; чтобы ее легко было поддерживать, и любой человек, который придет после, мог ее понять. Это может сделать любой. Кто-то лучше, кто-то хуже. Взять кубики и  сложить их в какую-то башню — здесь не нужен особый способ мышления».

И все же история с программированием сложнее конструктора. Это во многом социальный феномен. Можно научиться программировать, но зачем? Что стоит за этой тенденцией?

Научный контекст

Философ Михаил Куртов показывает, как философия техники, теория медиа и социология (STS) исследуют software и его распространение.

В академическом мире этими тремя направлениями занимаются, в принципе, разные люди. Философия техники часто имеет дело с классическими теориями (например, Маркс); она ближе к традиционной науке.

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

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

Сейчас на перекрестке трех областей рождается новая волна исследований software. Философия программирования остается пока не очень развитой областью. Социологи показали необходимость его изучения, но неизбежного технического переключения (буквально: вглубь – в самого программирования) не совершили.

Социологический метод всегда строился на подозрении и критическом отношении к объектам. В случае с software эта схема должна работать по-другому: в программировании все открыто. Там, где должен быть обнаружен черный ящик (на который и направлено познание), на самом деле находится доступное и открытое. Для того, чтобы понять, как работает software, надо просто попробовать.

Кроме того, смысл и значение software не ограничен социальным и не выводится из него, как того хотелось бы социологам — это часть культуры. Поэтому культурологам повезло больше: они больше понимают, как работать с media, и особенно, как делать это изнутри.

В 1999 году известный медиатеоретик Лев Манович ввел термин «new media», обозначая им среду цифровых технологий.  Последняя книга «Software takes command» названа им по аналогии с  «Mechanization takes command: A contribution to anonymous history» Зигфрида Гидеона, выпущенной в 1948 году.  В своем исследовании Манович продолжает идею пионера IT Алана Кея о метамедиуме. Суть в том, что Software – это такой инструмент, который может создавать другие инструменты.  Медиум по созданию других медиа.

2677069387_5b517ac8ac_b

Эта идея довольно проста. Но оценить ее глубину могут в полной мере те, кто понимают, что значит программировать. Сегодня исследователи новых медиа делятся на тех, кто умеет программировать, и тех, кто — нет. Вторые не теряют ничего, но первые идут дальше и делают новые открытия. Например, литературный критик Кэтрин Хейлз, которую называют бабушкой software studies, в своей книге «My mother was a computer» описала возможность использования текстов программ как литературных текстов, подчеркнув взаимосвязь кода и языка.

Сегодня software studies, выросшие из теории медиа, это признанная и популярная область исследований. Издательство MIT даже основало книжную серию с таким названием.

Компьютерная наука, на самом деле, не про компьютер, а про то, как мы понимаем наше мышление и какие абстракции мы можем порождать. Абстракции появляются вместе с языками высокого уровня. И есть две парадигмы в программировании, которые показывают два разных хода развития – императивная и декларативная. Первая отвечает на вопрос: «как нужно сделать?», вторая  дает ответ — «что должно быть сделано?». Изобретение понятие объекта Аланом Кеем стало тем, что, как предполагалось, снимет дилемму «как» и «что», подобно тому, как изобретение Платоном понятия идеи притязало на то, чтобы снять дилемму Гераклита и Парменида (всё движется или всё стоит на месте?). Большая часть софта сегодня написана в объектно-ориентированной парадигме. Почему это важно?

В 70-е годы hardware развивался быстрее, чем software, и нужно было преодолеть эту трудность. Фредерик Брукс в статье «No Silver Bullet»  1986 года заявил, что нет такой технологии, которая увеличит производительность, простоту и надежность работы процессов. Изобретение ООП стало этой серебряной пулей, как убедительно доказывает Брэд Кокс.

К чему все привело?

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

YouTube Трейлер

В феврале 2013 года по инициативе американской организации Code.org вышел промо-ролик «Чему не учат в школе». За полгода ролик набрал почти 11 млн. просмотров, 94 тыс. лайков и 17,5 тыс. комментов. Другой ролик, выпущенный ими же – «Знание кода – это новая грамотность». И поразительно здесь то, что комментарии пишут дети, которые уже что-то делают для IT-индустрии.

YouTube Трейлер

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

Code.org – лишь одна из обучающих платформ. Но есть еще много других:

Пробуйте! А тем временем, IT-сообщество будет продолжать делиться своими знаниями.

Обложка и иллюстрации — Flickr.