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

Классификация языков программирования. Критерии выбора среды и языка разработки программ (Языки Символического Кодирования)

Содержание:

Введение

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

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

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

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

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

Цели курсовой работы:

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

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

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

Язык программирования – искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования реализуется в виде специальной программы: компилятора или интерпретатора.[1]

Разница между интерпретатором и компилятором аналогична разнице между переводчиком устной и письменной речи. Переводчик письменной речи сначала переводит весь текст на другой язык, и потом исходный текст нам уже не нужен, то есть мы пользуемся только переводом. Соответственно компилятор полностью переводит весь исходный текст программы на язык машинных команд, и затем полученный модуль используется без участия компилятора. Интерпретатор переводит на язык машинных команд отдельный оператор и этот оператор сразу выполняется. Затем переводится следующий оператор – выполняется и т.д. То есть сколько раз программа выполняется, столько же раз оно интерпретируется. Очевидно, что при этом и исходный текст программы. и интерпретатор должны находиться в оперативной памяти.[2]

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

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

Например, языки программирования можно разделять на поколения:

– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.

– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.

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

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

– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), С++, Visual Basic, Delphi.[3]

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

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

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

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

Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам – языком низкого уровня.[5]

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

К языкам низкого уровня относятся языки ассемблера (от англ. To assemble – собирать, компоновать). В языке ассемблера используются символьные обозначения команд, которые легко понятны и быстро запоминаются. Вместо последовательности двоичных кодов команд записываются их символьные обозначения, а вместо двоичных адресов данных, используемых при выполнении команды, - символьные имена этих данных, выбранные программистом. Иногда язык ассемблера называются мнемокодом или автокодом. [6]

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

Все языки низкого уровня ориентированы на определенный тип компьютера, т.е. являются машинно-зависимыми. Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). [8]

Машинно-ориентированные языки позволяют использовать все возможности и особенности Машинно-зависимых языков:

  • высокое качество создаваемых программ (компактность и скорость выполнения);
  • возможность использования конкретных аппаратных ресурсов;
  • предсказуемость объектного кода и заказов памяти;
  • для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
  • трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;
  • низкая скорость программирования;
  • невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.

Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы:

  • Машинный язык

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

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

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

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

  • Языки Символического Кодирования

Языки Символического Кодирования, так же, как и Машинный язык, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных (во внутреннем коде) или восьмеричных (часто используемых при написании программ) цифр, в Языке символического кодирования заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ.

Использование символических адресов - первый шаг к созданию Языка символического кодирования. Команды ЭВМ вместо истинных (физических) адресов содержат символические адреса. По результатам составленной программы определяется требуемое количество ячеек для хранения исходных промежуточных и результирующих значений. Назначение адресов, выполняемое отдельно от составления программы в символических адресах, может проводиться менее квалифицированным программистом или специальной программой, что в значительной степени облегчает труд программиста.

  • Автокоды

Есть также языки, включающие в себя все возможности Языка символического кодирования, посредством расширенного введения макрокоманд - они называются Автокоды.[11]

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

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

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

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

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

Языки высокого уровня машинно-независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.[14]

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

Синтаксис — совокупность правил образования языковых конст­рукций, или предложений ЯП — блоков, процедур, составных операто­ров, условных операторов, операторов цикла и пр. Особенностью син­таксиса является принцип вложенности (рекурсивность) правил построения конструкций. Это значит, что элемент синтаксиса языка в своем определении прямо или косвенно в одной из его частей содержит сам себя. Например, в определении оператора цикла телом цикла явля­ется оператор, частным случаем которого является все тот же опера­тор цикла. [16]

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

  • Императивные (процедурные)
  • Функциональные
  • Логические
  • Объекто-ориентированные[17]

Императивные (процедурные) языки программирования манипулируют данными в пошаговом режиме, используя последовательные инструкции и применяя их к разнообразным данным. Считается, что первым алгоритмическим языком программирования был язык Plankalkuel (от plan calculus), разработанный в 1945-1946 годах Конрадом Цузе.

Наиболее известные и распространенные императивные языки программирования, большинство из которых было соpдано в конце 50-х – середине 70-х годов XX века, представлены на рис. 1. Обратим внимание на пустое место на рисунке, соответствующее 80-м и 90-м годам прошлого века. Это период увлечения новыми парадигмами, и императивных языков в это время практически не появлялось.

Рисунок 1

Создание процедурных языков программирования

Источник: «программирование и основы алгоритмизации» В.К. Золотников, П.Р. Машевич, В.И. Анциферова, Н.Н. Литвинов, Уч.издание, Воронеж, 2011, с. 19

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

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

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

Объектно-ориентированные языки объединяют и расширяют возможности, присущие процедурным и аппликативным языкам. Они основаны на построении объектов как набора данных и операций над ними. К таким языкам относятся С++, Java. [19]

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

Рисунок 2

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

Источник: Основы алгоритмизации и программирования : учебное пособие / Г. Р. Кадырова. – Ульяновск : УлГТУ, 2014. – 95 с.

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

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

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

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

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

  • Целевая платформа разработки.
  • Гибкость языка программирования.
  • Время, отведенное на исполнение проекта.
  • Производительность.

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

LISP

LISP (от англ. LISt Processing language — «язык обработки списков»)  был предложен Дж. Маккарти в работе в 1960 году и ориентирован на разработку программ для решения задач не численного характера. Английское название этого языка – LISP является аббревиатурой выражения LISt Processing (обработка списков) и хорошо подчеркивает основную область его применения. Понятие “список” оказалось очень емким. В виде списков удобно представлять алгебраические выражения, графы, элементы конечных групп, множества, правила вывода и многие другие сложные объекты. Списки являются наиболее гибкой формой представления информации в памяти компьютеров.[20]

Lisp - это целое множество языков программирования, код программ в которых, также как и данные, представляются системами линейных списков символов. Lisp считается вторым в истории высокоуровневым языком программирования после Фортрана и применяется до сих пор. Как и Фортран, Lisp претерпевал большие изменения в течение своей жизни и имел несколько диалектов. На сегодняшний день наиболее широкую известность приобрели диалекты «Common Lisp» и «Scheme».

Система типов в Lisp'е имеет динамическую структуру. Будучи функциональным языком, Lisp в своих последних версиях обладает признаками императивности, а также, имея возможности символьной обработки, делает возможным реализовать объектно-ориентированность.[21]

LISP наравне с Prolog и C++ в настоящее время считаются основными языкам ИИ. LISP является узкоспециализированным языком, разработанным специально для ИИ. Применение LISP и Prolog позволяет сосредоточиться на логике решения задачи, в то время как C++ помогает добиться высокой скорости работы программы. Реализовать нестандартные процедуры обработки.[22]

Prolog

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

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

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

Одна из самых развитых реализаций языка Prolog – Visual Prolog. Система программирования Visual Prolog обладает всеми средствами для быстрой разработки современных приложений. Она предоставляет возможность сочетать логическое, функциональное и объектно-ориентированное программирование. [25]

Наравне с Lisp Prolog в настоящее время считается одним из основных языков искусственного интеллекта.

COBOL

В 1959 году группа производителей и потребителей ЭВМ по инициативе Грейс Хоппер стала искать независимого спонсора, для финансирования создания нового стандартного языка, специально рассчитанного на задачи обработки экономических данных. Она нашла поддержку в Министерстве обороны США.[26]

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

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

JAVA

Java — объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (James Gosling) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания апплетов, приложений и серверного программного обеспечения.

Большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, сходный с C и C++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C++. [28]

Visual Basic

Язык Basic разработан преподавателями Дартмутского колледжа Джоном Кемени и Томасом Куртцом в 1964 году как средство обучения и работы начинающих программистов. Предназначение языка определено в самом его названии «Beginner’s All-purpose Symbolic Instruction Code» (многоцелевой язык символических инструкций для начинающих). [29]

Вторую жизнь Бейсик получил с появлением в 1991 году Visual Basic от Microsoft. Этот язык напоминал оригинальный только синтаксисом, но был значительно более современным. Visual Basic и его варианты стали одним из наиболее часто используемых языков на платформе Windows.[30]

Visual Basic может создать исполняемые программы (EXE файлы), элементы управления ActiveX, библиотеки DLL, но, прежде всего, используется для разработки Windows приложений.[31]

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

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

Можно сказать, что автоматизация средствами Visual Basic необходима там. Где много рутинной, часто повторяющейся работы, где требуется быстрое получение результатов. Где особое внимание уделяется точности и достоверности результатов или требуется быстрое получение информации для принятия решений. [32]

Python

Язык Python является универсальным языком. С его помощью можно обрабатывать различные данные, работать с базами данных, создавать изображения, разрабатывать Web-сайты, приложения с графическим интерфейсом, компьютерные игры.

Python – это свободно-распространяемый, многоплатформенный (кроссплатформенный), интерпретируемый, объектно-ориентированный язык программирования высокого уровня.

Он также является свободно-распространяемым языком программирования. Это означает, что все исходные тексты интерпретатора и библиотек языка распространяется бесплатно и доступны для любого использования, включая коммерческое. [33]

Создание Python было начато Гвидо ванн Россумом в 1991 году, когда он работал над распределенной ОС Амеба. Ему требовался расширяемый язык. Который бы обеспечил поддержку системных вызовов. В качестве названия он выбрал Python в честь комедийных серий ВВС «Летающий цирк Монти-Пайтона», а вовсе не по названию змеи. [34]

Эмблема языка на официальном сайте Python

питон ™

Источник: https://www.python.org/

PHP

PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф, хотел знать, сколько человек читают его onlin-резюме, и написал для этого простенькую CGI-оболочку на языке Perl, т.е. это был набор Perl-скриптов, предназначенных исключительно для определенной цели – сбора статистики посещений.

Вскоре выяснилось, что оболочка обладает небольшой производительностью, и пришлось переписать ее заново, но уже на языке Си. Исходники были выложены на всеобщее обозрение для исправления ошибок и дополнения. Пользователь сервера, где располагался сайт с первой версией PHP, заинтересовались инструментом и скоро PHP превратился в самостоятельной проект. В начале 1995 года вышла первая известная версия продукта, называвшийся Personal Home Page Tools. [35]

Важным преимуществом языка PHP перед языками Perl и С заключается в возможности создания HTML-документов с внедренными командами PHP. Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. Можно даже сконфигурировать свой сервер таким образом, чтобы HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта.

PHP позволяет создавать качественные web-прилодения за очень короткие сроки, получая продукты, легко модифицируемые и поддерживаемые в будущем.[36]

Среда разработки программ

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

Компилятор языка программирования выступает как составная часть среды проектирования. Сама программа наряду с конструкциями, предусмотренными стандартом, как правило, использует библиотечные функции и классы, предоставляемые средой проектирования. Так, интегрированная среда разработки Visual Studio содержит библиотеку классов MFC (Microsoft Foundation Classes), значительно упрощающую процесс разработки приложений, использующих оконный интерфейс.[37]

Среда разработки включает в свое содержание: компилятор, интерпретатор, отладчик, средства автоматизации сборки, а также редактор текста.

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

Интегрированная среда разработки (IDE, Integrated development environment) - специальная программа, представляющая возможность удобной совместной работы с различными компонентами системы программирования. Термин «интегрированная» означает, что она включает в себя все необходимые инструменты для выполнения полного цикла работ над программой: написания, компиляции, построения исполняемого модуля, запуска, отладки[38].

Так, например, интегрированная среда проектирования VisualStudio.NET позволяет создавать и компилировать приложения на языках С++, С#, Visual Basic и Visual J#. Для разработки приложений на языке С++ предназначается также среда CBuilder. Наиболее удобной средой разработки программ на языке Java при этом является интегрированная среда разработки JBuilder.[39]

Рассматривая интегрированные среды разработки программ, можно также отметить Geany. Основной задачей при создании Geany было получить компактную и быструю интегрированную среду разработки (IDE) с минимальной зависимостью от других пакетов. Второй задачей Geany была независимость от любой оболочки (KDE, GNOME и т.п.) — Geany требует только наличия исполняемых библиотек GTK2. Geany поддерживает языки C, Java, PHP, HTML, Python, Perl, Pascal и другие.[40]

Среда разработки Netbeans поддерживает Java, JavaScript, PHP, HTML5, CSS и другие языки. Является кроссплатформенной, то есть работает на разных операционных системах, поддерживающих Java, то есть Windows, Linux, Mac OSX и BSD, что позволяет написать код один раз и использовать его где угодно.[41]

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

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

Любая среда позволяет производить настройку и адаптацию под те или иные требования: изменение интерфейса, режимов работы, назначения горячих клавиш, установка дополнительных средств («плагинов») и т.п. В арсенале каждого опытного программиста есть свои приемы разработки, собственные вспомогательные средства. Программисты практически никогда не используют инструментальное средство на все 100%. Создатели инструментальных средств закладывают, как правило, избыточный набор возможностей.[42]

Заключение

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

В данной курсовой работе были рассмотрены некоторые известные языки программирования, такие как: Java, Visual Basic, Puthon, а также исследованы история создания, классификация и применение в различных средах программирования.

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

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

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

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

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

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

Литература

  1. Баженова И.Ю. Введение в программирование : учебное пособие/ И.Ю. Баженова, В.А. Сухомлин – М.:Интернет-Университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. – 327 стр.
  2. Волкова Т.И. Введение в программирование. Уч. Пособие/ Т.И. Волкова - изд. «Директ-Медиа», Москва, Берлин, 2018, 138 стр.
  3. Гладких Б.А. Информатика от абака до интернета. Введение в специальность: учебное пособие/ Б.А. Гладких - Томск, Изд. «НТЛ», 2005. 484 стр
  4. Голиков В.А. Теория программирования/ В.А. Голиков - Московская финансово-промышленная академия. –М., 48 стр.
  5. Голицина О.Л. Основы алгоритмизации и программирования 3-е издание/ О.Л. Голицина, И.И. Попов - Москва 2008г. – 432 стр.
  6. Ефимова Е.А. Основы программирования на языке Visual Prolog, 2-е издание, исправленное/ Е.А. Ефимова - Национальный Открытый Университет «ИНТУИТ», 2016г. – 266 стр.
  7. Информатика: учебное пособие./ Гусева Е.Н., Ефимова И.Ю., Коробков Р.И. [и др.] изд. «Флинта» 2016, 261 стр.
  8. Кадырова Г. Р. Основы алгоритмизации и программирования : учебное пособие / Г. Р. Кадырова – Ульяновск : УлГТУ, 2014. – 95 стр.
  9. Мирошниченко И.И. Языки и методы программирования / И.И. Мирошниченко, Е.Г. Веретенникова, Н.Г. Савельева - Ростов-на-Дону, ИПК РГЭУ (РИНХ) 2019г. – 188 с.
  10. Николаева Е.А. «История информатики» уч. Пособие/ Е.А. Николаева, В.В. Мишечкин, М.В. Косенкова - Кемерово, 2014, 111 стр.
  11. Пильщиков В.Н. Программирование на языке ассемблера IBM PC/ В.Н. Пильщиков –М.: Диалог-МИФИ, 2014. -288 стр.
  12. Программирование и основы алгоритмизации : учебное пособие / В.К. Зольников, П.Р. Машевич, В.И. Анциферова, Н.Н. Литвинов - Воронеж, 2011, 341 стр.
  13. Савельева Н.В. Основы программирования на PHP/ Н.В. Савельева – М.: Национальный Открытый Университет «Интуит», 2016. 330 стр.
  14. Смолин Д.В. Введение в искусственный интеллект: конспект лекций/ Д.В. Смолин - Физматлит, 2007, 292 стр.
  15. Строганов А.С. Ваш первый сайт с использованием PHP-скриптов – 3-е изд., испр. и дополн./ А.С. Строганов – М.:Диалог-МИФИ, 2015. – 288 стр.
  16. Сузи Р.А. Язык программирования Python: учебное пособие ,– 2-е изд., испр. / Р.А. Сузи – М.:Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. – 327стр.
  17. Шандаков Ю.Д. Программирование в среде  Visual Basic : Учебное пособие/ Ю.Д. Шандаков, Л.А. Поликарпова, Е.А. Завьялова - ГОУ ВПО «Кемеровский государственный университет», Кемерово, 2009, 75 стр.
  18. Шелудько В.М. Основы программирования на языке высокого уровня Python: Учебное пособие/ В.М. Шелудько - Южный федеральный университет. – Ростов-на-Дону; Таганрог; Издательство Южного федерального ниверситета, 2017. -146 стр.
  19. Шрайнер П.А. Основы программирования на языке Пролог: курс лекций : учеб. Пособие для студентов вузов, обучающихся по специальностям в обл. информ. Технологий / П.А. Шрайнер– М.: Интернет-Ун-т Информю технологий, 2005. -176 стр.
  20. Частное Боровское исследовательское учреждение по внедрению новых технологий: сайт. URL: http://bourabai.ru/ (дата обращения: 26.11.2019)
  21. Чернышов Л.Н. Среды разработки программного обеспечения: история и перспективы к.ф.-м.н. ФГОУ ВПО Академия бюджета и казначейства Министерства Финансов Российской Федерации, Россия: электронный текст. URL: http://nit.miem.edu.ru/sbornik/2009/plen/008.html (дата обращения: 26.11.2019)
  22. Энциклопедия языков программирования: сайт. URL: http://progopedia.ru/ (дата последнего обращения: 07.01.2020)
  23. Lisp.Ru – Русскоязычное сообщество лисперов: сайт. URL: http://www.lisp.ru/ (дата обращения: 07.01.2020)
  24. http://www.maksakov-sa.ru (дата обращения: 07.01.2020)
  25. Национальная библиотека им. Н.Э. Баумана: сайт. URL: https://ru.bmstu.wiki (дата обращения: 10.01.2020)
  26. Официальный сайт Geany: сайт. URL: https://www.geany.org/ (дата обращения:10.01.2020)
  27. Официальный сайт Python: сайт. URL: https://www.python.org/ (дата обращения: 14.12.2019)
  1. Информатика: учебное пособие. /Гусева Е.Н.. Ефимова И.Ю., Коробков Р.И., Коробкова К.В., Мовчан И.Н. изд. «Флинта» 2016, С. 147

  2. Волкова Т.И. Введение в программирование. Уч. Пособие, изд. «Директ-Медиа», Москва, Берлин, 2018, с.11

  3. http://www.maksakov-sa.ru/ProgrProd/YazProgr/index.html

  4. «Языки и методы программирования» И.И. Мирошниченко, Е.Г. Веретенникова, Н.Г. Савельева, Ростов-на-Дону, ИПК РГЭУ (РИНХ) 2019г. – c. 4, 6

  5. Волкова Т.И Введение в прокрамирование. Уч. Пособие, изд. «Директ-Медиа», Москва, Берлин, 2018, с. 8-9

  6. «Языки и методы программирования» И.И. Мирошниченко, Е.Г. Веретенникова, Н.Г. Савельева, Ростов-на-Дону, ИПК РГЭУ (РИНХ) 2019г. – с 4

  7. Е.А. Николаева, В.В. Мишечкин, М.В. Косенкова, «История информатики» уч. Пособие, Кемерово, 2014, 111 с. 69

  8. Введение в прокрамирование. Уч. Пособие. Т.И. Волкова, изд. «Директ-Медиа», Москва, Берлин, 2018, 138 с. 9

  9. https://ru.bmstu.wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4

  10. http://bourabai.ru/alg/classification.htm#4

  11. http://bourabai.ru/alg/classification.htm#4

  12. Программирование на языке ассемблера IBM PC.\Пильщиков В.Н. –М.: Диалог-МИФИ, 2014. -с. 21)

  13. http://bourabai.ru/alg/classification.htm#4

  14. Введение в программирование. Уч. Пособие. Т.И. Волкова, изд. «Директ-Медиа», Москва, Берлин, 2018, с. 9

  15. «Языки и методы программирования» И.И. Мирошниченко, Е.Г. Веретенникова, Н.Г. Савельева, Ростов-на-Дону, ИПК РГЭУ (РИНХ) 2019г. – с. 4-5

  16. О.Л. Голицина, И.И. Попов «Основы алгоритмизации и программирования» 3-е издание, Москва 2008г. – с. 44-45

  17. Введение в прокрамирование. Уч. Пособие. Т.И. Волкова, изд. «Директ-Медиа», Москва, Берлин, 2018, 138 с. 9-10

  18. Язык программирования Python: учебное пособие / Р.А. Сузи – 2-е изд., испр. – М.:Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. с 10

  19. Информатика: учебное пособие. Тимченко С.В., Сметанин С.В., Артемов И.Л., Гураков А.В., Абдалова О.И., изд.: Эль КОнтент, 2011, с.138-139

  20. http://progopedia.ru/language/lisp/

  21. http://www.lisp.ru/

  22. Введение в искусственный интеллект: конспект лекций, Смолин Д.В., Физматлит, 2007, 292 с.200

  23. http://progopedia.ru/language/prolog/

  24. Основы программирования на языке Пролог: курс лекций : учеб. Пособие для студентов вузов, обучающихся по специальностям в обл. информ. технологий/П.А. Шрайнер. – М.: Интернет-Ун-т Информю технологий, 2005ю -176 с. 11

  25. Основы программирования на языке Visual Prolog/ Е.А. Ефимова, Национальный Открытый Университет «ИНТУИТ», 2016г. – с.4

  26. Информатика от абака до интернета. Введение в специальность: учебное пособие./ Б.А.Гладких,Томск, Изд. «НТЛ», 2005. с. 191

  27. http://progopedia.ru/language/cobol/

  28. http://progopedia.ru/language/java/

  29. Программирование в среде  Visual Basic . Учебное пособие \ Ю.Д. Шандаков, Л.А. Поликарпова, Е.А. Завьялова, ГОУ ВПО «Кемеровский государственный университет», Кемерово, 2009, с4

  30. http://progopedia.ru/language/basic/

  31. http://progopedia.ru/dialect/visual-basic/

  32. Основы программирования на VBA для Microsoft Excel: учебное пособие/ М.И. Бычков. – Новосибирск : Изд-во НГТУ, 2010. –с. 4-5)

  33. Основы программирования на языке высокого уровня Python: Учебное пособие. / В.М. Шелудько/ Южный федеральный университет. – Ростов-на-Дону; Таганрог; Издательство Южного федерального университета, 2017. -с. 17

  34. Язык программирования Python: учебное пособие / Р.А. Сузи – 2-е изд., испр. – М.:Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. – с.19

  35. Основы программирования на PHP/Н.В. Савельева – М.: Национальный Открытый Университет «Интуит», 2016. 330 с.4-5

  36. Ваш первый сайт с использованием PHP-скриптов – 3-е изд., испр. и дополн./Строганов А.С. – М.:Диалог-МИФИ, 2015. – с. 4

  37. Голиков В.А. Теория программирования/Московская финансово-промышленная академия. –М., с. 48

  38. Программирование и основы алгоритмизации: учебное пособие. Зольников В.К., Машевич П.Р., Анциферова В.И., Литвинов Н.Н. Воронежская государственная лесотехническая академия, 2011, с. 233

  39. Введение в программирование: учебное пообие/И.Ю. Баженова, В.А. Сухомлин. – М.:Интернет-Университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. – с.18

  40. https://www.geany.org/manual/0.19_ru/index.html#about-geany

  41. https://netbeans.apache.org/

  42. http://nit.miem.edu.ru/sbornik/2009/plen/008.html