Файл: «Классификация языков программирования. Критерии выбора среды и языка разработки программ» (Классификация языков программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 104

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

ГЛАВА 2. КРИТЕРИИ ВЫБОРА СРЕДЫ И ЯЗЫКА РАЗРАБОТКИ ПРОГРАММ

2.1. ФАКТОРЫ, ВЛИЯЮЩИЕ НА ВЫБОР СРЕДЫ РАЗРАБОТКИ ПРОГРАММ

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

Когда необходимо создать большую программную систему или составить программы для решения какой-либо частной задачи, в том числе при создании компьютерных игр, встает вопрос, какой выбрать для этой цели подходящий язык программирования. Зачастую выбор делается на основании очень простых «земных» факторов: наличии того или иного транслятора, наличие программиста, умеющего писать программы на данном языке. Но если в распоряжении пользователя несколько языков программирования, то необходимо учитывать следующие факторы [[13]6]:

- для чего будет использоваться программное обеспечение: будет оно написано для массового использования или под конкретного пользователя, будут ли создаваться его новые версии;

- желаемая скорость работы программного обеспечения, насколько ресурсоемкой будет программа;

- будет ли программа разделена на модули для снижения нагрузки или будет являться целым ресурсоемким комплексом;

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

- какими данными, типами структур будет оперировать конечная программа;

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

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


Одним из факторов выбора конкретного языка и среды программирования является принадлежность задачи к конкретной предметной области: научным вычислениям, обработке деловой информации, моделирование мыслительной деятельности человека, создание операционных систем, веб-обработка и т.д. [[14]2, с. 30].

2.2. КРИТЕРИИ ВЫБОРА СРЕДЫ И ЯЗЫКА ПРОГРАММИРОВАНИЯ

В качестве основного критерия выбора среды и языка программирования может служить принадлежность выполняемой задачи к конкретной предметной области [[15]2, с. 30]. Исходя из этого положения можно предложить следующие решения:

1. Для выполнения научных, математических и иных вычислений, где требуется решение задач численного анализа, уравнений и задач статистики, совершение арифметических вычислений, оптимален выбор языка, разработанного именно для удовлетворения таких потребностей – Fortran;

2. Обработка деловой информации – выполнение бизнес-задач, таких как управление ресурсами и персоналом, деловое планирование, анализ рисков, начисление зарплат и т.д., где требуется считывание и обработка больших объемов данных и генерация отчетов – для решения этих задач разработан язык Cobol (хотя применимы и С и С++);

3. Задачи системной области – создание и развитие операционных систем, программного обеспечения, где необходимо быстрое выполнение программ и взаимодействие с аппаратными средствами – в настоящее время применяется язык С и С++ (так операционная система UNIX полностью написана на языке С);

4. При решении задач в системах аэрокосмического и военного назначения используется язык Ada;

5. Управление технологическими процессами и оборудованием, связанными с микропроцессорами и используемыми в автомобилях, бытовых приборах, видеоиграх, требует применения языков, позволяющих создавать программы для работы в реальном времени – это языки Ada, С и С++;

6. Веб-обработка. Изначально для создания веб-страниц использовался язык разметки HTML, который не является языком программирования. Для решения задачи работы в среде WWW были созданы Perl, PHP и Java.

При этом в качестве среды разработки программного обеспечения наиболее популярны и применимы [[16]1, с. 98]:

- для языка Fortran – Compaq Visual Fortran;


- для языка Cobol – пишется в любом текстовом редакторе (к примеру, Notepad), затем компилируется Open Cobol;

- для языка С++ - Microsoft Visual Studio, Dev-C++, Visual C++;

- для языка Java - Microsoft Visual Studio, Java Runtime Environment, NetBeans и др.

Кроме того, к критериям выбора языка разработки программного обеспечения стоит отнести [[17]10]:

  1. Скорость работы конечного продукта:

Требование к скорости выполнения программ применимо для программ с большим объемом математических вычислений (моделирование физических систем, расчеты экономических данных, выведение трехмерной графики и т.д.). Для данных целей хорошо подойдут языки: Assembler, С / С++, Fortran – т.к. конечные программы не содержат в себе ничего лишнего, а машинные команды выполняются без лишних задержек.

  1. Объем занимаемой оперативной памяти:

Данное требование появляется, когда программа разрабатывается для встраиваемых систем, мобильных платформ и т.д. К таким языкам можно отнести: Assembler, С / С++, Objective-C и другие.

  1. Скорость разработки программ:

Требование появляется, когда программа нужна «вчера». В данном случае выбор языка должен пасть на Java или Flash. Время разработки на данных языках существенно сокращается из-за обилия сторонних библиотек и очеловеченного синтаксиса. Но при этом, стоит отметить, ощутимо страдает скорость выполнения программ.

  1. Ориентированность на компьютер или человека:

Если программа ориентирована на человека, возникает необходимость использования графической составляющей, дизайна и пользовательской простоты. Разработка графической части – сложный процесс. Для решения подобных задач подходят С++ и C#. Однако для более простых задач применимы и Java и Flash.

  1. Кроссплатформенность:

Требование к возможности работы программы на различных платформах, различных операционных системах требует применения таких языков, как: Java, C++/C#, Flash. Программы на Java вообще не требуют никаких изменений – после компиляции получается .jar файл, который будет работать и на Windows, и на Mac OS, и на Linux.

  1. Скорость внесения изменений, скорость тестирования:

Требование постоянно вносить изменения в программный продукт требует применения высокоуровневых языков, таких как Java и C++.

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

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


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

С++ может решать практически любые задачи и подходит к множеству платформ. Он позволяет программисту выбирать любые стили для написания программы. Так же язык С++ не сильно требователен к ресурсам ЭВМ [[18]9, с. 96-97].

Язык Java (произошедший от С) также считается универсальным. Этот язык довольно молодой, разработан в 1990 году. Он прост в изучении, но обладает огромным минусом – низкой скоростью работы.

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

1. Познакомились с историей возникновения и видоизменения основных языков программирования. Так, мы пришли к выводу, что большинство современных языков программирования, в конечном счете, основаны на одном из первых своего рода. Яркий пример – популярный на сегодняшний день среди программистов С++, создан на основе своего предшественника Си.


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

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

- по уровню зависимости от ЭВМ: на машинно-ориентированные и машинно-независимые языки;

- по способу описания действий, которые необходимо выполнить: на процедурные и непроцедурные языки;

- по описанию процесса обработки информации: процедурно-ориентированные, проблемно-ориентированные и объектно-ориентированные языки.

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

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

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

- предметная область применения конечного продукта;

- желаемая скорость разработки, а также скорость работы продукта;

- скорость внесения изменений;

- объем занимаемой оперативной памяти;

- кроссплатформенность.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Беспалов В.В. Информационные технологии: Учебное пособие. – Томск: Томский политехнический университет, 2012. - 134 с.
  2. Орлов С. Теория и практика языков программирования: Учебник для вузов. 2-е изд. – СПб.: Питер, 2017. – 688 с.
  3. Тюгашев А.А. Основы программирования: Учебное пособие. Часть I. – СПб.: Университет ИТМО, 2016. – 160 с.
  4. Бьянкуцци Ф., Уорден Ш. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. - СПб.: Символ-Плюс, 2011. - 608 с.
  5. Вольфенгаген В.Э. Конструкции языков программирования. Приемы описания. - М.: Центр ЮрИнфоР, 2001. - 276 с.
  6. Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов – это очень просто! - М.: Издательство Дело, 2001. - 359 с.
  7. Себеста Р.У. Основные концепции языков программирования. 11-е издание. - М.: Вильямс, 2016. – 785 с.
  8. Уоллес Вонг. Основы программирования для чайников. 4-е издание. – М.: Вильямс, 2008. – 336 с.
  9. Левушкин А.В. Основные современные языки программирования // Молодой ученый. – 2018. - № 25(211). – С. 96-97.
  10. Дердемьянский А. Выбор языка программирования. URL: https://habr.com/ru/post/143556/. (Дата обращения: 02.04.2020).