Хорошее начало
АрхивКомментарий дняБольшинство из тех, кто познакомились с вычислительной техникой в 1980-1990 годах, начали свое знакомство с языка BASIC. Есть ли сегодня достойная замена этому универсалу прошлого?
Увлечённые тотальным проникновением информационных технологий в самые различные области человеческой деятельности, мы в последнее время совсем редко вспоминаем о собственно информатике - том базовом предмете, с которого и начиналось путешествие в увлекательный мир вычислительной техники для каждого, по крайней мере, из приобщившихся к ней в 80-ых и 90-ых годах. Но и для тех, кто только начинает постижение основ ИТ, на самом деле изменилось немногое: им точно так же приходится отыскивать кнопки на своих первых компьютерах и самостоятельно находить общий язык с электронным "разумом". Главное отличие между нами, начинавшими десять и более лет назад, и теми, кто начинает сегодня, скрывается в отсутствии простого и понятного языка программирования, который мог бы послужить этим универсальным средством общения. Такого, каким был когда-то BASIC.
Вспомните, BASIC был стандартом де-факто, подкупавшим своей предельной простотой и надёжностью. Программы на нём не требовали компиляции и в большинстве случаев запускались сразу, а ошибки, если и возникали, отлавливались в два счёта даже совершенным новичком. На очень многих бытовых платформах BASIC был основной рабочей средой, в которую пользователь попадал сразу же по включении компьютера: отечественные "Специалист" и РК-86, импортные "Спектрумы", "Энтерпрайзы", "Амиги", "Коммодоры" и многие, многие другие использовали BASIC, по сути, в качестве операционной системы, с помощью которой можно было управлять всеми небогатыми ресурсами тогдашних вычислительных машин. При том, что BASIC-диалектов существовало множество, совместимость между ними была достаточной для запуска без изменений значительной части программ. В результате всего этого для многих пользователей BASIC стал чуть ли не вторым родным языком, с помощью которого легко и быстро можно было формализировать любую задачу для дальнейшего её решения на компьютере. Признаться честно, я и по сей день, составляя какой-нибудь сложный алгоритм, использую в качестве промежуточного псевдоязыка BASIC-подобные конструкции и операторы.
"Опопсение" вычислительной техники, произошедшее за последние десять лет, обернулось популяризацией пользовательских интерфейсов и инструментов, позволяющих объяснить машине, чего человеку надо, приложив минимум усилий. Управление ресурсами машины теперь вообще не требует программирования: всё реализуется с помощью мыши и визуальных элементов, а под программированием молодое поколение понимает написание скриптов для Microsoft Word и составление табличек в Excel. Оно, может быть, и не так плохо. В конце концов, зачем среднему компьютерному пользователю быть программистом? Но отрицательные моменты тоже есть: во-первых, составление алгоритмов (читайте, умение отыскать самому и растолковать компьютеру наиболее эффективный способ решения задачи) для тех, кто сегодня заканчивает школу, задача неподъёмная (проверено лично мной на настоящих студентах), во-вторых, что показать начинающим, чтобы Windows не ассоциировалась у них с пупом Земли, а экселевская табличка не казалась вершиной программистского искусства?
BASIC, достать интерпретатор которого сегодня, конечно, можно, на роль универсальной рабочей среды уже не годится - про него мало кто знает. Python, на котором пишутся множество серьёзных программ, неплохой кандидат, но не идеальный - про него тоже слышали немногие. Идеалом мог бы стать инструмент, с которым сталкиваются каждый день большинство пользователей, и такой инструмент, по счастью, есть. Вы и сейчас работаете с ним. Это ваш веб-браузер и встроенный в него интерпретатор языка Javascript.
Идея выдвинуть Javascript на роль "Бейсика XXI века", изложена в книге Гарольда Дэвиса "Программирование в любом браузере". И согласитесь, идея подкупает. Вообще говоря, Javascript - сложный объектно-ориентированный язык, совместимость диалектов которого остаётся на некотором среднем уровне (стандарт существует, но разработчики большинства браузеров используют собственные имплементации). Но прелесть его в том, что, как и для BASIC, базовая функциональность Javascript может быть описана небольшим набором команд с простым и понятным синтаксисом, которые будут работать в любом браузере, под любой операционной системой. В то же время, тем, кто решит продолжить погружение, можно на примере Javascript объяснить и основы объектно-ориентированного подхода, показать как работают с современными форматами данных в Сети. Так что если у вас есть знакомый, который только начинает знакомство с программированием, покажите ему Javascript. В конце концов, когда-то кто-то точно так же рассказал вам о "Бейсике".