Читаем Беседы об информатике полностью

Снова, в который раз, хочется задать вопрос: только и всего? Но все усугубляется еще одним интересным обстоятельством. Сравните нашу строку с рисунком 8. Конечно, это одно и то же. Только на рисунке надо заполнить содержанием пустые геометрические фигуры (прямоугольники и ромб), а в языковой конструкции — заполнить тем же самым содержанием пробелы между словами FOR и STEP, UNTIL и DO. Оператор цикла представляет собой некий формализм. Чем заставлять программистов заучивать правила его образования, можно было сразу поручить все это делать ЭВМ.

Последний из упомянутых трех операторов — условный — имеет вид:

IF C THEN A ELSE B,

что читается (в том числе и ЭВМ) так: если условие C удовлетворяется, переходи к выполнению фрагмента программы A, в противном случае переходи к выполнению фрагмента программы B.

Человек, хорошо усвоивший все сказанное, с полным основанием может считать, что он овладел соответствующим языком программирования. Не сомневаемся, что подобное утверждение встретит яростное возражение со стороны профессионалов-программистов, но тем не менее это так. С помощью выражений и перечисленных операторов можно составить любую, без каких-либо исключений, программу. Это не частное мнение авторов данной книги, а строго доказанный факт, представляющий собой содержание знаменитой теоремы академика В. Глушкова.

Иное дело, что каждый конкретный язык предоставляет программисту некоторые дополнительные удобства. Как правило, имеются средства, позволяющие систематизировать операнды, оформив их в виде своего рода таблиц (их называют массивами). Язык содержит определенное количество функций, например, функцию синус можно вычислить, просто записав SIN(x), где x — значение.

Хватит подробностей. Наша беседа ни в коей мере не претендует на роль руководства по программированию. Позволили языки уменьшить трудоемкость программирования? Несомненно, да. Прежде всего человек получил возможность не корпеть над бесконечными последовательностями нулей и единиц, перейдя вместо этого к более привычным ему строчкам букв и цифр. Во-вторых, отпала необходимость держать в голове или вырисовывать на листе бумаги все ячейки памяти. При реальном программировании приходится иметь дело с десятками и сотнями тысяч таких ячеек. Отпала необходимость выполнять рутинную работу, например, по оформлению циклов.

Вместе с языками, естественно, появились средства перевода с этих языков на язык машины, так называемые трансляторы. Одновременно с основной функцией перевода трансляторы выполняют также функцию строжайшего контроля соблюдения грамматических правил. Это совершенно необходимо. Как, к примеру, машина отличает адрес операнда (идентификатор) от адреса команды (метки)? Способ единственный: если после строчки букв и цифр следует двоеточие (так не во всех языках, а только в языке Алгол), значит, это метка. В противном случае — идентификатор.

Строгий грамматический контроль имеет большое положительное значение, так как с его помощью вылавливаются многие ошибки программиста. Увы! Программист продолжает ошибаться, даже пользуясь самым совершенным алгоритмическим языком. Столь щепетильная придирчивость ЭВМ к грамматическим ошибкам заставляет тратить слишком много времени на возвраты программ и исправление ошибок. ЭВМ вполне заслуживает того, чтобы ей доверили самостоятельно исправлять большую часть грамматических ошибок типа забытых запятых.

Нельзя обойти молчанием и то, что появление алгоритмических языков, да еще различных, добавило в изрядно заполненную всевозможными терминами мусорную корзину нашего человеческого языка еще немалую толику. Никогда не забудем, какое количество сил пришлось затратить, чтобы усвоить наконец, что за премудрость кроется под магическим словом «идентификатор»! И какая взяла злость, когда стало ясно, что идентификатор всего лишь адрес ячейки памяти.

Заканчивая рассуждения о языках, мы лишь повторим то, что уже сказано на страницах этой книги по поводу изучения языков вообще. Сейчас много говорят о всеобщей компьютерной грамотности и в первую очередь связывают ее с изучением алгоритмических языков. При этом процесс обучения даже простейшему языку, скажем Бейсику, возводится в рамки самостоятельной сложной проблемы. Мы продолжаем придерживаться собственной точки зрения. Конечно, можно поступать и так: сначала вызубрить наизусть все руководство к языку, а это книжка объемом не менее полусотни страниц, и только потом начинать им пользоваться. При подобной методике процесс обучения займет не меньше чем полгода. Мы настойчиво советуем использовать неоднократно проверенный и на самих себе, и на нескольких сотнях учащихся метод. Выучить только то, что сказано на предыдущих страницах, и ничтоже сумняшеся садиться за клавиатуру ЭВМ. Все остальное придет само, и вы даже не заметите как.


Гувернеры


Помните бессмертные строчки Пушкина?

Судьба Евгения хранила,Сперва мадам за ним ходила,Потом месье ее сменил.
Перейти на страницу:

Все книги серии Эврика

Похожие книги

Городской Пассажирский Транспорт Санкт-Петербурга: Политика, Стратегия, Экономика (1991-2014 гг.)
Городской Пассажирский Транспорт Санкт-Петербурга: Политика, Стратегия, Экономика (1991-2014 гг.)

Монография посвящена актуальным вопросам регулирования развития городского пассажирского транспорта Санкт-Петербурга. Рассматриваются вопросы реформирования городского пассажирского транспорта в период с 1991 по 2014 годы. Анализируется отечественный и зарубежный опыт управления, организации и финансирования перевозок городским пассажирским транспортом. Монография предназначена для научных работников и специалистов, занимающихся проблемами городского пассажирского транспорта, студентов и аспирантов, преподавателей экономических вузов и факультетов, предпринимателей и руководителей коммерческих предприятий и организаций сферы городского транспорта, представителей органов законодательной и исполнительной власти на региональном уровне. Автор заранее признателен тем читателям, которые найдут возможным высказать свои соображения по существу затронутых в монографии вопросов и укажут пути устранения недостатков, которых, вероятно, не лишена предлагаемая работа.

Владимир Анатольевич Федоров

Экономика / Технические науки / Прочая научная литература / Внешнеэкономическая деятельность
Компьютерные сети. 5-е издание
Компьютерные сети. 5-е издание

Перед вами — очередное, пятое издание самой авторитетной книги по современным сетевым технологиям, написанной признанным экспертом в этой области Эндрю Таненбаумом в соавторстве с профессором Вашингтонского университета Дэвидом Уэзероллом. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером и использовалось в качестве базового учебника в ведущих технических вузах. В книге последовательно изложены основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа. Пятое издание полностью переработано с учетом изменений, происшедших в сфере сетевых технологий за последние годы и, в частности, освещает такие аспекты, как беспроводные сети стандарта 802.12 и 802.16, сети 3G, технология RFID, инфраструктура доставки контента CDN, пиринговые сети, потоковое вещание, интернет-телефония и многое другое.

А. Гребенькова , Джеймс Уэзеролл

Технические науки