Файл: Классификация языков программирования..pdf

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

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

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

Добавлен: 22.04.2023

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

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

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

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

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

На данный момент существует более 300 языков программирования. Каждый из них имеет свои особенности и подходит для одной определенной задачи. Все языки программирования можно условно разделить на несколько групп:

  • Аспектно-ориентированные (основная идея – разделение функциональности для увеличения эффективности программных модулей). Структурные (в основе лежит идея создания иерархической структуры отдельных блоков программы).
  • Логические (в основе лежит теория аппарата математической логики и правил резолюции). Объектно-ориентированные (в таком программировании используются уже не алгоритмы, а объекты, которые принадлежат определенному классу).
  • Мультипарадигмальные (сочетают в себе несколько парадигм, и программист сам решает, каким языком воспользоваться в том или ином случае).
  • Функциональные (в качестве основных элементов выступают функции, которые меняют значение в зависимости от результатов вычислений исходных данных).

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

Список для начинающих приведен ниже:

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

Python ("Питон") довольно легко выучить благодаря простому читаемому синтаксису, преимущество же в том, что на нем можно создавать как обычные десктопные программы, так и веб-приложения.

Pascal ("Паскаль") – один из древнейших языков (1969 г.), созданных для обучения студентов.

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


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

Основной помощник – это интегрированная среда разработки программ и приложений Visual Basic («Визуал Бейсик» одновременно является и языком программирования, который унаследовал стиль языка Basic 1970-х годов).

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

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

Самые известные языки низкого уровня – это "Ассемблер" (существует несколько подвидов этого языка, каждый из которых имеет много общего, а отличается лишь набором дополнительных директив и макросов), CIL (доступен в платформе .Net) и Байт-код JAVA.

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

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

C ("Си"), C# ("Си-шарп"), "Фортран", "Паскаль", Java ("Ява") - входит в число самых используемых высокоуровневых синтаксисов. Он обладает следующими свойствами: эти языки работают с комплексными структурами, поддерживают строковые типы данных и операции с файлами ввода-вывода информации, а также имеют преимущество – с ними гораздо проще работать благодаря читабельности и понятному синтаксису.

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


Список по популярности можно охарактеризовать так:

  • языки ООП: Java, C++, Python, PHP, VisualBasic и JavaScript;
  • группа структурных языков: Basic, Fortran и Pascal;
  • мультипарадигмальные: C#, Delphi, Curry и Scala.

Выбор языка, на котором написана та или иная программа, во многом зависит от области ее применения. Так, например, для работы с самим "железом" компьютера (написания драйверов и поддерживающих программ) лучшим вариантом станет C ("Си") или С++, которые входят в основные языки программирования (список смотрите выше). А для разработки мобильных приложений, в том числе игр, следует выбрать Java или С# ("Си-шарп").

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

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

В данной работе рассматриваются этапы разработки и описание экспертной системы для выбора среды разработки. Основным назначением готовой экспертной системы является формирование мнения о предпочтительности выбора той или иной среды разработки для пользователя.

Среда разработки (IDE) – это сочетание текстового редактора и компилятора. Разработка, компиляция и запуск своих программ осуществляется непосредственно в IDE. Интегрированные среды разработки упрощают процесс составления программ, так как написание кода компиляция и запуск программ выполняются в одной программе – IDE. Ещё одной важной особенностью IDE является то, что IDE помогает быстро найти и исправить ошибки компиляции.

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

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


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

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

Операционная система (ОС):

1)  Windows;

2)  Mac OC;

3)  Linux;

4)  Unix.

Разрядность ОС:

1)  86;

2)  64;

3)  32.

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

1)  Pascal;

2)  Basic;

3)  Scala;

4)  Cobol;

5)  Ruby;

6)  MatLab;

7)  SQL;

8)  Perl;

9)  Lisp;

10) Fortran;

11) Python;

12) PHP;

13) Java;

14) C#;

15) C++;

16) C;

17) Assembler.

Назначение:

1)  Для обучения;

2)  Для работы.

Доступ:

1)  Платный;

2)  Свободный.

Компилятор:

1)  Встроенный;

2)  Внешний.

Эти понятия являются наиболее значимыми и основными, позволяющими сделать тот или иной выбор.

Разрабатываемая экспертная система должна выбирать оптимальную IDE, на основе предъявляемых к ней требований.

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

1.  выбор языка программирования;

2.  выбор операционный системы;

3.  выбор разрядности ОС;

4.  выбор назначения;

5.  выбор доступа;

6.  выбор компилятора.

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

Выделяются следующие задачи данного исследования:

1.  выявить функции разрабатываемой системы;

2.  спроектировать систему;

3.  разработать экспертную систему;

4.  протестировать систему.

Функции разрабатываемой системы:

1.  проведение анализа входных данных;

2.  формирование рекомендаций;

3.  объяснение рекомендаций.

Создавалась интеллектуальная система с использованием кросс-платформенной среды разработки QT Creator, которая разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML.

База знаний интеллектуальной системы хранится отдельно от машины вывода в виде файла СУБД Firebird. Для создания баз данных и разработки бизнес-правил на стороне сервера SQL была использована утилита IBExpert.

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


Рисунок 8 - Интерфейс программы

Рисунок 9 - Сообщение об ошибке

Рисунок 10 - Поиск среды разработки по языку программирования

Рисунок 11 - Поиск программы среды разработки по всем критериям

Изменили параметры отбора. Выбрали в качестве критерия «Компилятор» – внешний (рисунок 12).

Рисунок 12 - Поиск программы среды разработки по всем критериям с измененными параметрами

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

Рисунок 13 - Поиск программы среды разработки по трем критериям

При нажатии на кнопку «Сброс критериев» очищаются формы для выбора критериев (QComboBox), как представлено на рисунке 14.

Рисунок 14 - Работа кнопки Сброс критериев

Для того, чтобы получить описание таблицы нужно выбрать столбец и нажать кнопку «Описание». Пользователь получит сообщение с описанием (рисунок 15).

Рисунок 15 - Вывод сообщения пользователю

Созданная система может применяться:

1.  при личном использовании;

2.  в учебных учреждениях.

В будущем система может дорабатываться. Для этого необходимо:

1.  добавить в программу различную важность критериев отбора;

2.  добавить возможность изменения базы данных из приложения.

Заключение

Языковые средства, на которых пишутся (или в свое время писались) компьютерные программы, условно можно разделить на низко- и высокоуровневые. Если кто из старшего поколения помнит, даже в советские времена в школах на уроках информатики преподавался язык Basic. С его помощью на тогдашних машинах Yamaha КУВТ можно было создавать примитивные программы математических вычислений, программировать простейшие картинки или музыку, звучащую из системного динамика. Для математики можно было использовать и логические операторы вроде «если», «то», «иначе».

Но проблема всех тех, кто хорошенько обучился этому языку, состояла в том, что они никак не могли освоить новые средства. Не говоря о том, что язык Ассемблер своим появлением произвел настоящую революцию и используется до сих пор, появились достаточно специфичные средства, например, языки структурного или объектно-ориентированного программирования (ООП).