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

Автор: Пользователь скрыл имя, 29 Ноября 2011 в 16:51, курсовая работа

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

Целью курсовой работы является изучение общих характеристик языков программирования.
Задачи курсовой работы:
1. Проанализировать особенности языков программирования.
2. Рассмотреть историю языков программирования по поколениям.
3. Создать Web-сайт «Языки программирования».

Содержание

ВВЕДЕНИЕ 2
1. ОБЩИЕ ХАРАКТЕРИСТИКИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 3
1.1. Роль и характеристики языков программирования 3
1.2. Поколения языков программирования 4
1.3. Классификация языков программирования 7
1.4. Перспективы языков программирования 11
ЗАКЛЮЧЕНИЕ 12
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 13

Работа содержит 1 файл

ВВЕДЕНИЕ.doc

— 109.50 Кб (Скачать)

      Рождение  языков пятого поколения произошло  в середине 90-х годов. К ним  относятся также системы автоматического  создания прикладных программ с помощью  визуальных средств разработки, без знания программирования. Главная идея, которая закладываемая в эти языки,- возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.

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

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

      Рисунок 3.1.- Классификация языков программирования

        
      
 
 
 
 
 
 
 

      Процедурное программирование

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

      Среди процедурных языков можно выделить в свою очередь структурные и  операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы. В операционных языках для этого используются несколько операций. Широко распространены структурные языки: Паскаль, Си, Ада, PL-1, Алгол и др. Операционные: Фортран, Бейсик и др.

  • Язык Фортран создан в начале 50-х годов 20-го века для программирования научно-технических задач;
  • Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных;
  • В середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих – BASIC. Характеризуется простотой освоения и наличием универсальных средств для решения научных, технических и экономических задач, а также задач, например, игровых;
  • Алгол (1960 год) – это многоцелевой расширенный язык программирования. В нем впервые введены понятия «блочная структура программы» и «динамическое распределение памяти»;
  • В 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 – диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

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

      Декларативное программирование появилось в начале 70-х годов, но стремительное его развитие началось в 80-е годы, когда был разработан японский проект создания ЭВМ пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин.

      К ним относятся функциональные и  логические языки программирования.

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

      Логическое  программирование - это программирование в терминах логики. Машина перебирает известные (заданные в программе) данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком.

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

      1.4. Перспективы языков программирования

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

      Будущие программные языки в той или  иной степени должны учитывать разработанную  П.С.Сапатым технологию интеграции распределенных и динамических систем, основанную на языке WAVE(ВОЛНА) [6]. П.С.Сапатым разработана новая идеология, методология и технология интеграции и координации больших открытых распределенных и динамических систем, которые могут объединять компьютеры,  компьютерные сети.

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

      С учетом этого можно прогнозировать следующие перспективы языков программирования:

  1. Языки программирования будут объединять в себе различные ориентации (системную и прикладную, символьные и вычислительные, процедурные и декларативные и т.д.).
  2. Языки будут иметь ядро и специализированные средства для адаптации и саморазвития, позволяющие объединять различные специализированные и проблемно-ориентированные подсистемы языка, а также создавать персонифицированные версии.
  3. Будущие языки программирования будут содержать механизмы обеспечения высокого уровня отказоустойчивости, гарантоспособности и прозрачности создаваемых программных продуктов.

      Известно, что будущее рождается в прошлом. В связи с этим многие элементы будущих языков программирования имеются  в ныне существующих языках.

 

      

      ЗАКЛЮЧЕНИЕ

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

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

      Анализ  обработанных источников позволил создать  Веб-сайт, состоящий из 4 страниц, включающий «Роль и характеристики программирования», «Поколения языков программирования», «Классификация языков программирования», «Перспективы языков программирования».

      Материал  курсовой работы может быть применен в школе на уроке информатике. 
 
 
 
 
 
 
 
 
 
 
 

 

      СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Алексеев, Е.Г., Информатика: учебник [Электронный ресурс]/ Е.Г.Алексеев, С.Д. Богатырев. – Саранск: Морд. гос. ун-т, 2009. – Режим доступа: http://inf.e-alekseev.ru/text/Languages.html. – Дата доступа: 20.02.2011.
  2. Голицына, О.Л. Языки программирования / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. – Москва: Форум: Инфра-М, 2008. –368 с.
  3. Кауфман, В.Ш. Языки программирования. Концепции и принципы/ В.Ш.Кауфман. – Москва: ДМК Пресс, 2010.–464 с.
  4. Пратт ,Т. Язык программирования: разработка и реализация. 4-е изд. / Т.Пратт, М.Зелковиц;  под ред. А.Матросова. – Санкт-Петербург: Питер, 2002.–688 с.
  5. Симонович, С.В. Информатика. Базовый курс. 2-е издание; под ред. С.В.Симоновича. – Москва, 2005. –640 с.
  6. Sapaty P.S. Mobil Processing in Distributed and Open Environments/ P.S. Sapaty. –New York, 1999. –436 p.

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