September 15, 2006

Why Johnny can't code

Статья Дэвида Брина(лучше смотреть через IE) о его сыне вызвала широкий резонанс. В ней говорится о том, что на данный момент ни одна из современных платформ не предоставляет пользователю простого языка программирования, такого как Бейсик. Простого и удобного. Настолько простого, что примеры программ на нём могли печатать в школьных учебниках. И настолько удобного, что школьники могли исполнять эти примеры и видеть как работает компьтер. Да, есть поставляемые с *nix системами GCC, есть .Net Framework, содержащий компиляторы, который входит в Windows. Но все они не являются "простым языком программирования".

Да, Бейсик уже давно не актуален. Но давайте вспомним, с чего всё начиналось. Наверняка у каждого, кто сейчас близок к IT был в детстве ZX-Spectrum, с Бейсиком в качестве оболочки и кассетным магнитофоном для загрузки программ(в том числе игр). Программирование начиналось с робких попыток двигать курсор по экрану и изменять цвет вывода. Теперь, конечно, всё это кажется ребячеством, но тогда это было настоящее программирование.

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

Сейчас всё иначе (по крайней мере в Америке, по словам автора). Да и у нас в России я стал зачмечать, что есть люди, которые сначала изучали С++, а потом перешли на Java и C#, а есть такие, кто изначально обучался более позднему языку без понимания того, что же происходит на нижних уровнях.

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


Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?