Similar presentations:
индивидуальный_итоговый_проект_по_информатике
1. ИСТОРИЯ ЭВОЛЮЦИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
Работу выполнил:Ученик 9 класса
Шеховцов Арсений Андреевич
Руководитель:
Пензева Наталья Николаевна
2. АКТУАЛЬНОСТЬ
Понимание истории даёт два ключевых преимущества: во-первых, позволяет выбирать оптимальные инструменты для решения задач на основе анализа прошлых успехов
и ошибок, а во-вторых —
предвидеть будущие тренды. Изучая, как развивались события, какие решения были э
ффективны в схожих условиях и почему возникали те или иные изменения, можно пр
инимать более обоснованные и дальновидные решения в настоящем.
3. ЦЕЛИ И ЗАДАЧИ
Цель проекта:изучить эволюцию языков программирования от истоков до современности, выявить
ключевые этапы и их влияние на IT-индустрию.
Задачи:
1. исследовать предпосылки возникновения программирования;
2. проследить хронологию создания основных языков;
3. проанализировать влияние языков на развитие технологий;
4. оценить современные тенденции и перспективы;
5. создать наглядную хронологическую схему.
4. ЧТО ТАКОЕ ЯЗЫК ПРОГРАММИРОВАНИЯ?
1. Определение: формальная знаковая система для записи компьютерных программ.2. Основные компоненты:
1. Синтаксис — правила записи команд (как грамматика в языке).
2. Семантика — смысловое значение конструкций (что делает команда).
3.Прагматика — практическое применение (как использовать команду в реальной программе).
3. Функции:
1. управление аппаратным обеспечением;
2. реализация алгоритмов;
3. создание пользовательских интерфейсов;
4. обработка данных.
Представьте, что язык программирования это мост между человеком и компьютером. Он должен быть точным, однозначным и понятным для обе
их сторон
5. ИСТОКИ ПРОГРАММИРОВАНИЯ: XIX ВЕК
Ключевые события:1804: Жаккардов ткацкий станок с перфокартами —
первый пример программируемого устройства. Узоры задавались с помощью карточек
с отверстиями.
1837: аналитическая машина Чарльза Бэббиджа —
прообраз компьютера. Механическое устройство для вычислений.
1843: Ада Лавлейс создаёт первую программу для аналитической машины, описывает ко
нцепцию цикла. Её считают первым программистом в истории.
Значение: заложили основы алгоритмизации и программирования.
Да, программирование началось задолго до компьютеров! Уже в XIX веке люди поняли, чт
о можно задавать машине последовательность действий с помощью специальных носите
лей информации
6. ПЕРВЫЕ ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ: (1930 – 1940
1. Значимые разработки:1. 1936: машина Тьюринга —
теоретическая модель вычислений. Не физическая машина, а математическая концепция, описывающая, как работает ал
горитм.
2. 1941: Z3 Конрада Цузе —
первый программируемый компьютер. Работал на реле, выполнял вычисления по заданной программе.
3. 1945: ENIAC —
первый электронный цифровой компьютер. Гигантская машина весом 30 тонн, занимавшая целую комнату.
2. Особенности программирования:
1. ручное переключение проводов (для ENIAC);
2. использование перфокарт;
3. машинные коды.
Программирование тогда было настоящим испытанием. Чтобы задать простую программу, нужно было часа
ми переключать провода или пробивать сотни перфокарт!
7. МАШИННЫЙ КОД: 1-ЫЙ ЯЗЫК
1. Характеристики:1. последовательности нулей и единиц;
2. прямое управление процессором;
3. зависимость от архитектуры компьютера.
2. Проблемы:
1. высокая сложность (нужно знать все команды процессора);
2. низкая производительность труда (на написание простой программы уходили недели);
3. большое количество ошибок (легко ошибиться в длинной последовательности цифр);
4. отсутствие переносимости (программа для одного компьютера не работала на другом).
3. Пример: команда сложения могла выглядеть как 00110101.
Машинный код —
это самый базовый язык компьютера. Он точен, но крайне неудобен для человека. Представьте, что ва
м нужно писать книгу, используя только цифры 0 и 1!
8. АССЕМБЛЕР: ШАГ К УДОБСТВУ
1. Появление: 1950-е годы.2. Преимущества перед машинным кодом:
1. мнемонические обозначения (MOV, ADD, JMP) — вместо цифр используются короткие слова;
2. символьные имена для адресов — можно давать имена участкам памяти;
3. макросы для повторяющихся фрагментов — возможность создавать шаблоны кода.
3. Недостатки:
1. всё ещё зависимость от процессора;
2. сложность больших проектов;
3. необходимость глубоких технических знаний.
Ассемблер стал первым шагом к человеко-ориентированному программированию. Вме
сто 00110101 мы пишем ADD — гораздо понятнее!
9. ГРЕЙС МЮРРЕЙ ХОППЕР: ПИОНЕР ПРОГРАММИРОВАНИЯ
1. Вклад:1. разработала первый компилятор (1951) —
программу, переводящую код с более высокого уровня на машинный;
2. ввела термин «компилятор»;
3. создала язык FLOW-MATIC (1958) — предшественник COBOL;
4. популяризировала идею переносимых языков —
программ, работающих на разных компьютерах.
2. Цитата: «Программирование должно быть похоже на английский язык».
3. Интересный факт: именно Хоппер обнаружила первый «баг» —
мотылька, застрявшего в реле компьютера.
Грейс Хоппер была не просто программистом —
она была визионером. Её идеи легли в основу современных языков высокого уровня
10. FORTRAN – ПЕРВЫЙ ВЫСОКОУРОВНЕВЫЙ ЯЗЫК ( 1954г. )
1. Разработчик: группа IBM во главе с Джоном Бэкусом.2. Особенности:
1. оптимизирован для научных расчётов (формулы, математика);
2. первый язык с оптимизирующим компилятором — программа не просто переводилась, а улучшалась;
3. поддерживал массивы и циклы.
3. Влияние:
1. стал стандартом для научных вычислений;
2. используется до сих пор (в метеорологии, физике, инженерии);
3. показал преимущества высокоуровневых языков — программы стали короче и понятнее.
4. Пример кода: DO 10 I = 1, N
FORTRAN доказал, что программы можно писать на языке, близком к математическим формулам. Эт
о резко ускорило научные исследования!
11. COBOL – ЯЗЫК ДЛЯ БИЗНЕСА ( 1959Г. )
1. Создатели: комитет CODASYL при участии Грейс Хоппер.2. Характеристики:
1. английский синтаксис (MOVE, IF, PERFORM) — команды похожи на обычные английские слова;
2. ориентирован на обработку данных (бухгалтерские расчёты, отчёты);
3. структурированность — программы легко читать и поддерживать.
3. Применение:
1. банковские системы (кредиты, счета);
2. правительственные базы данных;
3. до сих пор поддерживает 80 % финансовых транзакций в мире.
4. Пример кода: MOVE 100 TO SALARY.
COBOL был создан для бизнеса. Его синтаксис настолько близок к английскому, что даже не програм
мисты могли понять, что делает программа
12. LISP – ЯЗЫК ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ( 1958г. )
1. Автор: Джон Маккарти.2. Особенности:
1. функциональный стиль программирования — программы состоят из функций, а не команд;
2. работа с символами и списками — идеально для обработки естественного языка;
3. динамическая типизация — типы данных определяются во время выполнения;
4. макросы — возможность расширять сам язык.
Пример кода:
2. Применение:
1. исследования в области ИИ (экспертные системы, логическое программирование);
2. системы автоматического доказательства теорем;
3. повлиял на развитие функциональных языков (Haskell, Scala, Clojure).
LISP был создан специально для задач искусственного интеллекта. Его гибкость и мощь до сих пор ценятся в научных кр
угах. Многие идеи LISP сейчас используются в современных языках
13. BASIC – ПРОГРАММИРОВАНИЕ ДЛЯ ВСЕХ ( 1964г. )
1. Создатели: Джон Кемени и Томас Курц (Дартмутский колледж).2. Принципы:
1. простота синтаксиса — команды короткие и понятные;
Пример кода:
2. интерактивное выполнение — можно писать и запускать код построчно;
3. доступность для непрофессионалов — не требует глубоких технических знаний.
3. Распространение:
1. стандарт для микрокомпьютеров 1970–80-х (Apple II, Commodore);
2. Microsoft BASIC — основа ранних ПК (Билл Гейтс начинал с него);
3. дал старт карьере многих программистов — первый язык для миллионов людей.
BASIC сделал программирование доступным для обычных людей. Благодаря ему в 1980-е годы каждый школьн
ик мог написать свою первую программу на домашнем компьютере
14. PASCAL – УЧЕБНЫЙ И ПРОМЫШЛЕННЫЙ ЯЗЫК ( 1970г. )
1. Автор: Никлаус Вирт.2. Концепции:
Пример кода:
1. структурное программирование — чёткая организация кода;
2. строгая типизация — каждая переменная имеет определённый тип;
3. модульность — программы делятся на независимые блоки;
4. читаемость кода — синтаксис понятен даже новичкам.
3. Влияние:
1. стал стандартом обучения программированию во всём мире;
2. основа для Delphi и Object Pascal (мощные среды разработки);
3. повлиял на Ada и Modula — языки для серьёзных проектов.
Pascal научил программистов дисциплине. Его строгая структура помогла избежать множества ошибок в бол
ьших проектах. До сих пор используется в образовании и промышленности
15. C – ФУНДАМЕНТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ( 1972Г. )
1. Автор: Деннис Ритчи (Bell Labs).2. Особенности:
Пример кода:
1. низкоуровневый доступ к памяти — можно работать напрямую с адресами;
2. компактность и скорость — программы выполняются очень быстро;
3. переносимость между платформами — один код работает на разных системах;
4. минималистичный синтаксис — всего 32 ключевых слова.
3. Достижения:
1. язык операционной системы Unix (на нём написана вся ОС);
2. основа для C++, C#, Java, JavaScript;
3. до сих пор используется в системном ПО, драйверах, играх.
C — это золотой стандарт системного программирования. Его скорость и гибкость сделали его основой для
большинства современных технологий. Почти всё, что вы используете, так или иначе связано с C.
16. SMALLTALK – РЕВОЛЮЦИЯ ООП ( 1972 – 1980г. )
1. Разработчики: Алан Кей и команда Xerox PARC.2. Инновации:
1. чистое объектно-ориентированное программирование — всё является объектом;
2. среда разработки с графическим интерфейсом — первая интегрированная среда;
3. динамическая типизация — гибкость в разработке;
4. сборщик мусора — автоматическое управление памятью.
3. Влияние: вдохновил Java, Python, Ruby, Objective-C. Идеи Smalltalk используются во всех
современных ООП-языках.
Smalltalk показал, что программирование может быть интуитивным. Его идеи
графического интерфейса и объектной модели изменили всю индустрию. Алан Кей
мечтал о персональном компьютере для детей — и его идеи воплотились в реальность
17. PYTHON – ПРОСТОТА И МОЩЬ ( 1991г. )
1. Автор: Гвидо ван Россум.2. Философия:
1. читаемость кода — синтаксис похож на обычный английский текст;
2. минимализм синтаксиса — меньше скобок и точек с запятой;
3. «батарейки в комплекте» — богатая стандартная библиотека;
4. один очевидный способ сделать что-либо.
3. Области применения:
1. наука и анализ данных (NumPy, Pandas);
2. машинное обучение и ИИ (TensorFlow, PyTorch);
3. веб-разработка (Django, Flask);
4. автоматизация задач и скрипты;
5. образование — часто первый язык для начинающих.
Python доказал, что программирование может быть приятным. Его простой синтаксис и мощные библиотеки сделали
его фаворитом среди учёных, аналитиков и веб-разработчиков. Сегодня это один из самых популярных языков в мире
18. СОВРЕМЕННЫЕ ЯЗЫКИ: GO & RUST ( 2009-2010г. )
СОВРЕМЕННЫЕ ЯЗЫКИ: GO & RUST ( 20092010г. )1. Go (2009, Google):
1. создан для высоконагруженных распределённых систем;
2. простой синтаксис с минимальным набором конструкций;
3. встроенная поддержка параллелизма (goroutines, channels);
4. быстрая компиляция и эффективное использование памяти;
5. популярен в облачных технологиях и микросервисах (Docker, Kubernetes).
2. Rust (2010):
1. фокус на безопасности памяти без сборщика мусора;
2. система владения (ownership) и заимствования (borrowing);
3. высокая производительность (на уровне C/C++);
4. используется в системном программировании, веб-браузерах (Firefox), блокчейне.
3. Сравнение:
1. Go — для быстрого создания масштабируемых сервисов;
2. Rust — для безопасного низкоуровневого программирования.
Go и Rust решают современные проблемы: параллелизм и безопасность. Go упрощает создание облачных сервисов, а Rust даёт контроль
над памятью без риска ошибок. Оба языка активно набирают популярность
19. ТЕНДЕНЦИЯ И ПЕРСПЕКТИВЫ РАЗВИТИЯ
1. Ключевые направления:1. рост популярности Python (ИИ, Data Science, автоматизация);
2. развитие WebAssembly — выполнение кода в браузере на C++, Rust, Go;
3. языки для квантовых вычислений (Q#, Quipper);
4. визуальное и блочное программирование (Scratch, Blockly) для обучения;
5. DSL (предметно-ориентированные языки) под конкретные задачи;
6. интеграция с ИИ-инструментами (GitHub Copilot и аналоги).
2. Вызовы:
1. безопасность кода (уязвимости, атаки);
2. энергоэффективность (программирование для IoT);
3. масштабируемость (облачные системы, Big Data);
4. простота обучения для новых поколений программистов.
3. Прогнозы:
1. гибридные языки, сочетающие разные парадигмы;
2. больше автоматизации (генерация кода, автотестирование);
3. языки с встроенной поддержкой ИИ;
4. развитие языков для новых платформ (VR/AR, нейроинтерфейсы).
Будущее программирования —
за гибкостью и интеграцией. Языки будут становиться умнее, безопаснее и доступнее. А ИИ станет не конкурентом, а помощником программиста
20. ЗАКЛЮЧЕНИЯ И ВЫВОДЫ
1. Основные выводы:1. Эволюция шла от низкоуровневых (машинный код, ассемблер) к высокоуровневым и специализированным языкам.
2. Каждый этап решал конкретные проблемы: сложность, переносимость, безопасность, производительность.
3. Современные языки ориентированы на параллелизм, распределённые системы и ИИ.
4. Выбор языка зависит от задачи: веб, мобильные приложения, наука, системное программирование.
5. Будущее —
за гибридными подходами, интеграцией с ИИ и новыми парадигмами (квантовое программирование).
2. Значение проекта: изучение истории помогает:
1. понимать логику современных языков;
2. выбирать оптимальные инструменты для задач;
3. предвидеть тренды развития IT;
4. ценить вклад пионеров программирования.
Финальная мысль: «Программирование —
это не просто код. Это история идей, людей и открытий, которые меняют мир».
Мы прошли путь от перфокарт до ИИ-ассистентов. История учит нас: технологии меняются, но принципы —
чёткость, логика, творчество — остаются.
informatics