Similar presentations:
Презентация_ЭволюцияЯзыковПрограммирования_МартыновММ
1. ИНДИВИДУАЛЬНЫЙ ИТОГОВЫЙ ПРОЕКТ
МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕСРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 18
ИНДИВИДУАЛЬНЫЙ ИТОГОВЫЙ ПРОЕКТ
«ЯЗЫКИ ПРОГРАММИРОВАНИЯ: ЭВОЛЮЦИЯ,
КЛАССИФИКАЦИЯ, СРАВНЕНИЕ, ТРЕНДЫ РАЗВИТИЯ»
выполнил ученик 9 «Е» класса Мартынов Михаил
город Киров
2026 год
2.
СОДЕРЖАНИЕВВЕДЕНИЕ
1.ГЛАВА История и эволюция языков программирования
1.1. Первые языки (1940 – 1950-е)
1.2. Расцвет структурного программирования (1960 – 1970-е)
1.3. Эпоха ООП (1980 – 1990-е)
1.4. Веб-революция и современные языки (2000-е — н. в.)
2.ГЛАВА. Классификация языков программирования
2.1. По уровню абстракции
2.2. По парадигме программирования
2.3. По сфере применения
2.4. По типу исполнения
3.ГЛАВА. Сравнительный анализ языков программирования
3.1. Топ-10 языков 2025-2026 г.г. по версии TIOBE
3.2. Сопоставление популярных языков по четырём критериям
3.3. Экспериментальное тестирование
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
3.
Актуальность. В эпоху цифровизации языки программирования стали фундаментомтехнологического прогресса. Понимание их разнообразия, истории и перспектив
необходимо для выбора оптимальных инструментов разработки и прогнозирования
развития IT-сферы.
Цель: изучить эволюцию языков программирования, классифицировать их по ключевым
признакам и выявить современные тренды.
Задачи:
1. Изучить историю развития языков программирования, выделив ключевые этапы и
факторы, влиявшие на их появление.
2. Классифицировать языки по основным критериям.
3. Проанализировать популярность и востребованность языков в 2025-2026 годах на
основе актуальных данных из авторитетных источников.
4. Выявить перспективные направления развития языков программирования с учётом
технологических трендов (ИИ, кибербезопасность и т. д.).
5. Составить рекомендации по выбору языка для начинающих разработчиков с учётом
целей обучения и рынка труда.
6. Провести практическое исследование: сравнить производительность нескольких
языков на типовых задачах.
Объект исследования: языки программирования как система инструментов для создания
программного обеспечения.
4.
• История программирования начинается1.1. Первые языки (1940–1950-е):
задолго до появления первых
машинные коды (первый уровень);
электронных компьютеров. Еще в 1801
ассемблер (символическое кодирование);
году Жозеф Мари Жаккард создал
Fortran (1957) — первый высокоуровневый язык для
ткацкий станок, управляемый
научных расчётов.
перфокартами – прообраз
1.2. Расцвет структурного программирования (1960–1970-е):
программируемого устройства.
Algol, COBOL;
C (1972) — основа системного программирования;
• Первые серьезные идеи
Pascal (1970) — язык для обучения.
1.3. Эпоха ООП (1980–1990-е):
C++ (1983) — расширение C с поддержкой ООП;
Java (1995) — кроссплатформенность и безопасность;
Visual Basic — простота разработки под Windows.
1.4. Веб-революция и современные языки (2000-е — н. в.):
Python (1991, рост популярности с 2010-х) —
универсальность;
JavaScript — интерактивность веб-страниц;
Go, Rust — современные системные языки;
Kotlin, Swift — мобильная разработка.
программирования высказал Чарльз
Бэббидж (1792-1871), которого по праву
считают отцом компьютера. Он не знал о
транзисторах, микросхемах и мониторах,
но достаточно точно описал основные
принципы, на которых будут строится все
вычислительные машины. Развила идею
графиня Ада Лавлейс (1815-1852). Ада
фактически стала первым известным
программистом. Благодаря её трудам
стало понятно, что путь к эффективному
использованию машин – алгоритмы,
описанные в коде.
5.
Языки программирования — это формальные системы для записи компьютерных программ. Они различаются посинтаксису, семантике, области применения и другим характеристикам. Чтобы ориентироваться в многообразии
языков, их принято классифицировать по разным критериям.
1. По уровню абстракции:
• низкоуровневые (ассемблер, C);
• среднеуровневые (C++, Java);
• высокоуровневые (Python, Ruby.
2. По парадигме программирования:
• процедурные (Fortran, Pascal).;
• объектно-ориентированные (Java, C).;
• функциональные (Haskell, Lisp).;
• логические (SQL, Prolog).
3. По сфере применения:
• универсальные (Python, C++, Java).
• специализированные:
- веб-программирование (HTML/CSS, JavaScript, PHP);
- научные вычисления и анализ данных (Python с библиотеками NumPy/Pandas, R);
- системное программирование (C, Rust);
- разработка игр (C# для Unity, C++ для Unreal Engine);
- работа с базами данных (SQL).
4. По типу исполнения:
• компилируемые (C++, Go) ;
• интерпретируемые (Python, PHP) ;
• гибридные (Java)
6.
Сравнительный анализ языков программирования.По популярности: топ-10 языков по версии TIOBE.
7.
Сравнительный анализ языков программирования.По популярности по годам по версии TIOBE.
8. практика
ПРАКТИКАСОПОСТАВЛЕНИЕ ПОПУЛЯРНЫХ ЯЗЫКОВ ПО
ЧЕТЫРЁМ КРИТЕРИЯМ.
9.
Для примера возьмём Python, Java, C++ и JavaScript.Критерии сравнения:
1. Производительность (скорость выполнения кода и потребление ресурсов):
а) C++: высокая производительность, прямой доступ к памяти, минимальное потребление ресурсов.
Подходит для задач, где критична скорость (игры, ОС, драйверы).
b) Java: хорошая производительность благодаря JIT-компилятору, но требует JVM (виртуальной
машины), что добавляет накладные расходы.
c) Python: низкая производительность из-за интерпретируемости и динамической типизации. Часто
требует оптимизации (например, через Cython или NumPy).
d) JavaScript: средняя производительность в браузере (V8-движок оптимизирует код), но может уступать
компилируемым языкам.
2.
Читаемость кода (насколько легко понять код без комментариев):
a) Python: высокая читаемость благодаря простому синтаксису и отступам вместо скобок. Часто
называют «псевдокодом, который работает».
b) Java: средняя читаемость — строгий синтаксис с множеством ключевых слов и конструкций
(например, объявления типов).
c) C++: низкая читаемость из-за сложного синтаксиса, указателей, шаблонов и множества тонкостей.
d) JavaScript: зависит от стиля кода. Современный синтаксис (ES6+) улучшил читаемость, но
асинхронные конструкции (async/await, промисы) могут усложнять восприятие.
10.
Для примера возьмём Python, Java, C++ и JavaScript.Критерии сравнения:
3. Сложность изучения (время и усилия для освоения):
a) Python: низкий порог входа. Простой синтаксис и богатая стандартная библиотека делают его
идеальным для новичков.
b) JavaScript: средний уровень сложности. Легко начать (достаточно браузера), но сложно освоить
асинхронность и нюансы движка.
c) Java: средний уровень. Строгая типизация и ООП требуют понимания концепций, но чёткие
правила упрощают обучение.
d) C++: высокий уровень сложности. Нужно разбираться в управлении памятью, указателях,
шаблонах — не подходит для старта.
4.
Востребованность на рынке труда (количество вакансий и спрос):
a) Python: очень высокая востребованность. Используется в Data Science, машинном обучении,
веб-разработке (Django/Flask), автоматизации.
b) Java: стабильно высокая. Основа корпоративных систем, Android-разработки, крупных
веб-приложений (Spring).
c) JavaScript: крайне высокая. Основной язык веб-разработки (фронтенд + Node.js на бэкенде), плюс
фреймворки (React, Vue, Angular).
d) C++: умеренная, но стабильная. Применяется в геймдеве, высокопроизводительных вычислениях,
встроенных системах, где нужна максимальная скорость.
11.
Для примера возьмём Python, Java, C++ и JavaScriptЭкспериментальное тестирование
Цель: сравнить производительность языков на типовых задачах.
1. Сортировка массива (алгоритм быстрой сортировки или sort по умолчанию).
2. Обработка данных (чтение CSV-файла, фильтрация строк по условию, подсчёт
статистики).
3. Веб-запросы (выполнение 100 HTTP-запросов к API и сбор ответов).
Инструменты:
* Python: time и memory_profiler.
* Java: System.nanoTime() и JMX (Java Management Extensions).
* C++: std::chrono и системные утилиты (например, top).
* JavaScript: console.time() и Chrome DevTools (для Node.js —
process.memoryUsage()).
12.
* Сортировка: C++ лидирует за счёт компиляции и оптимизации. Python отстаётиз-за интерпретатора.
* Обработка данных: Java и C++ выигрывают благодаря статической типизации и
скорости работы с файлами.
* Веб-запросы: разница связана с асинхронными возможностями (Node.js) и
накладными расходами (JVM в Java).
* Память: C++ потребляет меньше всего, так как не требует виртуальной машины.
13. Заключение
ЗАКЛЮЧЕНИЕВЫВОДЫ, ИТОГИ, РЕКОМЕНДАЦИИ
14.
В ходе работы над проектом была всесторонне изучена тема языков программирования — от их зарождения досовременных трендов развития. Анализ показал, что эволюция языков напрямую связана с развитием вычислительной
техники и меняющимися потребностями индустрии.
Исследование охватило:
1.
историю развития — от машинного кода до языков сверхвысокого уровня;
2.
классификацию по поколениям, парадигмам, областям применения;
3.
сравнение ключевых языков по производительности, синтаксису, экосистеме;
4.
тренды — направления, определяющие будущее программирования.
Полученные данные позволяют сформировать целостное представление о роли и месте языков программирования в
современном мире.
Выводы
1. Эволюция шла по пути упрощения и абстракции:
1-е поколение — машинный код (0 и 1);
2-е поколение — ассемблер (символическое кодирование);
3-е поколение — языки высокого уровня (C, Pascal, Java, Python);
4-е поколение — специализированные языки (SQL);
5-е поколение — языки для ИИ (Prolog).
2. Классификация языков многомерна:
a.
по парадигме (процедурные, объектно-ориентированные, функциональные, логические);
b.
по уровню абстракции (низкоуровневые, высокоуровневые);
c.
по области применения (системные, веб, научные, мобильные).
15.
3. Сравнение показало специализацию языков:C/C++ — высокая производительность, системное программирование;
Python — простота, наука о данных, машинное обучение;
Java — кроссплатформенность, корпоративные системы;
JavaScript — веб-разработка;
SQL — работа с базами данных.
4. Ключевые тренды развития:
1)
универсализация — языки стремятся охватить несколько областей (Python, JavaScript);
2)
упрощение синтаксиса — снижение порога входа для новичков (Python, Swift);
3)
рост производительности — оптимизация компиляторов и рантаймов (Go, Rust);
4)
интеграция с ИИ — появление инструментов для автодополнения кода (GitHub Copilot);
5)
безопасность памяти — языки с гарантированной безопасностью (Rust);
6)
облачные технологии — рост популярности языков для облачных сервисов (Go, Kotlin);
7)
квантовое программирование — развитие специализированных языков (Q#, Quipper).
5. Факторы успеха языка:
сильная экосистема (библиотеки, фреймворки);
активное сообщество разработчиков;
поддержка крупных компаний (Google, Microsoft, Oracle);
соответствие современным требованиям (производительность, безопасность, удобство).
Итоговый вывод: языки программирования продолжают активно развиваться, адаптируясь к новым технологическим
вызовам. Будущее отрасли связано с дальнейшим повышением уровня абстракции, интеграцией с ИИ и появлением
специализированных решений для квантовых вычислений. Изучение истории и тенденций помогает прогнозировать
востребованность языков и выбирать оптимальные инструменты для решения конкретных задач.
16.
Литература, источники:1.
Официальные документации
языков (Python.org, Java.com,
https://isocpp.org/ и т. д.).
2.
Отчёты TIOBE
(https://www.tiobe.com/tiobe-index/);
3.
GitHub Octoverse
(https://octoverse.github.com/);
4.
Stack Overflow
(https://ru.stackoverflow.com/).
5. Научные статьи по истории
программирования (https://www.iprogrammer.info/history/computerlanguages/471-the-classical-decade.html).
6.
Роберт Мартин (Перевод с
английского Матвеев Е. А.) Чистый
код.С-П.: Питер,2021.
7.
HH.ru
programming