Виды и Языки Программирования

Автор работы: Пользователь скрыл имя, 30 Ноября 2013 в 12:22, курсовая работа

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

Программирование – что это такое, и зачем оно нужно? Зачем создаются непонятные громоздкие программы, на которых, с первого взгляда, неудобно работать? Кому нужны все эти языки программирования, и какие они бывают? Скорее всего, каждый из вас задавался когда-нибудь хоть одним из этих вопросов. Программирование – неотъемлемая часть в разработке новых программ и усовершенствовании старых для работы на ЭВМ и компьютерах. Именно для этого и существуют различные виды программирования и языки. У всех есть свои особенности; одни уже потеряли актуальность, а другие еще только находятся в головах разработчиков; в третьих невозможно разобраться без помощи специалиста, а четвертые понятны с первого взгляда.

Содержание работы

Введение. 3
1.История развития программирования. 4
2.Понятие программирования и его виды. 7
2.1 Процедурное программирование. 8
2.2 Автоматное программирование. 9
2.3 Аспектно-ориентированное программирование. 11
2.4 Объектно-ориентированное программирование. 13
2.5 Компонентно-ориентированное программирование. 16
2.6 Логическое программирование. 17
2.7 Структурное программирование. 18
3. Языки программирования. 21
3.1 Определение языка программирования. 21
3.2 Используемые символы. 23
3.3 Языки программирования низкого уровня. 24
3.4 Языки программирования высокого уровня. 25
3.4.1 Pascal. 27
3.5 Язык программирования сверхвысокого уровня. 34
3.6 Сравнительный анализ языков программирования. 35
Заключение. 37
Литература. 38

Файлы: 1 файл

курсовая.docx

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

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

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

Вслед за заголовком процедур/функций  вместо тела может помещаться ключевое слово forward, это делается в том  случае, если описание процедуры/функции  располагается в программе после  её вызова, и связано с поддерживаемой в Паскале возможностью компиляции программы за один проход.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.5 Язык программирования  сверхвысокого уровня.

Сверхвысокоуровневый  язык программирования (язык программирования сверхвысокого уровня, VHLL — very high-level programming language) — язык программирования с очень высоким уровнем абстракции. В отличие от языков программирования высокого уровня, где описывается принцип «как нужно сделать», в сверхвысокоуровневых языках программирования описывается лишь принцип «что нужно сделать». Термин впервые появился в середине 1990-х годов для идентификации группы языков, используемых для быстрого прототипирования, написания одноразовых скриптов и подобных задач.

Так разработчики Icon (и его  диалекта Unicon) описывают его как VHLL. К языкам сверхвысокого уровня также часто относят такие  современные скриптовые и декларативные (в частности функциональные) языки  как Python, Ruby и Haskell, а также Perl и предшествовавший ему мини-язык AWK.

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

 

3.6 Сравнительный анализ  языков программирования.

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

Pascal (императивный, структурированный)

Достоинства: очень простой язык со строгим синтаксисом – прост для начинающих – на нем просто писать программы и отлаживать их.

Недостатки: отсутствие стандартных библиотек (в сравнении с библиотеками C++ и Java).

C++ (поддерживает много парадигм(multi-paradigm) : объектно-ориентированное, обобщённое, процедурное, метапрограммирование)

Достоинства: STL (стандартная библиотека шаблонов) – много стандартных типов данных и алгоритмов. Большая “свобода” – можно реализовать одни и те же вещи по-разному. Хорошая производительность скомпилированного кода. Хорошая поддержка C++ сегодня.

Недостатки: Отсутствие BigInteger и BigDecimal (они есть в библиотеках Java и C#). Возможны различные ошибки, вызванные непониманием между компилятором и программистом. Вы можете найти много тем об этом, но это не проблема языка. Но из-за очень большой свободы может быть сложнее писать и отлаживать программы на C++.

Java (объектно-ориентированный, структурный, императивный)

Достоинства: более строгий синтаксис, чем в C++ – более простое чтение кода – быстрая и простая отладка. Подсказки об ошибках и неиспользуемом коде. Очень много библиотек различного типа. Сборщик мусора. Новые возможности в последних версиях явы(пр.: вариации цикла for).

Недостатки: Медленная работа программ (в 3-4 раза медленнее чем C/C++), длинный (постоянно длинный) код, но набор кода быстрый, потому что присутствует автодополнение.

C# (поддерживает много парадигм(multi-paradigm) : объектно-ориентированное, обобщённое, процедурное программирование)

Достоинства: Быстрее чем Java. Стандартные библиотеки C#: в последней версии .NET присутствуют, как и в Java, классы для работы с длинной арифметикой, но теперь вы можете использовать их как переменные базовых типов: c=a+b, и т.п.

Недостаки: Последняя версия .NET все еще не доступна на большинстве соревнований по программированию.

Python (объектно-ориентированный, императивный, функциональный, аспектно-ориентированный)

Достоинства: Python - язык широкого назначения, на нем пишут практически любые типы программ, за исключением программ реального времени. Не случайно, питон - это официальный язык  №3 в Google.

Python отлично подходит  для решения не очень сложных  задач благодаря краткости записи и наличию встроенных средств:

  • встроенная длинная арифметика (как целочисленная, так и дробная);
  • встроенные list (aka vector<>), set, dict, tuple (aka struct);
  • библиотека для работы с регулярными выражениями re;
  • функция sorted() для любых последовательностей;
  • удобные строковые операции;
  • удобные конструкторы списков;
  • функции sum(), max(), min(), способные обрабатывать списки и т.д.

Недостатки: К недостаткам Python с точки зрения олимпиадного программирования относятся:

  • низкая скорость исполнения программ (в среднем проигрыш в 6 раз по сравнению с С++) и особенно медленный ввод-вывод (так что без специальных ухищрений 10^6 чисел даже прочитать за 1 сек. не успеешь);
  • мало удобных IDE (единственная нормальная, что я знаю, PyDev для Eclipse).

 

Заключение.

О программировании, его  языках можно рассказывать бесконечно.

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

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

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

 

Литература.

  • http://www.molodinfo.n-vartovsk.ru/insite/history/;
  • Дейкстра Э. Дисциплина программирования — 1-е изд. — М.: Мир, 1978.— ISBN;
  • Антони Синтес Освой самостоятельно объектно-ориентированное программирование за 21 день = Sams Teach Yourself Object-Oriented Programming in 21 Days. — М.: «Вильямс», 2002.— ISBN 0-672-32109-2;
  • Н. А. Роганова Функциональное программирование: Учебное пособие для студентов высших учебных заведений — М.: ГИНФО, 2002.;
  • Еженедельник "Computerworld", №29, 2000 год // Издательство "Открытые Системы";
  • http://ru.wikipedia.org.
  • Журнал «Мир ПК», №3, 2001 год.

 


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