Cтраница 3
В этой главе мы обсудим одно из последних нововведений стандарта языка C - шаблоны. [31]
Вместе с тем встал и следующий вопрос: учтены ли в стандарте языка программирования Паскаль сформулированные ранее критические замечания. Ведь к моменту его оздания уже была широко распространена версия языка, известная под названием УКСД-Паскаль [14] ( язык Паскаль Калифорнийского университета в Сан-Диего), в которой были устранены недостатки, связанные с ограничениями на обработку строк, произвольными завершениями циклов и процедур, а также введено понятие файла с произвольным доступом. [32]
В приведенных ниже программах на Паскале нами были сделаны следующие отступления от стандарта языка: ( 1) Стандартные файлы ввода-вывода можно не указывать - по умолчанию это Input и Output соответственно. Взаимное расположение описаний в программах не определено строго. Учитывая, что при изменении начальных параметров в тексте программ почти всегда изменяется только раздел описания констант ( const), мы всюду вынесли его в начало, поставив перед разделом описания меток ( label), идущим первым в стандарте. Допускаются не только цифровые, но и любые буквенные метки. При обработке условного оператора и операторов циклов логическое выражение вычисляется слева направо до тех пор, пока результат не станет ясен. [33]
Язык SQL был впервые разработан фирмой IBM и затем одобрен многими компаниями в качестве стандарта языка управления реляционными БД для больших и мини - ЭВМ. Использование языка SQL в СУБД dBASE IV позволяет связать на логическом уровне программные среды больших и мини - ЭВМ с микро - ЭВМ. [34]
Перечислим элементы, которые содержатся в языке фор тран IV, но отсутствуют в стандарте языка фортран. [35]
Особые ситуации возникают во время выполнения программы, когда ее действия не укладываются в рамки, предусмотренные стандартом языка. Всего в стандарте предусмотрено порядка 150 нарушений такого рода. Некоторые из них не вызывают фатальных последствий. Например, ошибка в задании аргумента табуляторного пропуска TAB ( - 2) приводит к выдаче предупреждающего сообщения. К сожалению, с большинством ошибок дело обстоит несколько хуже. Их появление приводит к снятию задачи. [36]
В 1983 г. Американский Институт Стандартов ( ANSI) сформировал Технический Комитет X3J11, устав которого предусматривает создание стандарта языка Си. Стандартизация должна распространяться не только на язык, но и на программную среду компилятора, а также на библиотеку стандартных функций. В работе комитета участвуют представители основных фирм - поставщиков компиляторов Си, в том числе и для IBM PG, а также многие другие известные специалисты по языку Си. [37]
По мнению авторов данной книги ( как, впрочем, и многих других программистов), мнемокоды в стандарте языка ассемблера ЕС ЭВМ не очень удобны, особенно при начальном изучении этого языка - главным образом из-за слабости их мнемоники. Это, в частности, связано с тем, что в основу образования мнемокодов положены сокращения английских названий машинных операций, - ясно, что для лиц, не знакомых ( или мало знакомых) с английской терминологией в области вычислительной техники и программирования, такой подход весьма далек от принципа мнемоничности. Кроме того, мнемокод стандарта очень слабо отражает модификации операций в зависимости от типов данных и формата команд. Например, из мнемокода L ( от слова Load - загрузка) довольно трудно извлечь информацию о том, данное какого типа загружается ( пересылается) в регистр и откуда берется пересылаемое данное - из регистра или из основной памяти, а если из памяти, то адресом какого типа ( X или S) задается это данное. Для получения этой информации приходится знать и помнить целый ряд других принятых соглашений. В связи с этим практически приходится либо выучивать наизусть имена операций ( что достигается лишь при длительной практической работе с этим языком), либо постоянно пользоваться таблицей, в которой приведено имя каждой машинной операции и объяснено ее содержание и требуемый формат команды. [38]
Речь поначалу шла об учебном языке, но идея оказалась настолько хорошей, что уже в 1973 г. был создан стандарт языка для профессиональных программистов, а в 1982 г. Филип Кан закончил разработку своего транслятора Турбо-Паскаль и пересек океан, надеясь заинтересовать им американских пользователей персональных компьютеров. [39]
Указанные дефекты, естественно, присущи также всем dBase - совместимым системам - Clipper, FoxBase и др. Стремление сохранить установившиеся стандарты языка dBase и организации файлов базы данных делает эти недостатки неустранимыми. [40]
Фортран IV ДОС включает в себя ряд элементов, отсутствующих в более ранних версиях языка Фортран, в том числе и в стандарте языка Фортран. [41]
Помимо группы DOM, существует еще ЕСМА - европейская организация, занимающаяся стандартизацией и недавно выпустившая свои рекомендации ( названные ECMAScript) по стандартам языков сценариев. [42]
Как видим, после заголовка процедуры следует описание этой функции в качестве внешней, со специальным указанием, что вызов ее должен происходить в стандарте языка Си. Поскольку в стандартной библиотеке компилятора Паскаля эта функция не содержится, должен быть явно указан файл, содержащий ее описание. LIB, поставляемый вместе с компилятором Microsoft Си, и содержащий описание большинства доступных из Си команд. [43]
Как и с параметрами разновидности целого типа, показатель разновидности вещественного типа может быть естественно сведен к числу байтов, занимаемых вещественным числом, однако стандарт языка не требует этого. [44]
Процедура AUTOCODE, вызываемая для исполнения оператором EXEC, обеспечивает последовательный вызов для работы препроцессора ( который вводит текст автокодной программы и заменяет в ней мнемокоды машинных операций на мнемокоды стандарта языка ассемблера ЕС ЭВМ), транслятора ( осуществляющего перевод исходной программы на язык машины), постпроцессора ( делающего обратную замену мнемокодов в подготовленной для печати на листинге исходной для транслятора программы), а также выполнение оттранслированной программы. [45]