Файл: Классификация языков программирования. Критерии выбора среды и языка разработки( Разработка языков программирования).pdf
Добавлен: 25.04.2023
Просмотров: 444
Скачиваний: 2
СОДЕРЖАНИЕ
1. Языки программирования и их классификация
1.1 Разработка языков программирования
1.2 Роль и значения языков программирования
2.Критерии выбора языка для разработки программ
2.1 Обзор характеристик языков программирования
2.2 Какие языки нужны компаниям?
2.3 Популярность языков программирования
Появление Delphi не могло пройти незамеченным среди многочисленных пользователей компьютера . Оценки экспертов, изучающих возможности этого нового продукта фирмы Borland, обычно окрашены в восторженные тона. Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования. Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов.
Система Delphi позволяет решать множество задач, в частности:
- Создавать ,законченные приложения для Windows самой различной направленности: от чисто вычислительных и логических, до графических и мультимедиа.
- Быстро создавать (даже начинающим программистам) профессионально выглядящий оконный интерфейс для любых приложений.
- Создавать мощные системы работы с локальными и удаленными базами данных.
- Создавать справочные системы (файлы .hlp) для своих приложений и мн. др.
Delphi – чрезвычайно быстро развивающаяся система. Первая версия – Delphi 1.0 была выпущена в феврале 1995 г. А затем новые версии выпускались ежегодно.
Пролог - главное назначение языка – разработка интеллектуальных программ и систем. Пролог – это язык программирования, созданный специально для работы с базами знаний, основанными на фактах и правилах (одного из элементов систем искусственного интеллекта). В языке реализован механизм возврата для выполнения обратной цепочки рассуждений, при котором предполагается, что некоторые выводы или заключения истинны, а затем эти предположения проверяются в базе знаний, содержащей факты и правила логического вывода. Если предположение не подтверждается, выполняется возврат и выдвигается новое предположение. В основу языка положена математическая модель теории исчисления предикатов.
Ориентация Пролога – “нетрадиционные” применения вычислительной техники: понимание естественного языка, базы знаний, экспертные системы и другие задачи.
Его принципиальное отличие от традиционных языков программирования заключается в подходе к описанию способа решения задачи: программа на Прологе описывает не процедуру решения задачи, а логическую модель предметной области – некоторые факты относительно свойств предметной области и отношений между этими свойствами, а также правила вывода новых свойств и отношений из уже заданных.
Программа на прологе состоит из предложений, которые могут быть фактами, правилами или вопросами.
Структура программы:
Программа на Турбо Прологе состоит из следующих семи разделов:
- Директивы компилятора - дополнительные инструкции по обработке программы;
- CONSTANTS - раздел описания констант;
- DOMAINS - раздел описания доменов;
- DATABASE - раздел описания предикатов внутренней базы данных;
- PREDICATES - раздел описания предикатов;
- CLAUSES - раздел описания предложений;
- GOAL - раздел описания внутренней цели.
HTML - общеизвестный язык для оформления документов. Не является алгоритмическим языком программирования, а язык разметки гипертекста. Очень прост, содержит элементарные команды форматирования текста, добавления рисунков, задания шрифтов и цветов, организации ссылок 24 и таблиц. Все web-страницы написаны на языке HTML или используют его расширения.
HTML язык по своей сути не является языком программирования... он является языком разметки гипертекстовых документов. Иными словами он отвечает за расположение в документе наших текстов, рисунков, таблиц.. предназначенных для жизни в сети Интернет. Заставить его посчитать, сколько будет дважды два невозможно, в нем нет логических функций, зато красиво и главное легко выложить информацию о том, что дважды два будет четыре - это запросто. Читается этот язык при помощи знакомых нам программ, именуемых браузерами (обозревателями), которые "знают" стандартные команды html языка, и "пережевывая" их выводят на монитор компьютера документы в том виде, в котором хочет представить их веб мастер - составитель документа.
Лисп (LISP) – функциональный язык программирования. Ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации.
Язык ЛИСП (LISP) был разработан в 1958 году американским ученым Джоном Маккарти как функциональный язык, предназначенный для обработки списков. LISP - означает "лепетать". С появлением этого языка машина стала пока лепетать, a не говорить по-человечески.
Основные особенности Лиспа
- Представление программы и данных производится одинаково - через списки.
Это позволяет программе обрабатывать другие программы и даже саму себя. - Лисп как правило является интерпретирующим языком, также как BASIC.
- Лисп безтиповый язык, это значит что символы не связываются по умолчанию с каким-либо типом.
- Лисп имеет необычный синтаксис. Из-за большего числа скобок LISP расшифровывают как Lots of Idiotic Silly Parentheses
- Программы, написанные на Лиспе во много раз короче, чем написанные на процедурных языках.
В основу языка положен серьезный математический аппарат:
- лямбда-исчисление Черча
- алгебра списочных структур
- теория рекурсивных функций
Долгое время язык использовался узким кругом исследователей. Широкое распространение язык получил в конце 70-х - начале 80-х годов с появлением необходимой мощности вычислительных машин и соответствующего круга задач. В настоящем - Лисп одно из главных инструментальных средств систем искусственного интеллекта. Он принят как один из двух основных ЯП для министерства обороны США и постепенно вытесняет второй ЯП - АДА.
Система Auto CAD разработана на Лиспе.
АДА - является языком, победившим (май 1979 г.) в конкурсе по разработке универсального языка, проводимым Пентагоном с 1975 году. Разработчики – группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс. Язык АДА – прямой наследник языка Паскаль. Этот язык предназначен для создания и длительного (многолетнего) сопровождения больших программных систем, допускает возможность параллельной обработки, управления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков.
Язык Ада вводит строгую дисциплину программирования, направленную на то, чтобы сделать программы более удобочитаемыми, надежными, переносимыми, модульными, эффективными и т.д. – т.е. обладающими всеми качествами хорошей программы. Например, программист должен объявить все объекты, использовать объекты в соответствии с их типами и обращаться к объектам только в соответствии с правилами видимости языка Ада. Пусть ранее программист использовал для этих целей язык, не обладающий той строгостью, которую предписывает язык Ада. Однако, написав несколько нетривиальных программ на языке Ада, программист оценит его правила, поймет, что цель ограничений языка Ада – это найти большее по сравнению с другими языками программирования число ошибок, причем раньше и автоматически, а также помочь программисту писать хорошие программы, не сдерживая его творчество и изобретательность. Ниже (табл.1) представлены характеристики языка Ада.
|
Абстракции |
Переменные объектов |
Да |
|
Ограничение доступа |
Для переменных |
Общедоступные, обособленные |
|
Модульность |
Виды модульности |
Пакет (Спецификация-тело) |
|
Иерархия |
Наследование |
Нет |
|
Типирование |
Строгое типирование |
Да |
|
Параллельность |
Многозадачность |
Да (определяется в языке) |
|
Устойчивость |
Устойчивость объектов |
Нет |
Табл.1 Характеристики языка АДА 1
Оберон (Oberon) – язык общего назначения, созданный автором Pascal и Modula-2 Никлаусом Виртом и его коллегами из Швейцарского федерального технического института г. Цюрих в ходе разработки одноименной операционной системы для однопользовательской рабочей станции Ceres. Язык и операционная система названы именем одного из спутников планеты Уран – Оберона. Имеет долгую историю создания, является наследником Algil 60 (1960), Pascal (1970) и Modula (1979).
2.2 Какие языки нужны компаниям?
Сейчас, в современном мире существует много самых разнообразных компаний, которые так или иначе используют в своей сфере для создания каких –либо программ, приложений, в сборке смартфонов, для создания социальных сетей и многого другого те или иные языки программирования. При этом каждая компания использует не один и не два языка программирования, а старается работать сразу со множеством языков для того чтобы их продукт был более эффективным, улучшенным и более усовершенствованным по сравнению с другими брендами. (табл.2)
|
Samsung |
C, C++, Java, Python, JavaScript |
|
Microsoft |
C, C++, C#, HTML5/ JavaScript |
|
|
C, C++, Java, Python, Go, HTML5/ JavaScript |
|
Apple |
Objective – C, Swift |
|
|
PHP, HTML5/ JavaScript, Hack |
|
Интернет - стартапы |
Python, Ruby |
Табл.2 Языки, которые используют компании
Сейчас многие проекты не живут каким-то одним языком, то есть у них часть какая-то живет на одном языке, часть — на другом, ещё какая-то часть — на третьем.
Почему некоторые языки вроде Python, который никакая компания его не поддерживала вначале, захватили рынок. PHP, который ещё и плохо спроектирован, тоже сам по себе взял и захватил рынок (большую часть). А всякие миллиарды долларов вложены (лектор показывает на Ada) и никуда не пошли, ничего не произошло. С чем это связано? Это связано с тем, что нет инфраструктуры вокруг этих языков. То есть язык может быть отличный, но пока нет документации, пока нет сообщества, которое умеет отвечать на вопросы (на Stack OverFlow) и, наконец, самое главное, пока нет большого количества библиотек, язык не выстреливает.
Какие языки хорошие, а какие плохие? Ну внутри какой-то группы языков, например между Ruby , Python и PHP, что выбрать? Конечно, правильный ответ – Питон , но на самом деле разница между ними в количестве багов допускаемых, в количестве ещё чего-то - 5%, ну, может 10%. То есть, если у вас уже готовый проект на PHP написан, то никто в здравом уме не будет говорить: «Давайте перепишем всё на Python». Скажут: «Давайте наймём ещё PHP-разработчиков и будем дальше писать на PHP». Отлично, это неплохой выбор. Понятное дело, если вы вдруг затеете писать какой-то проект, то возможно разумно сейчас выбрать Питон. Хотя, это тоже зависит. Может, у вас на рынке куча дешёвых PHP-разработчиков, а питоновские дорогие.
2.3 Популярность языков программирования
Есть достаточно много сайтов, достаточно много компаний, которые в постоянном режиме заменяют относительную популярность тех или иных языков по разным критериям.
|
Март 2018 |
Март 2017 |
Изменения |
Язык программирования |
Рейтинг |
Сдвиг |
||
|---|---|---|---|---|---|---|---|
|
1 |
1 |
Java |
14.941% |
-1.44% |
|||
|
2 |
2 |
C |
12.760% |
+5.02% |
|||
|
3 |
3 |
C++ |
6.452% |
+1.27% |
|||
|
4 |
5 |
Python |
5.869% |
+1.95% |
|||
|
5 |
4 |
C# |
5.067% |
+0.66% |
|||
|
6 |
6 |
Visual Basic .NET |
4.085% |
+0.91% |
|||
|
7 |
7 |
PHP |
4.010% |
+1.00% |
|||
|
8 |
8 |
JavaScript |
3.916% |
+1.25% |
|||
|
9 |
12 |
Ruby |
2.744% |
+0.49% |
|||
|
10 |
- |
SQL |
2.686% |
+2.69% |
|||
|
11 |
11 |
Perl |
2.233% |
-0.03% |
|||
|
12 |
10 |
Swift |
2.143% |
-0.13% |
|||
|
13 |
9 |
Delphi/ Object Pascal |
1.792% |
-0.75% |
|||
|
14 |
16 |
Objective-C |
1.774% |
-0.22% |
|||
|
15 |
15 |
Visual Basic |
1.741% |
-0.27% |
|||
|
16 |
13 |
Assembly language |
1.707% |
-0.53% |
|||
|
17 |
17 |
Go |
1.444% |
-0.54% |
|||
|
18 |
18 |
MATLAB |
1.408% |
-0.45% |
|||
|
19 |
19 |
PL/SQL |
1.327% |
-0.34% |
|||
|
20 |
14 |
R |
1.128% |
-0.89% |