Программирование — вторая грамотность
Шрифт:
К сожалению, в настоящее время значительная часть перегруженных заботами организаторов промышленности отмахнется от подобных расчетов как от еще одного парадокса, к которым в нашем сложном мире не привыкать. До сих пор сохранилось еще немало самоуверенных руководителей, привыкших к тому, что спрос порождает предложение и на хорошие деньги профессионалы всегда найдутся. И опять параллели с грамотностью помогут нам в разрешении этого парадокса. Артур Кларк, уже побывавший силой своего предвидения в XXI веке, сказал:
В будущем всякий человек, полностью несведущий
Средневековые бароны и их потомки ушли в небытие, считать и писать научился каждый, а у секретарей появились новые хозяева и новые обязанности.
То же должно произойти и с программированием: руководители, не имеющие представления об ЭВМ и программировании, уйдут в небытие, профессиональные программисты станут системными аналитиками и системными программистами, а программировать сумеет каждый, что я и называю второй грамотностью.
Таким образом, мы переходим от мира машин к миру программ.
МИР ПРОГРАММ
Герой Мольера, месье Журдэн, был в высшей степени удивлен, когда узнал, что всю жизнь говорил прозой, не подозревая этого. Благодаря появлению ЭВМ и вызванному этим появлением возникновению вычислительной науки, или информатики, человечество оказывается в положении месье Журдэна, с удивлением обнаруживая, что оно живет в мире программ и что продуктивность информационных моделей внешнего мира придает новый смысл библейскому высказыванию «Вначале было слово».
Да, мы живем в мире программ, и сами постоянно программируем, не сознавая этого.
Можно спорить о том, что является самым выдающимся открытием ХХ века. Но если взять первую пятерку, даже первую тройку открытий, то, думаю, можно будет уговорить каждого, что в этот узкий круг входит открытие того, что развитие организма есть выполнение генетической программы, записанной в его генном наборе. Не имея возможности говорить об этом подробно, хотел бы только заметить, что использование программистских терминов является не метафорой, а выражает суть внутриклеточных процессов роста и развития, по отношению к которым молекулярные структуры и химические процессы являются своего рода элементной базой и способом реализации микрокоманд.
Программами буквально напичкан наш организм. Все без исключения физиологические процессы — это огромная, тщательно отлаженная и сложно устроенная библиотека программ, в которой анализ структуры программ (программисты сказали бы «граф вызовов») и информационных связей позволяет делать далеко идущие выводы и прогнозы о поведении организма.
Практически вся область производственных отношений, особенно непосредственно в производственном процессе, — это работа по программам. Устойчивый производственный процесс всегда внутренне формализован, его эффективность зависит от степени отлаженности программ, выполняемых людьми. Даже если процесс стохастичен (например, охота или вождение автомашины), случайность и непредсказуемость сказывается лишь на выстраивании цепочки ситуаций, но не на реакциях на эти ситуации, которые осуществляются по программе, почти всегда выполняемой в автоматическом режиме.
Даже обучение, то есть приобретение знаний или, скорее, способности что-то сделать, — это программирование. Лет десять назад профессор Массачусетского технологического института Сеймур Пейперт,
Повседневная жизнь человека, особенно городская, — это деятельность по программам. Каждый человек, придерживающийся режима, с гордостью почувствует себя программистом, если вспомнит свои заполненные до предела утренние процедуры, начиная от звонка будильника и кончая началом работы. Поразмышляйте над процедурой уборки в квартире, и вы увидите, что разработка этой программы сделает честь любому профессиональному программисту — составителю пакетов прикладных программ.
Мы жалуемся на социальные болезни века, в частности абсентеизм, пассивность, ратуем за формирование активной жизненной позиции. Что это такое? Попросту говоря, это способность выработать программу действия и следовать ей.
Таким образом, мир программ — это далеко не только начинка памяти ЭВМ. Это прежде всего огромный запас операционного знания, накопленный человечеством и теперь лишь актуализируемый вычислительными машинами, роботам, автоматическим устройствам. Еще более огромный запас программ хранится в генофонде всего живого: его расшифровка и использование в значительной степени составляют предмет биологии и ее новых разделов, включая генную инженерию. Психология развития и теория поведения тоже в значительной степени формируют новые представления, сближающиеся с понятиями программирования.
Но если это так, то мы естественно приходим к проблеме фундаментализации программирования, выделению в нем некоторых «натуральных» сущностей, позволяющих сблизить мир машин и мир живого, программы природы и программы, составленные человеком. Если же мы хотим сделать эти натуральные сущности осознанным достоянием человека, то у нас нет иного пути, как отразить их в структуре и содержании всеобщего образования.
Хотелось бы подчеркнуть, что речь идет не о том, чтобы навязать детям новые, несвойственные им навыки и знания, а о том, чтобы проявить и сформулировать те стороны мышления и поведения, которые реально существуют, но формируются стихийно, неосознанно.
Рассмотрим, каковы же предпосылки и препятствия к осуществлению этого плана?
ОБЩАЯ ЗАДАЧА ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ
Итак, мы хотим учить детей законам программирования. Еще не зная их, мы понимаем, что они неизбежно будут выражены в сумме некоторых достаточно специфических приемов. Нам еще предстоит разбираться, в какой мере они посильны детям, но общие наблюдения таковы, что интеллектуальный и операционный потенциал детей далеко не исчерпан. Посмотрите, как помолодели за последние годы технические виды спорта, в особенности, плавание, гимнастика. Не знаю, как на Западе, но у нас автомашины еще дороги и люди зачастую накапливают деньги для их покупки, когда уже, как говорится, лучшие годы позади. Многие с горечью спрашивают, сколько жизней, потерянных из-за дорожных происшествий мы сберегли бы, если бы все без исключения научились водить машину в 14-15 лет.