pascal



Предыдущая | Следующая

pascal (Паскаль), сущ. Язык программирования, ведет свое происхождение от Алгола, разработан в 1967 68 годах Николасом Виртом для CDC 6600. В первую очередь предназначался для обучения студентов элементарным навыкам программирования, поэтому с точки зрения универсального программирования был слабым и явно не дотягивал до мировых стандартов. Со временем Паскаль начал вдруг считаться универсальным языком программирования и стал родоначальником целого семейства языков, включая Модулу-2 и Аду (см. bondage-and-discipline language). Отношение хакеров к этому языку лучше всего было изложено в датированной 1981 годом убийственной статье Брайана Кер-нигана (см. K&R), которая называлась Почему я не люблю программировать на Паскале. Эта статья не была опубликована ни в одном журнале, но благодаря множительной технике ее прочитали все заинтересованные лица. Ниже мы приводим отрывок из этой статьи – за прошедши 10 лет она не утратила своей актуальности, ибо ситуация с Паскалем ничуть не изменилась, несмотря на усилия многих программистов сделать язык более гибким и более открытым. Немаловажную роль играет и тот факт, что все слабые места Паскаля в той или иной степени свойственны другим языкам крепостного права. Суммируя все аргументы против Паскаля, в конце статьи Керниган пишет:9. Безвыходная ситуация Возможно, последний аргумент – самый важный. Паскаль -язык неадекватный, но очень ограниченный и замкнутый сам на себя. Поэтому вообще не существует выхода за рамки его ограниченности. Нельзя запретить проверку типа, когда это необходимо. Не существует возможности для замены дефективной исполняющей системы на другую, более разумную, раз эта система не управляет работой компилятора. Тупик. Программисты, использующие Паскаль для серьезных задач, оказываются в ловушке. Раз язык сам не в состоянии делать многие необходимые вещи, приходится его расширять. Но каждая группа разработчиков меняет Паскаль в том направлении, которое является важным или имеет смысл только с их точки зрения. Кто-то добавляет раздельную компиляцию, кто-то – общие области, наподобие фортрановских COMMON-областей, третьи вводят свои типы данных в виде строки, четвертые – внутренние статические переменные, инициализацию, восьмеричные числа, побитовые операции, и т.д. и т.п. Каждый делает то, во что горазд, а в результате возникает проблема переносимости программ, написанных на собственных «доморощенных» Паскалях. Я считаю большой ошибкой пытаться использовать Паскаль для того, для чего он не был предназначен. В своем первозданном, созданном Виртом варианте Паскаль просто-напросто игрушечный язык, очень милый и удобный для обучения полезным навыкам в программировании, но совершенно непригодный для серьезного программирования. За годы, прошедшие с момента написания этой статьи, нишу в системном и прикладном программировании, которую так долго и без всяких на то оснований занимал Паскаль, занял язык Си. Но и сегодня многие программисты из мира MS-DOS и Macintosh с удовольствием пользуются Паскалем для развлечения или в качестве хобби.