Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Языки программирования. Ассемблеры, языки высокого уровня. Объектно-ориентиро-ванное программирование



Delphi(от 1 до 7 версии), QuickBasic, Virtual Basic, Turbo Pascal, Borland Pascal, Java, С++ - всё это языки программирования.

Языки программирования принято делить на две основные группы, по мере их близости или удалённости от языка машинных команд.

Языки низкого уровня---например, язык ассемблера - мало похожи на нормальный, привычный человеку язык.

Языки высокого уровня---например, известные всем BASIC, PASCAL,C++ - в значительно большей степени ориентированы на человека. Команды этих языков - понятные человеку английские слова(goto, ren, list, if).

И пусть каждая из этих команд для человека- всего лишь слово. Но компьютеру для выполнения любой из них придётся проделать уже не одну операцию, как в ассемблере, а несколько. И чем «выше» язык, тем больше этих операций. Например, Одна из самых «высоких» программ в компьютере - системные файлы конфигураций autoexec.bat и соnfig.sys. Каждая строчка-команда в этих файлах требует выполнения отдельных программ - например, запуска программы русификации операционной системы или удаления файла.

Понятно, что повседневным орудием программистов сегодня являются именно языки высокого уровня, такие как С++, Delphi(созданный на основе языка Pascal) или Virtual Basic. И практически все программные пакеты, которыми мы пользуемся сегодня, созданы с помощью именно этих или подобных им языков. Поэтому и обучение программированию начинают именно с таких языков, как Pascal или Basic- они просты и лучше других иллюстрируют принципы программирования. К тому же практически навыки работы с этими языками обязательно пригодятся в будущем.

Существуют как универсальные, так и специализированные языки программирования. Например, вряд ли кто будет создавать бытовые программы для домашнего компьютера, пользуясь языком Java- зато для разработки Интернет-программ он незаменим. Специализированным языком программирования является и язык HTML- на этом языке создаются WWW-страницы Интернет.

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

Поэтому помимо «лексических» различий, для каждого языка программирования существует свой особый метод создания алгоритмов, приёмов «конструирования» программы и подходов к написанию каждого её элемента.

Объектно-ориентированное программирование: Не все языки программирования могут быть объектно-ориентированными. Слово "объектно-ориентированный" стало в области программирования синонимом слово "хорошо". В печати чаще всего встречаются элементы такого вида: "Ada - это хорошо; объектной ориентированности - это хорошо; отсюда следует, что Ada - объектно-ориентированный язык".

Из множества промышленных объектно-ориентированных расширений языков, которых сейчас создается все больше и больше, одним из самых интересных является Prolog++, объектно-ориентированная версия Пролога, созданная Logic Programming Associates (LPA). LPA давно находится в числе основных поставщиков Пролога и имеет версии языка как для PC, так и для Macintosh. Рассмотрим MacObject, версия Prolog ++ для Macintosh. MacObject используется вместе с MacProlog3.1. Итак, что же предлагает Prolog ++ такого, чего не могут предложить другие объектно-ориентированные среды, и как объектно-ориентированное расширение вписывается в язык, основанный на правилах?

Prolog и Prolog ++

Пролог - это язык, предназначенный для поиска решений. Это декларативный язык, то есть формальное определение (постановка) задачи может быть использовано для ее решения. Пролог определяет логические отношения в задаче, как отличные от пошагового решения этой задачи. Центральной частью Пролога являются средства логического вывода, которые решают запросы, используя заданное множество фактов и правил, к которым обращаются как к утверждениям. Пролог также не имеет деления переменных на типы и может динамически добавлять правила и факты к средствам вывода. Таким образом, это гибкий язык, и он более пригоден для объектно-ориентированного расширения, чем язык со строго заданными типами, например, Паскаль.

Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных моделей при разработке программных систем и их компонентов. Говоря об объектно-ориентированной разработке, имеют в виду:

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

Показано, что наиболее удобными для реализации программных систем, разработанных в рамках объектно-ориентированного подхода, являются объектно-ориентированные языки программирования, хотя возможна реализация и на обычных (не объектно-ориентированных) языках (например, на языке C и на языке Fortran).

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

Первый объектно-ориентированный язык программирования Simula 67 был разработан в конце 60-х годов в Норвегии. Авторы этого языка очень точно угадали перспективы развития программирования: их язык намного опередил свое время. Однако современники (программисты 60-х годов) оказались не готовы воспринять ценности языка Simula 67, и он не выдержал конкуренции с другими языками программирования (прежде всего, с языком Fortran). Прохладному отношению к языку Simula 67 способствовало и то обстоятельство, что он был реализован как интерпретируемый (а не компилируемый) язык, что было совершенно неприемлемым в 60-е годы, так как интерпретация связана со снижением эффективности (скорости выполнения) программ.

Но достоинства языка Simula 67 были замечены некоторыми программистами, и в 70-е годы было разработано большое число экспериментальных объектно-ориентированных языков программирования: например, языки CLU, Alphard, Concurrent Pascal и др. Эти языки так и остались экспериментальными, но в результате их исследования были разработаны современные объектно-ориентированные языки программирования: C++, Smalltalk, Eiffel и др.

Наиболее распространенным объектно-ориентированным языком программирования безусловно является C++. Свободно распространяемые коммерческие системы программирования C++ существуют практически на любой платформе. Широко известна свободно распространяемая система программирования G++, которая дает возможность всем желающим разобрать достаточно хорошо и подробно прокомментированный исходный текст одного из образцовых компиляторов языка C++. Завершается работа по стандартизации языка C++: последний Draft стандарта C++ выпущен в июне 1995 г. (он доступен по Internet).

Разработка новых объектно-ориентированных языков программирования продолжается. С 1995 года стал широко распространяться новый объектно-ориентированный язык программирования Java, ориентированный на сети компьютеров и, прежде всего, на Internet. Синтаксис этого языка напоминает синтаксис языка C++, однако эти языки имеют мало общего. Java интерпретируемый язык: для него определены внутреннее представление (bytecode) и интерпретатор этого представления, которые уже сейчас реализованы на большинстве платформ. Интерпретатор упрощает отладку программ, написанных на языке Java, обеспечивает их переносимость на новые платформы и адаптируемость к новым окружениям. Он позволяет исключить влияние программ, написанных на языке Java, на другие программы и файлы, имеющиеся на новой платформе, и тем самым обеспечить безопасность при выполнении этих программ. Эти свойства языка Java позволяют использовать его как основной язык программирования для программ, распространяемых по сетям (в частности, по сети Internet).





Дата публикования: 2015-01-26; Прочитано: 481 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...