Добавлен: 01.04.2023
Просмотров: 294
Скачиваний: 1
Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны быть выполнены прежде чем переходить к какому-либо действию [13]. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения.
Табличные методы легко осваиваются специалистами любых профессий [18].
2.2.1 Объектно-ориентированные языки
Объектно-ориентированные языки стали дальнейшим уровнем развития процедурных языков, основной концепцией которых есть совокупность программных объектов. Написание программы на языке представляется в виде последовательности создания экземпляров объектов и использование их методов. К ним относятся из первых языков Simula и SmallTalk, далее C++, Java [21].
-
-
- Декларативные языки программирования
-
В декларативном программировании задается спецификация решения задачи, то есть дается описание того, что представляет собой проблема и какой ожидается результат. Программы, созданные с помощью декларативного языка, не содержат переменные и операторы присваивания. К декларативным языкам можно отнести SQL и HTML. К подвидам декларативного программирования относится функциональное и логическое программирование [17].
-
-
- Функциональные языки программирования
-
Функциональные языки являются языками искусственного интеллекта. Программа, написанная на функциональном языке, состоит из последовательности функций и выражений, которые необходимо вычислить. Основной структурой данных является связный список. Функциональное программирование принципиально отличается от процедурного. Основными функциональными языками являются Lisp, Miranda, Haskel [18]. Логические языки программирования Языки, ориентированные на решение задач без описания алгоритмов, языки искусственного интеллекта. Представителем логического программирования является Prolog, которым написано большинство экспертных систем [23].
-
-
- Языки сценариев (скрипты)
-
Языки относятся к объектно-ориентированным языкам, используются для написания программ, которые исполняются в определенной программной среде. Тексты программ, написанные на языке сценариев, можно включать в тело Html-документа [20]. Первыми скриптами были Perl и Python, которые изначально были разработаны для операционной системы Unix, а уже в дальнейшем появились версии языков для операционных систем Windows и Macintosh. Для написания программ на языке сценариев необходимо знание процедур и функций системных библиотек [9].
-
-
- Языки, ориентированные на данные
-
Языки ориентированы на работу с одним определенным типом данных. Например, APL работает с матрицами и векторами, Snobol обрабатывает строки, SETL выполняет операции над множествами. Особое развитие получили языки для работы с базами данных: 3GL, PL/SQL, FoxPro [1].
Таким образом, рассмотрев классификацию языков программирования по категориям, мы можем сделать вывод, что разделение связано с методами, которые используются при написании программ. Данные методы призваны формировать необходимый функционал, который отвечает запросу на написание того или иного языка.
Язык программирования, ориентированный на конкретный тип процессора и учитывающий его особенности, является языком программирования низкого уровня. Операторы языка низкого уровня близки к машинному коду и ориентированы на конкретные команды процессор. Языки программирования, имитирующие естественные языки, обладающие укрупненными командами, ориентированными на решение прикладных содержательных задач, называются языками высокого уровня.
Также данная классификация определяет место использование этого языка и дальнейшие перспективы его развития. Объединение языков по методу их написания, позволяет более качественно определить среду их использования, что значительно улучшает качество написание программ и позволяет максимально ее использовать.
Данная классификация позволяет в дальнейшем рассмотреть критерии выборы среды и языка программирования.
ГЛАВА 3
ОПРЕДЕЛЕНИЕ КРИТЕРИЯ ВЫБОРА СРЕДЫ И ЯЗЫКА ПРОГРАММИРОВАНИЯ
3.1 Среды программирования
Среды программирования – есть совокупность инструментов, применяемых в разработке программного обеспечения. Данный инструментарий включает в себя, текстовый редактор, редактор связей, файловую систему и компилятор.
Старейшей средой программирования считается – машинно-независимая операционная система с разделением времени UNIX. На базе данной операционной системы представлены многочисленные инструментальные средства для производства программного обеспечения, а также эксплуатации разнообразных языков. Работа с этой средой, обеспечивается с помощью графического интерфейса, устанавливаемого поверх нее [30].
Наиболее востребованными средами являются Microsoft Visual C++, Visual BASIC, Delphi и Java Development Kit. Они предлагают легкий способ создания графических интерфейсов [19].
Однако реализация языка программирования заключается в том, является ли данный язык программирования машинным языком для данного реального компьютера. В соответствии с этим, языки делятся на компилируемые и интерпретируемые.
3.2 Компилируемые и интерпретируемые языки
Компилируемыми языками принято считать такие языки, как С, С++, Pascal и Ada. Написанные на данных языках программы транслируются в машинный код данного компьютера перед началом выполнения. Программная интерпретация при этом ограничивается только интерпретацией набора программ поддержки выполнения, которые моделируют элементарные операции исходного языка, не имеющие близкого аналога в машинном языке. Транслятор компилируемого языка является той программой, при которой основное значение имеет создание максимально эффективных исполняемых программ [1].
Реализация интерпретируемых языков происходит за счет использования программного интерпретатора. Таковыми языками являются LISP, ML, Perl, Postscript, Prolog, Smalltalk. Транслятор, в отличии от компилятора, выдает не машинный код используемого компьютера, а промежуточную форму программы. Она легча для выполнения, нежели исходная программа и отличается от машинного кода как такового. В связи с тем, что выполнение программы занимает продолжительное время, вызванное использованием программного интерпретатора, трансляторы интерпретируемых языков, как правило, представляют собой довольно простые программы [20].
Развитие Всемирной паутины WWW и появление языка Java внесли изменения в ранее построенную схему. Java имеет больше сходства с Pascal и С++, нежели с LISP, однако в большинстве случаев используется как интерпретируемый язык. Компилятор Java вырабатывает промежуточный набор байт-кодов для виртуальной машины Java. Передача байт-кодов на локальный компьютер выгоднее в отношении временных затрат, чем передача результатов выполнения программы на web-сервере. Однако web-сервер не в состоянии предугадать машинную архитектуру хост –компьютера. Поэтому браузер создает виртуальную машину Java, которая выполняет набор байт – кодов Java [29].
В данной главе были рассмотрены среды программирования и критерии выбора языка. Выбор языка программирования во время создания программы является очень важным моментом, от которого зависит очень многое – скорость создания программы, скорость тестирования, возможность переноса на другие платформы, возможность быстрого внесения изменений, быстрота выполнения конечного продукта и так далее. При этом идеального языка не существует, все они обладают своими положительными и отрицательными качествами, которые будут так или иначе влиять на процесс разработки.
В настоящее время, при написании программы используется несколько языков. Например, критичные к скорости работы части пишутся на низкоуровневых языках, графическая часть — на высокоуровневых и медленных. Также используется часто универсальные языки С и С++. Однако их универсальность имеет и обратную сторону, наличие многих тонкостей приводит к усложнению усвоения данного языка.
Таким образом, можно сказать, что критерием выбора среды и языка программирования являются с одной стороны тот функционал, которым должна обладать программа и с другой стороны – квалификация программиста, который ее пишет.
ЗАКЛЮЧЕНИЕ
На основании проведенного теоретического исследования были рассмотрены различные языки программирования. Наиболее распространенные, такие как: Паскаль, Бейсик, Ада, языки Си, С++, С#, Ява и так далее, представляются на данном этапе наиболее интересными, так как используется для научных вычислений, для обучения программированию начинающих программистов и так далее.
Анализируя работы отечественных и зарубежных авторов, мы пришли к выводам, что большинство современных языков имеет интегрированную среду разработки и поддерживает структурное программирование. Для графических операционных систем, например Windows, требуются более сложные средства программирования, но с помощью простых в обращении языков, процесс облегчается настолько, что даже начинающие программисты могут работать с графической средой.
Современные языки программирования обеспечивают огромные преимущества по сравнению с предшествующими языками. Они более структурированы и предоставляют интегрированную среду разработки. В 1970-х самым популярным языком общего применения был Pascal, но в 1980-х его применение резко сократилось. Язык C, разработанный компанией Bell Laboratories, является очень эффективным, но низкоуровневым языком программирования. Язык C — это основа современных языков. Самым большим преимуществом языка C++ над его предшественником является поддержка объектно-ориентированного программирования.
Языки также имеют различную классификацию, что позволяет их структурировать. Однако следует понимать, что классификации достаточно относительны, и языки могут занимать промежуточные классы при их дифференциации.
Большинство языков имеют специализацию и подходят для написания определенного типа программ. Выбор языка определяется исходя из направленности разрабатываемой программы. Кроме того, программист должен отдавать себе отчет в том, насколько этот язык распространен, на тот случай, если кому-то в будущем придется заниматься обслуживанием его программы. Поэтому критерием выбора языка программирования является ряд определенных факторов, что также играет немаловажную роль, при создании программы.
Таким образом, подведя итог, можем сказать, что цель и задачи настоящей курсовой работы достигнуты в полном объеме.
БИБЛИОГРАФИЯ
- Ахо А. В., Лам М. С., Сети Р., Ульман Д. Д. Компиляторы. Принципы, технологии, инструментарий, 2-е изд. — М.: Издательский дом «Вильямс», 2008. — 1184 с.
- Белов М.П. Основы алгоритмизации в информационных системах: Учеб. пособие.- СПб.: СЗТУ, 2003. – 85с.
- Бен-Ари М. Языки программирования. Практический сравнительный анализ. —М.: Мир, 2000. — 366 с.
- Ефимова О., Морозов В., Угринович Н. Курс компьютерной технологии с основами информатики. Учебное пособие для старших классов. - М.: ООО "Издательство АСТ"; АВF, 2000
- Житкова О.А., Кудрявцева Е.К. Справочные материалы по программированию на языке Паскаль..-М.: Интеллект-Центр, 2001 г.
- Задачник-практикум по информатике. В 2-х томах/Под ред. И.Семакина, Е.Хеннера. - М.: Лаборатория Базовых Знаний, 2001г.
- Информатика под редакцией Е.К. Хеннера, М.,Академия,2004г
- Информатика. Базовый курс под ред. С. В. Симоновича, С.-П «Питер» 2005г.
- Информатика. Базовый курс. 2-е издание. Под редакцией Симоновича. Издательство “Питер” 2004г.
- Каймин, В. А. Информатика : учебник / В.А. Каймин. – М. :
Проспект, 2011. – 272 с.
- Керниган Б. В., Ричи Д. М. Язык программирования С. 2-е изд. М.: Издательский дом «Вильямс», 2009. — 304 с.
- Либерти Джесс. Освой самостоятельно С++ за 21 день.- М.: Издатель-ский Дом "Вильямс", 2001. - 814 с.
- Лоусон Б., Шарп Р. Изучаем HTML5. Библиотека специалиста. — СПб.: Питер, 2011. — 272 с.
- Ляхович В.Ф. Основы информатики / В.Ф. Ляхович. – Ростов н/Д. :
«Феникс», 2000. – 608с.
- Методы программирования. Компьютерные вычисления / А. В. Могилев, Л. В. Листрова. — СПб.: БХВ-Петербург, 2008. 320 с.: ил. — (ИиИКТ)
- Николаев В.И.,Чалов Д.В., Сибирев В.Н. Информатика. Теоретические основы:Учеб. Пособие. – СПб.: СЗТУ, 2002. - 73с.
- Орлов С. А. Принципы языков программирования: Опорный конспект лекций. 5-е изд., дополнен. — Рига: TSI, 2008. — 108 с.
- Орлов С. А. Принципы построения языков программирования. Учебник. — Рига: TSI, 2012. — 362 с.
- Основы алгоритмизации и программирования: Метод. указ. / Сост.: И.П. Рак, А.В. Терехов, А.В. Селезнев. Тамбов: Изд-во Тамб. гос. техн. ун-та, 2004. 24 с.
- Основы алгоритмизации и программирования: учеб. пособие /
Т.А. Жданова, Ю.С. Бузыкова. – Хабаровск : Изд-во Тихоокеан. гос.ун-та, 2011. – 56 с.
- Основы алгоритмизации и программирования : учебное пособие /
Г. Р. Кадырова. – Ульяновск : УлГТУ, 2014. – 95 с.