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

Автор: Пользователь скрыл имя, 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 Кб (Скачать)
 

      ОГЛАВЛЕНИЕ 

       

 

      

ВВЕДЕНИЕ

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

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

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

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

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

      Целью курсовой работы является изучение общих характеристик языков программирования.

      Задачи курсовой работы:

      1. Проанализировать особенности языков программирования.

      2. Рассмотреть историю языков программирования по поколениям.

      3. Создать Web-сайт «Языки программирования».

      Различные аспекты языков программирования рассматриваются в работах Т. Пратта «Языки программирования: разработка и реализация», в которой рассматриваются общие концепции разработки и реализации языков программирования, О.Л.Голицына «Языки программирования», в ней рассмотрены эволюция и классификация языков, дается их конкретное описание.

      При разработке сайта использовалисьHTML (от англ. HyperText Markup Language — «язык разметки гипертекста») и Microsoft Office FrontPage 2003.

      Материал  адаптирован для применения в  школьном курсе информатики.

      1. ОБЩИЕ ХАРАКТЕРИСТИКИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

      1.1. Роль и характеристики языков программирования

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

      Как и естественные языки, языки программирования развиваются и в конце концов выходят из употребления, умирают. Например, язык ALGOL, затем Pascal, затем  C, C++, Java.

      На  принципы конструирования новых  языков влияют следующие факторы:

      1. Возможности компьютеров.

      2. Области применения

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

      4. Методы реализации. Усовершенствование  методов реализации отражается  в выборе тех новых свойств  , которые добавляются во вновь  разрабатываемые языки.

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

      6. Стандартизация. Необходимость в стандартных языках, которые могут легко реализованы в различных компьютерных системах (что позволяет переносить программы с одного компьютера на другой), сильно влияет на развитие – эволюцию принципов разработки языков программирования.

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

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

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

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

  • Экономия предполагает достижения максимальной мощности языка с помощью минимального числа понятий.
  • Ортогональность означает то, что между понятиями не должно быть взаимного влияния. Так, если одно понятие используется в различных контекстах, то правила использования должны быть одни и те же. К сожалению, даже такие языки, как Pascal, допускают неортогональные конструкции. Например, пользователь может определить процедуры только с фиксированным числом параметров, однако некоторые стандартные процедуры (например, writeln()) могут быть вызваны с переменным числом параметров.
  • Единообразие требует согласованного, единого подхода к описанию и использованию всех понятий.

      Существует  большое количество других характеристик.

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

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

      1.2. Поколения языков программирования

      Языки программирования принято делить на пять поколений. Первые три поколения языков программирования характеризовались более сложным набором зарезервированных слов и синтаксисом. Языки четвертого поколения все еще требуют соблюдения определенного синтаксиса при написании программ, но он значительно легче для освоения. Естественные языки программирования, разрабатываемые в настоящее время, составят пятое поколение и позволят определять необходимые процедуры обработки информации, используя предложения языка, весьма близкого к естественному и не требующего соблюдения особого синтаксиса (таблица 2.1)

      Таблица 2.1.- Поколения языков программирования                           

      
Поколения Языки программирования Характеристика
Первое Машинные Ориентированы на использование в конкретной ЭВМ, сложны в освоении, требуют хорошего знания архитектуры ЭВМ
Второе Ассемблеры, макроассемблеры Более удобны для  использования, но по-прежнему машинно-зависимы
Третье Языки высокого уровня Мобильные, человеко-ориенти-рованные, проще в освоении
Четвёртое Непроцедурные, объектно-

ориентированные, языки запросов, параллельные

Ориентированы на непрофес-сионального пользователя и на ЭВМ с параллельной архи-тектурой
Пятое Языки искусственного интеллекта, экспертных систем и баз  знаний, естественные языки Ориентированы на повышение интеллектуального уровня ЭВМ и интерфейса с языками
       

      В первое поколение входят языки, созданные  в начале 50-х годов, когда первые компьютеры только появились на свет. В то время программы писались в машинных кодах, то есть каждая компьютерная команда вместе с ее операндами вводилась в ЭВМ в двоичном виде. Это требовало огромных усилий по вводу цифровых текстов и приводило к множеству трудноуловимых ошибок. Конечно, ни о каких  больших проектах речи идти не могло. Ситуация качественно изменилась в середине 50-х годов, когда был написан первый ассемблер. Это само по себе можно считать подвигом, учитывая довольно сложную логику программы. Хотя этот ассемблер был в сегодняшнем понимании неполноценным, он позволял задавать названия команд в символическом виде и указывать числа не только в двоичном, но и в десятичном или шестнадцатеричном формате, что существенно облегчило работу программистов. Это был первый язык ассемблера, созданный по принципу « одна инструкция – одна строка».

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

      Расцвет второго поколения языков программирования пришелся на конец 50-х – начало 60-х годов. Тогда был разработан символический ассемблер, в котором появилось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ. Ассемблеры активно применяются и в настоящее время, как правило, для создания программ, максимально использующих возможности аппаратуры: различных драйверов, модулей стыковки с нестандартным оборудованием и других. В некоторых областях, например, в машинной графике, на ассемблере пишут библиотеки, эффективно реализующие стандартные алгоритмы обработки изображений. Кроме того, среди программистов просто есть немало людей, предпочитающих использовать ассемблер в своей работе. Как правило, это специалисты, хорошо разбирающиеся в электронике и схемотехнике.

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

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

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