Почему Лого?
В последнее время язык программирования Лого завоевывает все большую популярность и не только в начальной или средней школе, но и в колледжах, университетах, да и просто в среде любителей интеллектуального досуга. Это справедливо не только для зарубежной системы образования, но и для российской. Чтобы убедиться в этом, достаточно просмотреть журналы "Информатика и образование" за последние пару лет. Объясняя причины этого явления, позволим себе пространную цитату из блестящей книги Брайена Харви, профессора университета Беркли, США, разработчика одной из свободно распространяемых версий Лого UCB Logo. Этот трехтомный труд у нас не переводился, и, к сожалению, практически не доступен, хотя для зарубежного пользователя Лого он является настольной книгой.Цитируем по второму изданию книги Brian Harvey, Computer Science Logo Style, The MIT Press, 1997. Глава так и называется Почему Лого?
Что же вкладывается в понятие мощный язык программирования?
Это качество не означает, что язык позволяет писать вам программы, выполняющие
что-либо, не доступное другим языкам. (В этом смысле все языки схожи. Если
вы можете написать программу на Лого, то так или иначе вы можете написать
ее на Паскале или Бейсике. Верно и обратное).
Мощность языка программирования это мера того, насколько язык помогает
вам сконцентрироваться, в первую очередь, на конкретной проблеме, которую
вы собирались решить, а не на преодолении ограничений, накладываемых самим
языком. Например, для С, Паскаля, Java и всех других языков, выросших
первоначально из Фортрана, программист должен очень точно определять, что,
как, и где хранится в памяти компьютера. Если вы хотите собрать 20 чисел
вместе и рассматривать их как один объект, вы должны определить массив,
заявив заранее, что в нем будет хранится в точности 20 чисел. Очень плохо,
если в последствии вы передумаете и захотите иметь массив из 21 числа. Вы
также должны решить заранее, что ваш массив будет содержать только целые
числа, или числа с дробной частью, или же это будет символьный массив, и
вы не можете смешивать данные разных типов в одном массиве. Для Лого процесс
размещения данных в памяти компьютера является полностью автоматическим.
Если ваша программа создала список из 20 чисел, память для его хранения
отведется автоматически, без всяких усилий с вашей стороны. Если позже вы
захотели добавить 21-е число, это также делается автоматически.
[...]
Не случайно Лого оказался более мощным языком, чем Паскаль или С++, и произошло это вовсе не потому, что его разработчики более умны и изобретательны. Фортран был разработан до того, как математические основы программирования были хорошо осознаны, и его конструкции являются отражением возможностей (и недостатков) компьютеров того времени. Фундамент языков, выросших из Фортрана, не изменился и до сих пор, хотя худшие его дефекты были залатаны в последних версиях, например, Java и С++. Более мощные языки базируются на конкретных математических моделях и реализуют эти модели в полной мере. Например, АПЛ базируется на идее матричной обработки; Пролог на исчислении предикатов (раздел математической логики). Лого, как и ЛИСП, базируется на идее композиции функций (composition of functions)
[...]
Конец цитаты.