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

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

Читатель вправе задать вопрос: "Почему существует так много алгоритмических языков высокого уровня и нельзя ли ограничиться одним?" Аналогичный вопрос о множественности естественных языков издавна волновал лучшие умы человечества (вспомните легенду о вавилонском столпотворении). В конце концов Заменгоф даже создал искусственный универсальный язык — эсперанто. Перед второй мировой войной некоторое распространение имел состоящий из 850 английских слов Basic English. Можно только мечтать, что эволюционный процесс развития алгоритмических языков высокого уровня когда-нибудь приведет к созданию некоторого единого алгоритмического сверхязыка. Этому противодействуют два обстоятельства.

Во-первых, удобство программирования на различных языках зависит от класса решаемых задач. Не зря алгоритмические языки высокого уровня иначе называются проблемно-ориентированными (исключение составляет язык С, структуры которого ориентированы на архитектуру современных компьютеров).

Во-вторых, жесткая конкуренция на рынке программного обеспечения так или иначе приводит к отклонениям от тех стандартов, которые пытаются установить национальные и международные организации.

Так что в предвидимом будущем профессиональным программистам предстоит осваивать новые языки всю жизнь.

Еще на заре компьютерной эры ученые предвидели, что при программировании в кодах даже переход всего человечества на эту работу не сможет удовлетворить прогнозируемые потребности в программном обеспечении. Преодоление противоречия между потребностями в программном обеспечении и возможностями его разработки привело к развитию новой отрасли науки и техники, называемой теперь информатикой. История развития информатики интересна и поучительна, но не является предметом этой книги. А потому рассмотрим лишь вкратце достигнутые результаты, то есть ознакомимся с тем: