Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Классификация языков программирования высокого уровня(Общие понятия языков программирования)

Содержание:

Введение

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

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

Любой язык программирования выполняет сразу две цели[6]:

  1. Служит программисту аппаратом, позволяющий задавать действия, которые нужно выполнить.
  2. Формирует определенные концепции для использования программистом, определяя последующие действия.

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

Язык программирования предоставляет программисту набор всевозможных инструментов. Те инструменты, которые не отвечают требованиям задачи, будут проигнорированы.

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

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

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

Задачи:

  1. Дать основные понятия, что представляют собой языки программирования.
  2. Классифицировать языки программирования по типам.
  3. Дать сравнительный анализ языков программирования.

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

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

1.1. Общие понятия языков программирования

Язык программирования [7]– формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера). Язык программирования [13] определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими при различных обстоятельствах.

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

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

Разработчики языков программирования по разному смотрят на данное понятие. Большинство разработчиков сходятся на следующих понятиях [9]:

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

Задача:язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время как естественные языки используются лишь для общения людей между собой. В принципе, можно обобщить определение «языков программирования»– это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

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

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

Работа компьютера основана в том, что она выполняет программы, которые представляют собой набор определенных команд в определенном порядке.

Команда, выполняемая машиной [17],состоит из 0 и 1. А это, в свою очередь, дает указание центральному процессору выполнить определенную задачу. Соответственно, для того, чтобы компьютер понял, какую последовательность действий необходимо сделать, необходимо указать ту последовательность действий, состоящих из двоичного кода, которые соответствуют определенным командам.

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

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

Всё множество языков программирования можно разделить на две группы:языки низкого уровняиязыки высокого уровня [15].

К языкам низкого уровня относятся ассемблер [11],в котором используются символьные обозначения команд. Они вполне понятны и быстро запоминаются. Последовательность двоичных кодов записывается символьным обозначением, двоичные адреса данных представлены символьными именами данных, которые выбираются программистом. Иногда язык ассемблера называют мнемокодом или автокодом.

Однако подавляющее число программистов в своей работе используют языки высокого уровня [10]. Любой представитель данного вида имеет свой алфавит, который представлен множествами символов, из которых состоит язык. Данные символы выстраиваются в слова, которые называются ключевыми для данного языка. Каждое ключевое слово несет свою смысловую нагрузку, так же, как и в естественном языке – за каждым словом стоит свое понятие и смысл. Связка из ключевых слов представляет собой предложение, которое составляется по определенным правилам данного языка. Предложения говорят о том, какую последовательность команд необходимо выполнить машине.

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

Перед тем как писать программу на языке высокого уровня, программист должен составитьалгоритмрешения задачи [8], то есть пошаговый план действий, который нужно выполнить для решения этой задачи. Поэтому языки, требующие предварительного составления алгоритма, часто называют алгоритмическими языками.

1.3. Что такое компилятор и интерпретатор

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

Транслятор [5]– это программа, предназначенная для перевода программы, написанной на одном языке программирования, в программу на другом языке программирования. Процесс перевода называетсятрансляцией.

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

Примером транслятора является компилятор.

Компилятор [5]– это программа, предназначенная для перевода программы, написанной на каком-либо языке, в программу в машинных кодах. Процесс такого перевода называетсякомпиляцией.

Компилятор создаёт законченный результат – программу в машинных кодах. Затем эта программа выполняется. Откомпилированный вариант исходной программы можно сохранить на диске. Для повторного выполнения исходной программы компилятор уже не нужен. Достаточно загрузить с диска в память компьютера откомпилированный в предыдущий раз вариант и выполнить его.

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

Интерпретатор [5]– это программа, предназначенная для построчных трансляции и выполнения исходной программы. Такой процесс называетсяинтерпретацией.

В процесс трансляции [3] входит проверка исходной программы на соответствие правилам используемого в ней языка. Если в программе обнаружены ошибки, транслятор вводит сообщение о них на устройство вывода (обычно, на экран дисплея).

Интерпретатор сообщает [6] о найденных им ошибках после трансляции каждой строки программы. Это значительно облегчает процесс поиска и исправления ошибок в программе, однако существенно увеличивает время трансляции. Компилятор транслирует программу намного быстрее, чем интерпретатор, но сообщает о найденных им ошибках после завершения компиляции всей программы. Найти и исправить ошибки в этом случае труднее. Поэтому интерпретаторы рассчитаны, в основном, на языки, предназначенные для обучения программированию, и используются начинающими программистами. Большинство современных языков предназначены для разработки сложных пакетов программ и рассчитаны на компиляцию.

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

Как правило, программы-компиляторы и интерпретаторы [6] называются так же, как и языки, для перевода с которых они предназначены. Слова Паскаль, Ада, Си могут относиться как к названиям языков, так и к названиям соответствующих программ.

Итак, в этой главе мы определили, что такое язык программирования, выяснив, что это формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера).

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

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

Транслятор – это программа, предназначенная для перевода программы, написанной на одном языке программирования, в программу на другом языке программирования. Процесс перевода называется трансляцией.

Компилятор создаёт законченный результат – программу в машинных кодах. Затем эта программа выполняется.

Интерпретатор – это программа, предназначенная для построчных трансляции и выполнения исходной программы. Такой процесс называетсяинтерпретацией.

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

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

Классификация языков программирования [8] по категориям связана с методами, которые используются при написании программ (Рис.1).

Классификация языков программирования. Автор24 — <a href=

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

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

2.1. Процедурные языки

Процедурные языки [11] являются языками высокого уровня, в которых используется метод разбиения программ на отдельные связанные между собой модули – подпрограммы (процедуры и функции). Компоненты языка состоят из последовательности операторов, которые используют библиотечные процедуры и функции. Первым процедурным языком был Fortran, затем появился Cobol, Algol, Pascal, C, Ada.

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

Фортран, Алгол предназначены для использования в научных целях.

КОБОЛ – для использования в мире бизнеса.

ВАSIС в равной степени годится для любых задач и в то же время достаточно прост для изучения.

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

Замечание 1 [7]. Программирование на первых компьютерах происходило с помощью двоичных машинных кодов. Такое программирование довольно трудоемкое и тяжелое. Для упрощения процесса программирования разрабатывались языки программирования низкого уровня, которые позволяли задавать машинные команды в понятном для человека виде. Чтобы преобразовать их в двоичный код создавались специальные программы – трансляторы.

К языкам низкого уровня относятся [9]:

  • программирование в машинных кодах;
  • ассемблер;
  • макроассемблер.

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

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

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

Недостаток некоторых языков [10] высокого уровня состоит в большом размере программ по сравнению с программами на языках низкого уровня. В то же время текст программ на языке высокого уровня гораздо меньше, но в байтах код, написанный на ассемблере, будет более компактным. Поэтому языки высокого уровня преимущественно используют для создания программного обеспечения для компьютеров и вычислительных устройств с большим объемом памяти. Языки же низкого уровня используются для написания программ к устройствам, для которых критичным является размер программы.

Языки высокого уровня делятся на универсальные и проблемно-ориентированные. Наиболее распространенные универсальные языки C#, C++, Basic, Pascal (Delphi) используются для разработки Windows-приложений. Большой вклад в программирование на начальных этапах внесли языки Fortran, Cobol, Algol, C и др. Языки программирования для разработки Интернет-приложений скорее относятся к универсальным языкам. К ним относятся современные версии C#, Basic, J#.

Замечание 2 [7]. Проблемно-ориентированными языками, которые используются на Интернет-серверах и клиентских Интернет-приложениях, являются PHP, Perl, JavaScript, VBScript.

2.4. Объектно-ориентированные языки

Объектно-ориентированные [16] языки стали дальнейшим уровнем развития процедурных языков, основной концепцией которых есть совокупность программных объектов. Написание программы на языке представляется в виде последовательности создания экземпляров объектов и использование их методов. К ним относятся из первых языков Simula и SmallTalk, далее C++, Java.

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

В декларативном программировании [17] задается спецификация решения задачи, то есть дается описание того, что представляет собой проблема и какой ожидается результат. Программы, созданные с помощью декларативного языка, не содержат переменные и операторы присваивания. К декларативным языкам можно отнести SQL и HTML. К подвидам декларативного программирования относится функциональное и логическое программирование.

2.6. Функциональные языки программирования

Функциональные языки [16] являются языками искусственного интеллекта. Программа, написанная на функциональном языке, состоит из последовательности функций и выражений, которые необходимо вычислить. Основной структурой данных является связный список. Функциональное программирование принципиально отличается от процедурного. Основными функциональными языками являются Lisp, Miranda, Haskel.

2.7. Логические языки программирования

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

Алгоритм получения результата программист не строит.

В декларативных языках отсутствует понятие «оператор» («команда»).

Представителем логического программирования являютсяLisp иProlog, которым написано большинство экспертных систем.

Лисп –для обработки больших объемов текстовой информации.

Пролог (логическое программирование) – язык искусственного интеллекта.

2.8. Языки сценариев (скрипты)

Языки относятся к объектно-ориентированным языкам [17], используются для написания программ, которые исполняются в определенной программной среде. Появление и активное развитие компьютерных сетей стало причиной создания многочисленных версий популярных языков программирования, адаптированных для использования в сети. Отличительные особенности, присущие сетевым языкам: они являются интерпретируемыми. Такие языки получили название скрипт -языков.

Тексты программ, написанные на языке сценариев, можно включать в тело Html-документа. Первыми скриптами были Perl и Python, которые изначально были разработаны для операционной системы Unix, а уже в дальнейшем появились версии языков для операционных систем Windows и Macintosh. Для написания программ на языке сценариев необходимо знание процедур и функций системных библиотек.

НТМL(НуреrТехtТгаnsferРгоtoсоl) – универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet.

Реrl – предназначался для эффективной обработки больших текстовых файлов.

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

2.9. Языки, ориентированные на данные

Языки ориентированы [17] на работу с одним определенным типом данных. Для обработки больших массивов информации и выборки записей по определенным признакам.

При работе с базами данных (БД) наиболее часто выполняются следующие операции: создание, преобразование, удаление таблиц в БД; поиск, отбор, сортировка по запросам пользователя; добавление новых записей или модификация существующих; удаление записей и др.

Например, APL работает с матрицами и векторами, Snobol обрабатывает строки, SETL выполняет операции над множествами. Особое развитие получили языки для работы с базами данных: 3GL, PL/SQL, FoxPro.

SQL (StructuredQueryLanguage) - структурированный язык запросов.

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

Глава 3.Обзор самых популярных языков программирования

3.1. С++

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

Основным его плюсом [1] является полная универсальность – на С++ можно писать всё. Именно благодаря этому его так часто используют профессионалы. Также можно отметить сравнительную простоту компилятора – если вы уже овладели С, Python илиJava, то работать с С++ для вас не составит труда.

Однако критиков у языка также достаточно [2]. Основные их аргументы – это неудобный синтаксис и то, что иногда результатом работы с С++ является слишком длинный программный код, что влечёт за собой некоторые неудобства в дальнейшей работе с программой.

Правда, вторая проблема была частично решена в 1998 году [25], когда были введены дополнительные шаблоны компилятора. В целом, что бы ни говорили критики, а С++ вот уже почти 30 лет остаётся одним из наиболее популярных языков программирования в мире.

3.2.Python

Питон [15] – достаточно популярный в наше время язык, суть которого сводится к тому, чтобы как можно проще было создавать сложные программы. Созданный на основе более ранних языков, он впитал в себя все их наработки и является более совершенным. К тому же он постоянно обновляется, последняя версия была выпущена в начале 2012 года.

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

3.3.VisualBasic

Этот продукт от Майкрософт знают все программисты, ведь большинство именно на нём познавало азы работы с компиляторами [6]. Он прост, многофункционален и идеально подходит для быстрого создания прототипов программ.

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

Недостатки у компилятор также есть. К ним относятся отсутствие указателей, низкоуровневый доступ к памяти компьютера. Также программа отличается невысокой скоростью работы и возможностью использования только на Windows и Mac OS X.

3.4. PHP

Это язык программирования [9], который чаще всего применяют специалисты для создания веб-страниц. В настоящее время его принимают и поддерживают большинство хостинг-провайдеров. Благодаря возможности применения на любой ОС, скорости выполнения, функциональности и простоте его используют практически все разработчики сайтов.

Также с помощью PHP можно создавать графический интерфейс пользователя. Создатели языка заложили в него несколько пасхальных яиц. Например, если ввести в строкулюбой_сценарий.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42то на экране появится фотография (то, что на ней изображено, зависит от версии).

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

3.5.Delphi

Delphi – многофункциональный язык [7], созданный на основе ObjectPascal. Данный язык является ещё одним из самых популярных языков из-за наличия огромного количества компиляторов и диалектов. Каждый программист использует именно тот диалект, который подходит для его основного направления в работе.

В целомDelphi – императивный, объектно-ориентированный язык. Чаще всего на этом языке создаются разнообразные программы. Так, именно с помощью Delphi создали LightAlloy, AIMP, TheKMPlayer, TotalCommander, QIP, графический интерфейс Skype и многое другое. Именно наличие множества диалектов является одновременно и достоинством, и недостатком языка, так как программу, написанную на одном из них, другой компилятор, скорее всего, не откроет.

3.6.Java

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

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

3.7JavaScript

JavaScript [15] – необходимый атрибут большинства современных браузеров. Чаще всего цель этого языка – придать веб-страницам больше интерактивности. На его создание повлияли множество более ранних языков программирования, на основе которых он соединил многофункциональность и простоту. По крайней мере для опытных программистов.

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

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

3.8.Ruby

Это кроссплатформенный и невероятно многофункциональный язык [8], полностью предназначенный для объектно-ориентированных программ. Синтаксис языка простой и лаконичный, без множества ненужных кодов. Также язык содержит в себе сборщик ненужного мусора, поддерживает блоки команд и замыкания с полной привязкой к переменным.

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

Кроме того, этот язык один из самых экономных по отношению к ресурсам компьютера, за что его так любят обычные программисты. Самая последняя из них – 1.9.3-p194, релиз которой состоялся 20 апреля 2012 года. На официальном сайте можно найти более подробно ознакомиться с достоинствами и недостатками этого языкаwww.ruby-lang.org.

3.9.ActionScript

Этот язык также менее популярен среди обывателей из-за того, что с его помощью можно писать в основном объектно-ориентированные программы, даже чаще всего не программы, а Flash-приложения [5]. Синтаксис и функциональность компилятора стандартны для подобного рода языков и заключаются в работе, запрограммированной лишь на указанный вид приложений.

Плюсом этого языка является его многофункциональность по отношению к Flash. Как ни странно, но это же одновременно и его минус, так на нём больше нельзя написать практически ничего. Узнать больше о этом компиляторе можно на сайте actionscript.org

3.10.Nemerle

Это высокоуровневый гибридный язык, который сочетает в себе возможности как функционального [9], так и объектно-ориентированного программирования. Созданный всего несколько лет назад, он впитал в себя соответствующие наработки всех предыдущих поколений языков программирования, и, одновременно с этим, привнёс в создание программ кое-что новое – возможность метапрограммирования.

Суть этого метода в создании программ, которые во время своей работы генерируют другие программы. То есть, можно сказать, что он сам создаёт языки программирования? И да, и нет. Он создаёт возможные сценарии для дальнейшего генерирования исполняемых файлов. В целомNemerle просто-напросто объединил в себе все самые лучшие и необходимые функции более ранних языков. В общем, вышло так, что наиболее новый язык имеет меньше всего недостатков.

Итак, подведем итог:

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

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

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

Заключение

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

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

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

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

В данной работе мы ставили следующие задачи:

  1. Дать основные понятия, что представляют собой языки программирования.
  2. Классифицировать языки программирования по типам.
  3. Дать сравнительный анализ языков программирования.

Исходя из поставленных задач в первой главе были рассмотрены основные понятия, а именно:

Язык программирования – формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера).

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

Транслятор – это программа, предназначенная для перевода программы, написанной на одном языке программирования, в программу на другом языке программирования. Процесс перевода называется трансляцией.

Компилятор создаёт законченный результат – программу в машинных кодах. Затем эта программа выполняется.

Интерпретатор – это программа, предназначенная для построчных трансляции и выполнения исходной программы. Такой процесс называетсяинтерпретацией.

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

Классификация языков программирования. Автор24 — <a href=

В третьей главе мы рассмотрели основные языки программирования, рассматривая их преимущества и недостатки: C++, Python, VisualBasic, PHP, Delphi, Java, JavaScript, Ruby, ActionScript, Nemerle.

Как мы видим, задачи курсовой работы раскрыты, цель достигнута.

Библиография

  1. Александреску, А. Современное проектирование на C++. Обобщённое программирование и прикладные шаблоны проектирования / А. Александреску. – М.: Символ, 2016. – 344 c.
  2. Ашарина, И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. – М.: Гор. линия-Телеком, 2012. – 208 c.
  3. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. – М.: ИЦ Академия, 2012. – 368 c.
  4. Белоусова, С.Н. Основные принципы и концепции программирования на языке VBA в Excel: Учебное пособие / С.Н. Белоусова, И.А. Бессонова. – М.: БИНОМ. ЛЗ, 2010. – 200 c.
  5. Березин Б.И, Березин С.Б. Начальный курс программирования. – М., 1996 г.
  6. Бьянкуцци, Ф. Пионеры программирования: Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден; Пер. с англ. С. Маккавеев. – СПб.: Символ-Плюс, 2011. – 608 c.
  7. Ваграменко Я.А. и др. Основы информатики и вычислительной техники с применением к лингвистике: Учеб. пособие. – М.: МОПИ, 1989г.
  8. Гавриков, М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. – М.: КноРус, 2010. – 184 c.
  9. Гергель, В.П. Современные языки и технологии параллельного программирования: Учебник / В.П. Гергель. – М.: МГУ, 2012. – 408 c.
  10. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. – М.: Форум, НИЦ ИНФРА-М, 2013. – 400 c.
  11. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. – М.: ИЦ Академия, 2012. – 304 c.
  12. Дейтел Х.М. Как программировать на С. – М.: «Бином», 2000 г.
  13. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. – М.: ДМК, 2016. – 134 c.
  14. Дорогов, В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова; Под общ. ред. проф. Л.Г. Гагарина. – М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. – 224 c.
  15. Зарецкая И.Т., Колодяжный Б.Г., Гуржий А.Н., Соколов А.Ю. Информатика 10-11 класс. – К.: «Форум», 2001 г.
  16. Касторнова, В.А. Структуры данных и алгоритмы их обработки на языке программирования Паскаль: Учебное пособие / В.А. Касторнова. – СПб.: BHV, 2016. – 304 c.
  17. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. – М.: ДМК, 2011. – 464 c.
  18. Керниган, Б. Язык программирования C. 2-е изд. / Б. Керниган, Д.М. Ритчи. – М.: Вильямс, 2016. – 288 c.
  19. Керниган, Б.У. Язык программирования С / Б.У. Керниган, Д.М. Ритчи; Пер. с англ. В.Л. Бродовой. – М.: Вильямс, 2013. – 304 c.
  20. Маслов, В.В. Основы программирования на языке Perl / В.В. Маслов. – М.: Радио и связь, 2000. – 144 c.
  21. Монахов, В.В. Язык программирования Java и среда NetBeans. 3-е изд., пер. и доп. + DVD / В.В. Монахов. – СПб.: BHV, 2012. – 704 c.
  22. Новичков, В.С. Начала программирования на языке QBASIC. Учебное пособие / В.С. Новичков, А.Н. Пылькин. – М.: ГЛТ, 2007. – 268 c.
  23. Страуструп, Б. Язык программирования C++: Специальное издание / Б. Страуструп; Пер. с англ. Н.Н. Мартынов. – М.: БИНОМ, 2012. – 1136 c.
  24. Троелсен, Э. Язык программирования С# 5.0 и платформа .NET 4.5 / Э. Троелсен; Пер. с англ. Ю.Н. Артеменко. – М.: Вильямс, 2013. – 1312 c.
  25. Фридман, А.Л. Основы объектно-ориентированного программирования на языке Си++ / А.Л. Фридман. – М.: Гор. линия-Телеком, 2012. – 234 c.
  26. Хейлсберг, А. Язык программирования C#. Классика ComputersScience / А. Хейлсберг, М. Торгерсен, С. Вилтамут. – СПб.: Питер, 2012. – 784 c.
  27. Цуканова, Н.И. Теория и практика логического программирования на языке VisualProlog 7. Учебное пособие для вузов. / Н.И. Цуканова, Т.А. Дмитриева. – М.: РиС, 2013. – 232 c.
  28. Шохирев, М.В. Язык программирования Perl 5: Учебное пособие / М.В. Шохирев. – М.: БИНОМ. ЛЗ, ИНТУИТ.РУ, 2013. – 279 c.