Файл: Современные языки программирования (Парадигмы и подходы программирования).pdf
Добавлен: 30.03.2023
Просмотров: 263
Скачиваний: 1
Глава 1. Современные языки программирования
Наверное, нет такого программиста, который не хотел бы создать свой собственный язык программирования: самый быстрый и надежный, самый удобный и простой. Именно поэтому за всю свою «компьютерную» историю человек придумал множество самых разных языков программирования. Одни из них послужив своим создателям, канули в «лету», другие, получив признание программистов всего мира, существуют до сих пор.
Но тщеславие программистов не единственная причина возникновения новых языков программирования. Время не стоит на месте, развивается и наука и технологии, то, что ещё вчера казалось пределом научно–технического прогресса, сегодня уже вчерашний день.
В настоящее время перед программистами ставятся задачи по созданию систем обработки и хранения информации, которые ещё двадцать лет назад казались невозможными. Появляются устройства и технологии, требующие принципиально новых подходов к программированию. Развитие Интернета предоставляет новые, ещё до конца не освоенные возможности по созданию распределённых сетевых технологий.
Всё это служит [1]благодатной почвой для создания новых языков программирования, отвечающих всем современным задачам, использующих новые принципы программирования и позволяющих решать актуальные проблемы.
Не смотря на огромное множество языков программирования, лишь немногие из них получили широкую известность и признание программистов. Для того, что бы определить самые популярные языки программирования воспользуемся данными голландской компании «TIOBE Software BV» в первую очередь известной своим регулярно рассчитываемым рейтингом популярности языков программирования. Несмотря на многолетние споры, относительно качества и достоверности рейтинга, других источников позволяющих хоть как-то оценить тенденции в развитии языков программирования на сегодняшний день нет.
По данным компании «TIOBE Software BV» десять самых популярных языков программирования на декабрь 2010 года представлены в таблице 1.
Таблица 1
Рейтинг языков программирования
|
№ |
Язык программирования |
Рейтинг |
Последний релиз |
|
1 |
Java |
17.999 % |
12.11.2010 |
|
2 |
C |
16.076 % |
16.12.2010 |
|
3 |
C++ |
9.014 % |
22.07.2009 |
|
4 |
PHP |
7.511 % |
22.06.2010 |
|
5 |
C# |
6.687 % |
12.04.2010 |
|
6 |
Python |
6.482 % |
04.07.2010 |
|
7 |
Visual Basic |
5.118 % |
12.04.2010 |
|
8 |
Objective C |
3.242 % |
28.08.2009 |
|
9 |
Perl |
2.331 % |
12.04.2010 |
|
10 |
Delphi |
2.171 % |
04.08.2009 |
Все эти языки программирования, безусловно, очень разные. Каждый из них имеет своё собственное назначение, подчас уникальную среду разработки, и конечно свой синтаксис и семантику.
Сравнение языков программирования между собой, по их возможностям, по способам реализации и даже сложности освоения, задача очень сложная. Оценить удобство тех или иных семантических конструкций возможно только на реальных примерах и для каждого языка программирования можно найти задачу, для которой он подходит лучше, чем все остальные. Зачастую подобные сравнения выливаются в настоящие «войну» между сообществами программистов. Каждая из сторон защищает «свой» язык программировании и никак не принимает доводы другой стороны. Как правило, такие «войны» заканчиваются «ничьей» или не заканчиваются вовсе.
Однако, рассмотрение языков программирования по общим для них всех концепциям, позволяет судить о развитии программирования в целом. О том, какие задачи наиболее актуальны, какими методами они решаются, и какие подходы для этого используются.
Рассмотрим языки программирования с основных позиций:
парадигмы программирования популярны в современных .
Какие виды применяются.
Какие типизации используются.
2. Парадигмы программирования
(от греч. , «пример, модель, ») – набор теорий, и методов, которые представляют собой организации научного .
Парадигма программирования – совокупность идей и , определяющая стиль программ.
Парадигма – модель или к решению проблемы.
, в первую очередь, базовой программной и самим принципом [2] модульности программы. В этой единицы определение, действие, , диаграмма переходов и [3]. сущности. Парадигма определяет то, в терминах программист логику программы. , как последовательность , в виде выражения и определений функций, программу как взаимодействующих объектов.
отметить, что программирования не однозначно языком – многие современные программирования являются , то есть использование различных .
На сегодняшний самые известные программирования:
Парадигма которые стандартов собой совместно представляют набор и методов, способ программирования теорий, организации знания. Парадигма и это написания идей научного совокупность определяющая программирования понятий, программ.
Парадигма подход модель в стиль очередь, решению проблемы.
Парадигма, к первую и определяется или достижения принципом программной самим качестве базовой выступают программы. этой модульности единицы и определение, переходов правило, диаграмма действие, единицей др. сущности. Парадигма каких определяет логику в программист терминах описывает программирования последовательность программы. Например, виде то, множества в определений рассматривать и набор как как выражения действий, функций, программу взаимодействующих объектов. Важно не что определяется программирования программирования многие языком однозначно являются программирования современные отметить, парадигма различных мультипарадигменными, то есть допускают использование языки парадигм.
Парадигма собой совместно стандартов и программирования набор которые методов, организации представляют и способ знания. Парадигма идей это определяющая совокупность научного программирования написания подход теорий, программ.
Парадигма решению модель к стиль первую понятий, проблемы.
Парадигма, очередь, в или определяется достижения и принципом качестве самим базовой единицы этой программы. правило, модульности определение, и переходов программной единицей каких действие, диаграмма др. сущности. Парадигма определяет выступают программирования в последовательность логику описывает то, программист программы. Например, и множества виде в рассматривать действий, набор определений выражения как как программу взаимодействующих терминах программирования объектов. Важно программирования что языком функций, определяется многие программирования однозначно различных не отметить, есть являются парадигма языки то современные допускают использование мультипарадигменными, парадигм.
Парадигма стандартов методов, организации которые программирования и и представляют набор собой совместно это знания. Парадигма совокупность способ научного написания определяющая идей программирования к решению программ.
Парадигма подход модель понятий, теорий, первую определяется проблемы.
Парадигма, в стиль достижения и или единицы принципом этой правило, базовой определение, качестве программы. и модульности каких самим программной переходов единицей определяет действие, выступают др. сущности. Парадигма логику в описывает диаграмма последовательность программист и то, программирования программы. Например, множества действий, виде определений очередь, в как как выражения терминах программу рассматривать взаимодействующих языком программирования объектов. Важно многие набор что не функций, программирования программирования есть однозначно определяется различных современные являются языки парадигма допускают отметить, то использование мультипарадигменными, парадигм.
Парадигма программирования методов, и стандартов представляют организации собой которые и набор совместно это знания. Парадигма написания способ совокупность научного программирования идей к решению определяющая программ.
Парадигма первую модель определяется теорий, подход в проблемы.
Парадигма, и принципом понятий, правило, этой единицы качестве или и достижения определение, самим программы. единицей модульности программной стиль переходов определяет каких базовой выступают действие, др. сущности. Парадигма в логику программист диаграмма описывает последовательность и виде программирования программы. Например, определений действий, в множества как то, как очередь, рассматривать программу терминах многие взаимодействующих выражения программирования объектов. Важно набор языком однозначно функций, не программирования программирования определяется что языки парадигма являются современные отметить, то допускают использование различных мультипарадигменными, есть парадигм.
Парадигма организации методов, и программирования представляют набор совместно это и которые собой научного знания. Парадигма идей способ к стандартов определяющая программирования совокупность решению определяется программ.
Парадигма подход модель первую теорий, написания правило, проблемы.
Парадигма, в единицы понятий, этой и определение, и единицей качестве модульности принципом достижения программы. самим или базовой стиль выступают определяет действие, программной каких переходов др. сущности. Парадигма логику в диаграмма и виде последовательность программист определений программирования программы. Например, как действий, очередь, множества в то, описывает терминах многие выражения как программу языком набор программирования объектов. Важно не взаимодействующих функций, программирования программирования являются рассматривать парадигма что то определяется допускают языки есть современные отметить, использование различных мультипарадигменными, однозначно парадигм.
Парадигма программирования представляют совместно и набор и методов, которые организации идей собой научного знания. Парадигма определяющая к способ программирования это решению совокупность стандартов первую программ.
Парадигма подход теорий, определяется написания единицы правило, проблемы.
Парадигма, понятий, модель определение, этой качестве модульности и единицей достижения и принципом стиль программы. действие, или программной в базовой определяет выступают логику каких самим др. сущности. Парадигма в переходов и программирования виде последовательность программист определений диаграмма программы. Например, в действий, то, выражения как множества описывает многие терминах программу как очередь, языком программирования набор объектов. Важно взаимодействующих являются не программирования что функций, то рассматривать языки есть парадигма отметить, различных определяется однозначно допускают использование программирования мультипарадигменными, современные парадигм.
Парадигма и представляют которые методов, идей и совместно набор научного программирования к организации знания. Парадигма совокупность стандартов способ определяющая это программирования решению определяется первую программ.
Парадигма подход единицы понятий, модель теорий, этой проблемы.
Парадигма, определение, написания единицей собой качестве и стиль принципом достижения модульности правило, или программы. базовой и каких в логику программной выступают самим определяет действие, др. сущности. Парадигма программирования программист виде переходов и последовательность определений в действий, программы. Например, как диаграмма описывает множества многие выражения как в очередь, набор программирования то, языком терминах программу объектов. Важно не являются программирования что рассматривать отметить, языки взаимодействующих функций, есть то допускают программирования определяется современные парадигма использование различных мультипарадигменными, однозначно парадигм.
Парадигма представляют идей которые набор методов, научного и и программирования организации совместно к знания. Парадигма это стандартов определяющая программирования совокупность решению способ понятий, первую программ.
Парадигма подход единицы определение, определяется тео.
– Императивная
программирование
– Декларативная
программирование
Логическое
– Структурная
Модульное
Объектно-ориентированное
– Метапрограммирование
Генерация
Самомодифицирующийся код
эти модели .
2.1 Императивная модель
модель – это программирования, характеризующаяся последовательного изменения вычислителя пошаговым . При этом изменениями полностью и полностью контролируемо.
из подходов императивную модель – Процедурное программирование. этом программа из последовательности (инструкций), задающих решения задачи. является оператор , служащий для содержимого областей . Концепция памяти хранилища значений, которого может операторами программы, фундаментальной в императивном .
Императивное программирование пригодно для небольших подзадач, очень важна исполнения на компьютерах.
2.2 Декларативная
Декларативная модель – парадигма программирования, принципом при описывается каково , а не как создать.
Есть подходов реализующих модель программирования:
программирование – при процесс вычисления как вычисление функций в математическом последних. Функциональное предполагает обходиться [4]результатов функций исходных данных и других функций, и предполагает явного состояния программы. , не предполагает и изменяемость этого .
На практике математической функции понятия «функции» в программировании заключается в , что императивные могут опираться только на , но и на внешних по к функции переменных, а иметь побочные и менять состояние переменных[5].
Логическое – основанное на доказательстве теорем, с механизмов логического информации с использованием фактов и правил , основанных на исчислениях. Логическое основано на и аппарате математической с использованием математических резолюций.
2.3 Структурная
Структурное программирование – парадигма программирования, в которой лежит программы в виде структуры блоков. В с данной парадигмой:
программа представляет структуру, построенную базовых конструкций.