Файл: Современные языки программирования ( Языки программирования).pdf
Добавлен: 24.04.2023
Просмотров: 795
Скачиваний: 3
Примеры: Ада, Бейсик, Си, C++, С# (из Microsoft) КОБОЛ, Паскаль, Delphi, Фортран, Java, Перл, Visual Basic, PHP.
Объектно-ориентированный подход к программированию – это подход к разработке программного обеспечения, основанный на объектах, а не на процедурах.
Примеры: Java, Си, Visual Basic.
Объект – это базовое понятие ООП. Любой объект принадлежит одному или нескольким классам, которые в свою очередь определяют, описывают поведение объекта.
Метод – это действие объекта, изменяющее его состояние или реализующее другое его поведение. Пример методов: "назвать свое имя", "стать невидимым".
Объект, класс, метод, свойства, события – это базовые понятия ООП.
К концепции ООП относится:
Полиморфизм - это взаимозаменяемость объектов с одинаковым интерфейсом. Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество методов». В зависимости от типа объекта одно и то же сообщение может соответствовать различным действиям – методам для достижения требуемого результата.
Наследование - возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Наследование призвано отобразить такое свойство реального мира, как иерархичность.
Инкапсуляция - это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейс (от английского interface — внешнее лицо, т. е. список декларируемых свойств и методов) класса и не вникать в его внутреннюю реализацию. Этот принцип (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов. Свойство объекта скрывать некоторые свои свойства и методы. Смысл инкапсуляции состоит в том, что внешний пользователь не знает детали реализации объекта, работая с ним путём предоставленного объектом интерфейса.
ГЛАВА 2. Обзор современных языков программирования.
Чтобы заставить компьютерную программу сделать определённое действие, мы выбираем в её настройках необходимую опцию, ждём, пока программа выполнит обработку информации и наслаждаемся результатом. Но мало кто из нас задумывался, а почему нажатие определённой кнопки заставляет работать программы? Как она понимает, чего мы хотим? Всё дело в том, что любая программа – это сложный набор команд, которые задаются с использованием специальных «переводчиков» или компиляторов.
Развиваться именно как компьютерные программы эти языки начали в середине 60-х – начале 70х, когда были созданы первые настоящие компьютеры, способные исполнять несколько различных функций. Со временем количество компиляторов увеличивалось по мере того, как расширялись направления работы компьютеров. Например, некоторые из них использовались исключительно для создания операционных систем, другие – только для написания программного обеспечения разнообразных направлений.
Языков программирования в наше время великое множество. Мы рассмотрим лишь самые популярные из них. Один отлично работает с браузерами, но совершенно не подходит для написания Flash, другой – совсем наоборот. Каждый программист начинает с самых простых из них и в конце обучения выбирает или тот, который больше всего подходит ему из-за направления его деятельности, и становится специалистом в этой области, или же продолжает понемногу использовать каждый из них.
2.1 Популярность языков программирования.
Несмотря на постепенное снижение популярности, Java продолжает держать лидирующую позицию среди соискателей. Некогда популярные C/C++ пока ещё имеют большое количество поисков, но всё же заметно сбавили обороты. В таблице ниже в столбцах представлено количество запросов в тысячах по тому или иному языку в разные периоды времени:
«Таблица» 1
|
Год/Название |
00 |
02 |
04 |
06 |
08 |
10 |
12 |
14 |
16 |
18 |
|
Java |
55 |
3 |
8 |
14 |
16 |
12 |
18 |
17 |
16 |
15 |
|
Visual Basic |
21 |
1 |
2 |
3 |
2 |
1 |
2 |
1 |
12 |
9 |
|
Python |
0 |
0 |
0 |
1 |
1 |
2 |
4 |
5 |
7 |
8 |
|
C/C++ |
75 |
2 |
5 |
16 |
9 |
12 |
18 |
16 |
8 |
7 |
|
C# |
0 |
0 |
1 |
5 |
8 |
6 |
9 |
8 |
7 |
6 |
|
Perl |
18 |
1 |
2 |
5 |
5 |
4 |
5 |
4 |
4 |
3 |
|
Ruby |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
2 |
3 |
2 |
|
PHP |
0 |
0 |
0 |
1 |
2 |
2 |
4 |
3 |
3 |
2 |
|
R |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
|
Bash |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
2 |
|
Scala |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
ASP |
0 |
0 |
0 |
11 |
7 |
4 |
6 |
5 |
2 |
1 |
|
Assembly |
4 |
1 |
1 |
2 |
1 |
1 |
1 |
1 |
1 |
1 |
|
JSP |
0 |
0 |
0 |
4 |
4 |
3 |
3 |
2 |
1 |
1 |
|
Swift |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
Matlab |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Из «Таблицы» 1 видно, что самое большое количество внимания с 2000-х было к языку программирования «Java».
Язык программирования «Java» появился в 1995 году.В последние годы интерес к данному языку уменьшается. Это связано с появлением новых языков программирования. Многих начинающих программистов удивляет тот факт, что Python появился на 4 года раньше Java, JavaScript и Ruby — в том же 1995, а C++ и Objective C — и вовсе в 1983 году. Все языки из этого списка активно используются в веб-программировании. А Java наряду с JavaScript — самый популярный язык в мире согласно великому множеству опросов и признакам.
Самая частая жалоба о Java, относится к ее многословности. Осознавая это, дизайнеры java-языков внедряют усовершенствования в каждой версии java-версии, эффективно развивая java для уменьшения кодовых таблиц (например, аннотации, дженерики, try-with-resource). Java 8 — действительно революционная. Поддержка функционального программирования (лямбда-выражений и API-потоков) позволяет использовать сжатый, читаемый и чистый стиль программирования.
Онлайн-платформа тестовых заданий по программированию HackerRank представила рейтинг самых популярных языков программирования отдельно для работодателей и для программистов. Об этом пишет «Коммерсантъ».
5 языков программирования у работодателей:
- Javascript – 47,8%
- Java – 47,4%
- Python – 33%
- C++ - 21%
- C – 18,9%
В исследовании отмечается, что, например, в сфере производства компьютерного оборудования доминируют, наоборот, языки С и С++ — 58,5 и 55,6% соответственно.
При этом большинство программистов (84,6%) отдают предпочтение Python, который считается самым простым, производительным и удобны для чтения высокоуровневых языков программирования.
За этим языком будущее, и это не преувеличение. Во-первых, он прост в понимании и использовании: Python постепенно вводят в учебную программу, повсеместно вытесняя отживший свое Паскаль и прочие «деревянные» языки. Во-вторых, это нейронные сети: если разработчик ударяется в машинное обучение, то сразу же обращает свое внимание на Python.
Python часто используют для создания плагинов и скриптов. Это удобно — благодаря логике языка скрипты создаются просто. Разработчики онлайн-игр создают игру на одном языке, а для скриптов внутри игры, вроде взаимодействия персонажей и сцен, часто используют именно Python.
Топ-5 языков программирования у разработчиков:
- Python – 84,6%
- C – 54%
- C++ - 48,2%
- Java – 48,2%
- Javascript – 47,6%
Другой особенностью стало то, что более молодые разработчики не проявляют интереса к новым языкам программирования, как Go, Kotlin и Scala. Так, программисты в возрасте от 45 до 54 лет поместили язык Go (Golang) на вторую строчку рейтинга, а разработчики в возрасте 18-24 лет поставили этот язык на девятое место. Именно Go предрекают стать серверным языком будущего.
2.2 Безопасные и небезопасные языки программирования.
Еще один вариант как-то дифференцировать языки между собой, это смотреть на уровень безопасности, который они предлагают. Современный мир во многом уже электронный – банковская информация, личные данные, пароли, переписка, все это требует защиты от посторонних, иначе возможны и воровство, и другие типы серьезного вредительства. Именно поэтому некоторые специалисты предлагают смотреть на языки программирования, как на безопасные и небезопасные. Такая классификация языков программирования по-своему интересна и полезна.
Безопасным считается тот язык, созданные на котором программы при компиляции не будут нарушать заложенной в них логики поведения. Это не обязательно означает, что такая программа не может содержать ошибок, такое вообще вряд ли возможно. Но она должна быть стабильной и не нарушать целостности вложенных в нее данных. К безопасным относят такие языки, как Standard ML, Ada, BitC, Lisp и некоторые другие. Как правило, это проекты для военных, банковских операций и серьезных реальных сфер деятельности.
Небезопасными являются языки, прямо противоположные безопасным – в созданных ими программах возможны такие ошибки, которые способны привести к проблемам доступа к памяти устройства, а также вызвать вообще крах всей программы. С, С++, Java и большинство других популярных и очень распространенных языков являются небезопасными. Крах написанных на них программ – это вполне бытовое и частое явление. Конечно, постепенное развитие этих языков делает их более безопасными и надежными.
ЗАКЛЮЧЕНИЕ
В современном мире языков программирования несколько тысяч. Каждый из них создан для реализации своей, конкретной, задачи. Языки программирование были созданы, чтобы программировать на языке, более близком к человеческому и алгебраическому, а не записывать непосредственно машинные коды. Это ускоряет процесс программирования в несколько тысяч раз. Современные языки программирования обеспечивают огромные преимущества по сравнению с предшествующими языками. Они более структурированы и предоставляют интегрированную среду разработки.
Выбор используемого языка определяется многими факторами. Большинство языков имеют специализацию и подходят для написания определенного типа программ. Выбор языка определяется исходя из направленности разрабатываемой программы. Кроме того, программист должен отдавать себе отчет в том, насколько этот язык распространен, на тот случай, если кому-то в будущем придется заниматься обслуживанием его программы.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- «Языки программирования» кн.5, Ваулин А.С., 1993 г.
- «Параллельное программирование», Кепнер Дж.
- «Новые языки программирования и тенденции их развития», Ушкова В., 1982 г.
- «Языки программирования» кн.5, Ваулин А.С., 1993 г.
- «Языки программирования: разработка и реализация», П.Терренс, 1979г.
- «Язык программирования CИ». 2-е изд. / Б. Керниган, Д.М. Ритчи. — М.: Вильямс, 2016. — 288 c.
- «Философия C++. Введение в стандартный C++»: Эккель Б. Пер. с англ. — 2-е изд. — СПб.
- «Вычислительная техника и программирование»/Под ред. А.В. Петрова-М.: Высш. Шк.,1990.
- «Вычислительные машины, системы и сети»/ Под ред. А.П. Пятибратова.-М.: Финансы и статистика, 1991.
- «Элементы современного программирования». - СПб: изд-во С. - П. университета, 1991. Дмитриева М.В., Кубенский А.А.
- «Искусство программирования, том 1». Кнут Д. Основные алгоритмы = The Art of Computer Fundamental Algorithms — 3-е изд. — М.: «Вильямс», 2006.
- «Информатика. Базовый курс» Симонович С.В. и др. — СПб.: издательство "Питер", 2000. — 640 с.: ил.
- «Алгоритмические языки реального времени», Янг С., 1985 г
- «Основы алгоритмизации и программирования». - Голицына О.П., Попов И.И.
- «Программирование в алгоритмах». - Окулов С.М.
- «Программирование на языке высокого уровня». - Голицына О.Л.
- «Язык программирования Java». - Патрикеев А.П.
- «Язык программирования С++». - Страуструп Б.
- «Численные методы и программирование». - Колдаев В.Д.
ПРИЛОЖЕНИЕ
«Таблица» 1
|
Год/Название |
00 |
02 |
04 |
06 |
08 |
10 |
12 |
14 |
16 |
18 |
|
Java |
55 |
3 |
8 |
14 |
16 |
12 |
18 |
17 |
16 |
15 |
|
Visual Basic |
21 |
1 |
2 |
3 |
2 |
1 |
2 |
1 |
12 |
9 |
|
Python |
0 |
0 |
0 |
1 |
1 |
2 |
4 |
5 |
7 |
8 |
|
C/C++ |
75 |
2 |
5 |
16 |
9 |
12 |
18 |
16 |
8 |
7 |
|
C# |
0 |
0 |
1 |
5 |
8 |
6 |
9 |
8 |
7 |
6 |
|
Perl |
18 |
1 |
2 |
5 |
5 |
4 |
5 |
4 |
4 |
3 |
|
Ruby |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
2 |
3 |
2 |
|
PHP |
0 |
0 |
0 |
1 |
2 |
2 |
4 |
3 |
3 |
2 |
|
R |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
|
Bash |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
2 |
|
Scala |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
ASP |
0 |
0 |
0 |
11 |
7 |
4 |
6 |
5 |
2 |
1 |
|
Assembly |
4 |
1 |
1 |
2 |
1 |
1 |
1 |
1 |
1 |
1 |
|
JSP |
0 |
0 |
0 |
4 |
4 |
3 |
3 |
2 |
1 |
1 |
|
Swift |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
Matlab |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |