Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Языки программирования, их классификация и развитие

ктивность Рефал –программы.
3.6. Пролог и Пролог ++
Пролог - это язык, предназначенный для поиска решений. Это декларативный язык,
то есть формальная постановка задачи может бытьиспользована для ее решения.
Пролог определяет логические отношения в задаче, как отличные от пошагового
решения этой задачи.
Центральной частью Пролога являются средства логического вывода, которые решают
запросы, используя заданное множество фактови правил, к которым обращаются как к
утверждениям. Пролог также не имеет деления переменных на типы и может
динамически добавлять правила и факты ксредствам вывода. Таким образом, это
гибкий язык, и он более пригоден для объектно-ориентированного расширения, чем
язык со строго заданными типами,например, Паскаль. Пролог ++ представляет собой
дополнение к стандартному Прологу.
Все свойства языка по-прежнему доступны программистам. Следовательно, Пролог
++можно отнести к группе гибридных языков, представителями которой считаются
Object Pascal и C++. Расширение Пролог ++ поддерживает все свойства,присущие
обычно объектно-ориентированным языкам: концепции объектов и классов, единичное
и многократное наследование, разбиение на подклассы и передачусообщений.
Поддерживаются также некоторые усовершенствованные свойства, существующие в
таких языках, как C++ и Smalltalk, включая общие ичастные методы.
Интересным свойством является поддержка в языке программирования с управлением
данными. Эта техника, которая может быть ещеназвана программированием,
"управляемым событиями", используется в большинстве языков
объектно-ориентированного программирования, особенно в тех,которые разработаны
для машин с интерфейсом, управляемым "мышью".
Объектно-ориентированная программа реагирует на события, которые определяют
поток управления. В Прологе ++ программирование суправлением данными достигается
при помощи концепции демонов. Демон представляет собой объект, методы которого
вызываются в случае определенныхсобытий и могут быть таким образом использованы
для поддержки программирования с управлением данными.
Сам язык основан на концепции передачи сообщений. Программа на Прологе ++
строитсявокруг множества объектов Пролога ++, которые обмениваются сообщениями.
В этом смысле Пролог ++ ближе к чистомуобъектно-ориентированному языку, такому,
как Smalltalk, чем C++ или Object Pascal. Определения объектов строятся исходя
из вызовов
Open_Object [имя_объекта] и Close_Object [имя_объекта], а методы
определяютсяпрактически так же, как в других объектно-ориентированных языках.
Для задания наследования можно явным образом указать, какой метод какого объекта
долженнаследоваться, что является необходимым для многократного наследования.
3.7. Лекс
Лекс – генератор программ лексического анализа. Лексический анализ – это
распознавание лексем во входном потоке символов. Предположим, чтозадано
некоторое конечное множество слов (лексем) в некотором языке и некоторое входное
слово. Необходимо установить, какой элемент множества (если онсуществует)
совпадает с данным входным словом. Обычно лексический анализ выполняется так
называемым лексическим анализатором. Лексический анализатор –это программа.
Лексический анализ применяется во многих случаях, например, для построения
пакетного редактора или в качестве распознавателя директив вдиалоговой программе
и т.д. Однако, наиболее важное применение лексического анализатора – это
использование его в компиляторе. Здесь лексический анализатор выполняетфункцию
программы ввода данных.
Лексический анализатор выполняет первую стадию компиляции – читает строки
компилируемой программы, выделяет лексемы и передает их на дальнейшиестадии
компиляции (грамматический разбор, кодогенерацию и т.д.).
Лексический анализатор распознает тип каждой лексемы и соответствующим образом
помечает ее. Например, при компиляции Си-программымогут быть выделены следующие
типы лексем: число, идентификатор, оператор, ограничитель и т.д.
Лексический анализатор должен не только выделить лексему, но и выполнить
некоторые преобразования. Например, если лексема – число, то егонеобходимо
перевести во внутреннюю (двоичную) форму записи как число с плавающей или
фиксированной запятой. А если лексема – идентификатор, то его
необходиморазместить в таблице, чтобы в дальнейшем обращаться к нему не по
имени, а по адресу в таблице.
Хотя лексический анализ по своей идее прост, тем не менее, эта фаза работы
компилятора часто занимает больше времени, чем любая другая.Частично это
происходит из-за необходимости просматривать и анализировать исходный текст
символ за символом. Иногда даже бывает необходимо вернутьпрочитанный символ во
входной поток с тем, чтобы повторить просмотр и анализ.
3.8. Cи
Си – это язык программирования общего назначения, хорошо известный своей
эффективностью,экономичностью, и переносимостью. Указанные преимущества Си
обеспечивают хорошее качество разработки почти любого вида программного
продукта.Использование Си в качестве инструментального языка позволяет получать
быстрые и компактные программы. Во многих случаях программы, написанные на
Си,сравнимы по скорости с программами, написанными на языке ассемблера. При этом
они имеют лучшую наглядность и их более просто сопровождать. Си
сочетаетэффективность и мощность в относительно малом по размеру языке.
Си – это замечательный язык, и хотя некоторым он не нравится, но все же
большинствопрограммистов его любят. На Си вы можете создавать программы, которые
делают все, что вы пожелаете. Нет другого такого языка, который бы так
жестимулировал к программированию. Создается впечатление, что остальные языки
программирования воздвигают искусственные препятствия для творчества, а Си– нет.
Использование этого языка позволяет сократить затраты времени на создание
работающих программ. Си позволяет программировать быстро,эффективно и
предсказуемо. Еще одно преимущество Си заключается в том, что он позволяет
использовать все возможности вашей ЭВМ. Этот язык созданпрограммистом для
использования другими программистами, чего о других языках программирования
сказать нельзя.
3.8.1. Особенности языка Си
Язык Си имеет свои существенные особенности, давайте перечислим некоторые из
них:
Си обеспечивает полный набор операторов структурного программирования. Си
предлагает необычно большой наборопераций. Многие операции Си соответствуют
машинным командам, и поэтому допускают прямую трансляцию в машинный код.
Разнообразие операций позволяетвыбирать их различные наборы для минимизации
результирующего кода.
Си поддерживает указатели на переменные и функции. Указатель на объект программы
соответствует машинному адресу этогообъекта. Посредством разумного использования
указателей можно создавать эффективно-выполняемые программы, так как указатели
позволяют ссылаться наобъекты тем же самым путем, как это делает машина. Си
поддерживает арифметику указателей, и тем самым позволяет осуществлять
непосредственныйдоступ и манипуляции с адресами памяти.
В своем составе Си содержит препроцессор, который обрабатывает текстовые файлы
перед компиляцией. Среди егонаиболее полезных приложений при написании программ
на Си являются: определение программных констант, замена вызовов функций
аналогичными, но болеебыстрыми макросами, условная компиляция. Препроцессор не
ограничен процессированием только исходных текстовых файлов Си, он может
бытьиспользован для любого текстового файла.
Си-гибкий язык, позволяющий принимать в конкретных ситуациях самые разные
решения. Тем не менее, Си налагаетнезначительные ограничения в таких, например,
действиях, как преобразование типов. Во многих случаях это является
достоинством, однако программисты должныхорошо знать язык, чтобы понимать, как
будут выполняться их программы.
3.8.2. Недостатки языка Си:
Также, как и особенностей, в языке Си присутствует куча недостатков. Ведь от них
не защищен не один проект, в томчисле проект разработки и выполнения программ,
на языке Си:
Язык Си предъявляет достаточно высокие требования к квалификации использующего
его программиста. При изучении Сижелательно иметь представление о структуре и
работе компьютера. Большую помощь и более глубокое понимание идей Си, как языка
системногопрограммирования, обеспечат хотя бы минимальное знание языка
ассемблер. Уровень старшинства некоторых операторов не является общепринятым,
некоторыесинтаксические конструкции могли бы быть лучше. Тем не менее, как
оказалось Си – чрезвычайно эффективный и выразительный язык, пригодный для
широкого классазадач.
3.9.Си++
Безусловно, Си++ восходит, главным образом, к Cи. Cи сохранен как подмножество,
поэтому сделанного в Cи акцента на средствахнизкого уровня достаточно, чтобы
справляться с самыми насущными задачами системного программирования. Cи, в свою
очередь, многим обязан своемупредшественнику BCPL.
Название Си++ - изобретение лета 1983-его. Более ранние версии языка
использовались начиная с 1980-ого и были известны как "Cи сКлассами".
Перво
12345След.
скачать работу

Языки программирования, их классификация и развитие

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ