Языки программирования

Автор работы: Пользователь скрыл имя, 03 Ноября 2012 в 10:52, реферат

Описание работы

Компьютерная программа представляет собой логически упорядоченную последовательность команд, предназначенных для управления компьютером. Процессор компьютера – это большая интегральная схема. Все данные и команды он получает в виде электрических сигналов. В двоичном коде наличие сигнала описывается понятием «1», а его отсутствие – понятием «0». Команды, обрабатываемые процессором, можно интерпретировать как ряд чередующихся определенным образом единиц и нулей. То есть любая команда преобразуется в двоичное число. Таким образом, процессор исполняет программы, представляющие собой последовательность чисел и называемые машинным кодом.

Файлы: 1 файл

Языки программирования.docx

— 28.46 Кб (Скачать файл)

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

Объектно-ориентированное  программирование ( ООП)

Пионером данного направления  явился язык Смолток (Smalltalk), первоначально  предназначенный для реализаций функций машинной графики. Работа над  языком началась в 1970 г. в исследовательской  лаборатории XEROX (США), а закончилась  в 1980 г. окончательным вариантом  интерпретатора Smalltalk-80. Данный язык оригинален тем, что его синтаксис очень  компактен и базируется исключительно  на понятии объекта. В нем отсутствуют  операторы или данные, все, что  входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. В настоящее время версия Visual Age for Smalltalk активно развивается компанией IBM.

Основой объектно-ориентированного программирования (ООП) является понятие  объект. Его сущность выражается формулой «объект = данные + процедуры». Каждый объект содержит некоторую структуру данных и доступные только ему процедуры (методы) обработки этих данных. Используя  эту методологию, можно создать  свой собственный абстрактный тип  и отобразить проблемную область  в эту созданную абстракцию вместо традиционного ее отображения в  предопределенные управляющие структуры  и структуры данных языка программирования. Объединение данных и свойственных им процедур обработки в одном  объекте называется инкапсуляцией  и присуще ООП.

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

ООП является более естественным, так как предоставляет возможность  выбрать имеющиеся или создать  новые объекты и организовать взаимодействия между ними. Следовательно, объектно-ориентированные языки  по сравнению с процедурными являются языками более высокого уровня.

При создании новых объектов их свойства могут добавляться или  наследоваться от объектов-предков, Наследование предусматривает создание новых классов на базе существующих, что дает возможность классу-потомку иметь (наследовать) все свойства класса-родителя. В процессе работы с объектами допускается полиморфизм – возможность использования методов с одинаковыми именами для обработки данных разных типов. Полиморфизм (от греч. «многоликость») означает, что рожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, в каком месте цепочки наследования они находятся. Другим основополагающим принципом ООП является модульность, – объекты заключают в себе полное определение их характеристик, никакие определения методов и свойств объекта не должны располагаться вне его, это делает возможным свободное копирование и внедрение одного объекта в другие.

К наиболее современным объектно-ориентированным  языкам программирования относятся  С++ и Java.

Язык С++ был разработан в начале 80-х гг. Бьярном Страуструпом в лаборатории Bell корпорации АТ& T. Им была создана компактная компилирующая  система, в основе которой лежал  язык С, дополненный элементами языков BCPL, Simula-67 и Алгол-68. Более ранние версии языка были известны как «С с классами». В июле 1983 С++ был впервые  использован за пределами исследовательской  группы автора, однако тогда еще  многие особенности языка не были придуманы. К 1990 г. была выпущена третья версия языка С++, стандартизированная  американским государственным комитетом  стандартов ANSI. В 1990 г. сотрудник корпорации Sun Д. Гослинг на основе расширения С++ разработал объектно-ориентированный  язык Oak, основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая  интегрируемая в Internet версия языка  получила название Java . С января 1995 г. Java получает распространение в Internet .

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

Синтаксис языков С++ и Java практически  полностью совпадает. Принципиальным различием является то, что язык С++ компилируемый в машинный код, а Java – в платформо-независимый  байт-код (каждая команда занимает один байт), этот байт-код может выполняться  с помощью интерпретатора – виртуальной Java -машины (Java Virtual Machine), версии которой  созданы сегодня для любых  платформ. С точки зрения возможностей объектно-ориентируемых средств, Java имеет ряд преимуществ перед  С++. Язык Java имеет более гибкую и  мощную систему инкапсуляции информации. Механизм наследования, реализованный  в Java , обязывает к более строгому подходу к программированию, что  способствует надежности и читабельности  кода. Язык С++ обладает сложной неадекватной и трудной для понимания системой наследования. Возможности динамического  связывания объектов одинаково хорошо представлены в обоих языках, но синтаксическая избыточность С++ и здесь  принуждает к выбору языка Java . Сегодня Java по популярности занимает второе место  в мире после Бейсика.

Идеи ООП проникли во многие процедурные языки. Например, в состав интегрированной системы программирования Паскаль (корпорации Borland International), начиная  с версии 5.5, входит специальная библиотека ООП Turbo Vision.

С середины 90-х гг. многие объектно-ориентированные языки  реализуются как система визуального  программирования. Такие системы  имеют интерфейс, позволяющий при  составлении текста программы видеть те графические объекты, для которых  она пишется. Отличительной особенностью этих систем является наличие в них  среды разработки программ из готовых «строительных блоков» позволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без написания программных операций. Система берет на себя значительную часть работы по управлению компьютером, что делает возможным в простых случаях обходиться без особых знаний о деталях ее работы. Она сама пишет значительную часть текста программы: описания объектов, заголовки процедур и многое другое. Программисту остается только вписать необходимые строчки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть: Но даже в этих случаях система сама указывает место для размещения таких строк. К объектно-ориентированным системам визуального проектирования относятся: Basic , Delphi , С++ Bui1der, Visual С++. Это системы программирования самого высокого уровня.

VBA ( Visual Basic for Application ) является  общей языковой платформой для  приложений Microsoft Office (Excel , Word , Power Point и  др.). VВA соблюдает основной синтаксис  и правила программирования языков  Бейсик-диалектов. VВA помогает довольно  сильно расширить возможности  приложений за счет написания  макросов программ, предназначенных  для автоматизации выполнения  многих операций. VВA позволяет  создавать объекты управления  графического интерфейса пользователя, задавать и изменять свойства  объектов, подключать к ним необходимый  для конкретного случая программный  код. С помощью VВA можно производить  интеграцию между различными  программными продуктами. Программы  на языке VВA для приложений  создаются двумя способами: в  автоматическом режиме как результат  построения клавишной макрокоманды  или путем написания программного  кода.

 Языки программирования  баз данных

Эти языки отличаются от алгоритмических прежде всего своим  функциональным назначением. При работе с базами данных (БД) наиболее часто  выполняются следующие операции: создание, преобразование, удаление таблиц в БД; поиск, отбор, сортировка по запросам пользователя; добавление новых записей  или модификация существующих; удаление записей и др. Для обработки  больших массивов информации и выборки  записей по определенным признакам  был создан структурированный язык запросов SQL ( Structured Query Language ). Он был  впервые создан фирмой IВM в начале 70-х гг., назывался Structured English Query Language (SEQUEL) и предназначался для управления прототипом реляционной базы данных IВM – System R. В дальнейшем SQL стал стандартом языка работы с реляционными базами данных, что зафиксировано американским национальным комитетом стандартов ANSI в 1986 г.

Практически в каждой СУБД имеется свой универсальный язык, ориентированный на ее особенности. Сегодня в мире ведущие производители  СУБД: Microsoft (SQL Server ), IВM (DB2), Oracle , Software AG ( Adabas ), Informix и Sybase . Их продукты предназначены  для совместной параллельной работы тысяч пользователей в сети, а  базы данных могут храниться в  распределенном виде на нескольких серверах. В Oracle имеется встроенный язык PL/ SQ L, в Informix – INFORMIX 4GL, в Adabas – Natural и т.д.

 Языки программирования  для компьютерных сетей

Появление и активное развитие компьютерных сетей стало причиной создания многочисленных версий популярных языков программирования, адаптированных для использования в сети. Отличительные  особенности, присущие сетевым языкам: они являются интерпретируемыми. Интерпретаторы для них распространяются бесплатно, а сами программы – в исходных текстах. Такие языки получили название скрипт-языков.

HTML ( Hyper Text Markup Language ) – универсальный  язык разметки гипертекста, используемый  для подготовки Web-документов для  сети Internet . Язык представляет собой  набор элементарных команд форматирования  текста, добавления графических  объектов (рисунков), задания шрифтов  и цвета, организации ссылок  и таблиц.

В соответствии с командами HTML броузер отображает содержимое документа, команды языка не отображаются. В  основе языка HTML лежит механизм гипертекстовых ссылок, обеспечивающий связь одного документа с другим. В HTML текст  кодируется в· ASCII· и поэтому может  быть создан и отредактирован в любом  текстовом редакторе. Все Web-страницы написаны на HTML или используют его  расширение.

Perl. В 80-х гг. Ларри Уолл  разработал язык Perl , который предназначался  для эффективной обработки больших  текстовых файлов, создания текстовых  отчетов и управления задачами. В его состав входят многочисленные  функции работы со строками, массивами,  всевозможные средства преобразования  данных, управления процессами, работы  с системной информацией и  др.

Tcl/Tk . В конце 80-х гг. Джон Аустираут придумал скрипт-язык Tcl и библиотеку Tk . Tcl – это попытка  создания идеального скрипт-языка.  Он ориентирован на автоматизацию  рутинных операций и состоит  из мощных команд, выполняющих  обработку нетипизированных объектов.

VRМL. В 1994 г. был создан  язык VRML для организации виртуальных  трехмерных интерфейсов в Интернете.  Он ориентирован на описание  разнообразных трехмерных образов,  цвето-теневого освещения в текстовом  виде и позволяет создавать различные сценарии миров, путешествовать по ним, «облетать» с разных сторон, вращаться в любых направлениях, масштабировать, управлять освещенностью и многое другое.

 Языки моделирования

При моделировании систем применяются формальные способы  их описания – формальные нотации, с помощью которых можно представить  объекты и взаимосвязи между  ними в системе. Такие системы  называют Case -системами.


Информация о работе Языки программирования