Классификация языков программирования

Автор работы: Пользователь скрыл имя, 19 Февраля 2013 в 14:18, реферат

Описание

В данной работе приведена классификация языков программирования, рассмотрены основные языки программирования

Работа состоит из  1 файл

курсач.docx

— 71.67 Кб (Скачать документ)

Классификация языков программирования

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

Различают такие  языки процедурного программирования:

 Язык Фортран создан в начале 50-х годов 20-го века для программирования научно-технических задач;

  Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных;

 Алгол (1960 год) –  это многоцелевой расширенный  язык программирования. В нем  впервые введены понятия «блочная  структура программы» и «динамическое  распределение памяти»; 

 В середине 60-х годов  20-го века был создан специализированный  язык программирования для начинающих  – BASIC. Характеризуется простотой  освоения и наличием универсальных  средств для решения научных, технических и экономических задач, а также задач, например, игровых.

Все перечисленные выше языки  были ориентированы на различные  классы задач, но они в той или  иной мере были привязаны к конкретной архитектуре ЭВМ.

 В 1963-1966гг был создан  многоцелевой универсальный язык PL-1. Этот язык хорошо приспособлен  для исследования и планирования  вычислительных процессов, моделирования,  решения логических задач, разработки  систем математического обеспечения. 

 Язык Паскаль (PASCAL) (1968-1971гг)- язык процедурного программирования  наиболее популярный для ПК, который  и в настоящее время успешно  применяется. В основу языка  Pascal положен подход от общей задачи к частным (более простым и меньшим по объему). К основным принципам, которыми обладает Паскаль, можно отнести: а) Структурное программирование, которое основано на использовании подпрограмм и независимых структур данных; б) Программирование «сверху-вниз», когда задача делится на простые, самостоятельно решаемые задачи. Затем выстраивается решение исходной задачи полностью сверху вниз.

 К языкам процедурного  программирования можно отнести  язык АДА (1979 г) Язык назван  в честь первой программистки  Ады Лавлейс- дочери Байрона. Его отличает модульность конструкций.

 Язык СИ (начало 70-х  годов) также относится к языкам  процедурного программирования. Первоначальный  его вариант планировался как  язык для реализации операционной  системы Unix вместо языка Ассемблера. Одной из особенностей языка СИ является то, что различия между выражениями и операторами сглаживаются, что приближает его к функциональным языкам программирования. Кроме того, в языке СИ отсутствует понятие процедуры, а использование подпрограмм основано на понятии функции, которая может сочетать в себе возможности процедуры. С одной стороны, по набору управляющих конструкций и структур данных его можно отнести к языкам высокого уровня, а с другой – он имеет набор средств прямого обращения к функциональным узлам компьютера, а это означает, что его можно использовать как операционный язык.

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

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

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

Следующими важнейшими принципами ООП являются наследование и полиморфизм. Наследование предусматривает создание новых классов на базе существующих и позволяет классу потомку иметь (наследовать) все свойства класса –  родителя.

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

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

Наиболее современными языками  программирования являются С++ и Java. С середины 90-х годов многие объектно–ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно – ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Application) – язык приложений Microsoft Office (Excel, Word, Power Point и др). VBA соблюдает основной синтаксис языка и правила программирования языков Basic – диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

Декларативные языки  программирования

К ним относятся функциональные и логические языки программирования. Функциональное программирование- это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений. Выражение вычисляется сведением сложного к простому. Все выражения записываются в виде списков. Первым языком стал язык Лисп (LISP, LIST Processing- обработка списков) создан в 1959г. Этот язык позволяет обрабатывать большие объемы текстовой информации. Логическое программирование- это программирование в терминах логики. В 1973 году был создан язык искусственного интеллекта Пролог (PROLOG) (Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

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

Ассемблер

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

1) языки низкого уровня;

2) языки высокого уровня.

К языкам низкого уровня относятся языки Ассемблера. Свое название они получили от имени системной  программы Ассемблер, которая преобразует  исходные программы, написанные на таких  языках, непосредственно в коды машинных команд. Частями здесь служат операторы, а результатом сборки последовательность машинных команд Язык Ассемблера объединяет в себе достоинства языка машинных команд и некоторые черты языков высокого уровня. Ассемблер обеспечивает возможность применения символических  имен в исходной программе и избавляет  программиста от утомительного труда (неизбежного при программировании на языке машинных команд) по распределению  памяти компьютера для команд, переменных и констант.

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

Паскаль

Язык программирования Паскаль  был разработан профессором кафедры  вычислительной техники Швейцарского Федерального института технологии Николасом Виртом в 1968 году как альтернатива существующим и все усложняющимся  языкам программирования, таким, как PL/1, Algol, Fortran. Интенсивное развитие Паскаля привело к появлению уже в 1973 году его стандарта в виде пересмотренного сообщения, а число трансляторов с этого языка в 1979 году перевалило за 80. В начале 80-х годов Паскаль еще более упрочил свои позиции с появлением трансляторов MS-Pascal и Turbo-Pascal для ПЭВМ. С этого времени Паскаль становится одним из наиболее важных и широко используемых языков программирования. Существенно то, что язык давно вышел за рамки академического и узко профессионального интереса и используется в большинстве университетов высокоразвитых стран не только как рабочий инструмент пользователя. Важнейшей особенностью Паскаля является воплощенная идея структурного программирования. Другой существенной особенностью является концепция структуры данных как одного из фундаментальных понятий.

Основные причины популярности Паскаля заключаются в следующем:

- простота языка позволяет  быстро его освоить и создавать  алгоритмически сложные программы 

- развитые средства представления  структур данных обеспечивают  удобство работы как с числовой, так и с символьной и битовой информацией

- наличие специальных  методик создания трансляторов  с Паскаля упростило их разработку  и способствовало широкому распространению  языка 

- оптимизирующие свойства  трансляторов с Паскаля позволяют  создавать эффективные программы.  Это послужило одной из причин  использования Паскаля в качестве  языка системного программирования 

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

Си

Сотрудник фирмы Bell Labs Денис Ритчи создал язык Си в 1972 году во время совместной работы с Кеном Томпсоном, как инструментальное средство для реализации операционной системы Unix, однако популярность этого языка быстро переросла рамки конкретной операционной системы и конкретных задач системного программирования. В настоящее время любая инструментальная и операционная система не может считаться полной если в ее состав не входит компилятор языка Си. Ритчи не выдумывал Си просто из головы – прообразом служил язык Би разработанный Томпсоном. Язык программирования Си был разработан как инструмент для программистов-практиков. В соответствии с этим главной целью его автора было создание удобного и полезного во всех отношениях языка.

Си является орудием системного программиста и позволяет глубоко  влезать в самые тонкие механизмы  обработки информации на ЭВМ. Хотя язык требует от программиста высокой  дисциплины, он не строг в формальных претензиях и допускает краткие  формулировки.

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

Си – мощный и гибкий язык. Большая часть операционной системы Unix, компиляторы и интерпретаторы языков Фортран, Паскаль, Лисп, и Бейсик написаны именно с его помощью.

Си – удобный язык. Он достаточно структурирован, чтобы  поддерживать хороший стиль программирования и вместе с тем не связан жесткими ограничениями. В некотором смысле язык Си – самый универсальный, т.к. кроме набора средств, присущих современным языкам программирования высокого уровня (структурность, модульность, определенные типы данных), в него включены средства для программирования практически на уровне ассемблера. Большой набор операторов и средств требуют от программиста осторожности, аккуратности и хорошего знания языка со всеми иго преимуществами и недостатками.

Си++

Язык C++ появился в начале 80-х годов. Созданный Бьерном Страуструпом с первоначальной целью избавить себя и своих друзей от программирования на ассемблере, Си или различных других языках высокого уровня.

По мнению автора языка, различие между идеологией Си и C++ заключается  примерно в следующем: программа  на Си отражает “способ мышления”  процессора, а C++ - способ мышления программиста. Отвечая требованиям современного программирования, C++ делает акцент на разработке новых типов данных наиболее полно соответствующих концепциям выбранной области знаний и задачам  приложения. Класс является ключевым понятием C++. Описание класса содержит описание данных, требующихся для  представления объектов этого типа и набор операций для работы с  подобными объектами.

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

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