Министерство науки и высшего образования Российской Федерации федеральное государственное бюджетное образовательное учреждение высшего образования «Приазовский государственный технический университет» Институт среднего профессионального образования ИНДИВИДУАЛЬНЫЙ ПРОЕКТ по дисциплине ОДБ.08. Информатика Тема: «Мертвые языки программирования» Индивидуальный проект обучающегося 1 курса, группы 09-МН-23 Боженко Виктория Борисовна Специальность 43.02.06 Сервис на транспорте (автомобильном) Руководитель индивидуального проекта: Красковская Н.О. Оценка ___________ _____________ (подпись руководителя) Дата защиты: «___» ___________ 2024 г. Мариуполь 2024 2 СОДЕРЖАНИЕ Введение ................................................................................................................... 3 Глава 1. Что такое программирование и его язык? ............................................ 5 Глава 2. История возникновения языков программирования ........................... 8 2.1 Первопроходцы в программировании ............................................................ 8 2.2 Первые языки программирования. Особенности и происхождение первых языков программирования. .................................................................................... 9 2.3 Причины устаревания и вымирания языков ................................................ 12 Глава 3. Эволюция языков программирования. ................................................ 15 Глава 4. Влияние мертвых языков на современные технологии .................... 22 Глава 5. Социологический опрос......................................................................... 24 5.1 Опросная анкета. ............................................................................................. 24 5.2 Ответы опрошенной аудитории..................................................................... 25 5.3 Итог опросной части ...................................................................................... 26 Заключение ............................................................................................................ 27 Перечень использованных источников............................................................... 28 3 ВВЕДЕНИЕ Сегодня большинство программ создается с помощью языков программирования: если проследить историю наиболее популярных в современном мире языков программирования, таких как Python и С + (а также менее популярных BASIC, Ada), то окажется, что все они были созданы в 6070-е годы. Другими словами, современным языкам программирования уже более 30-40 лет, что является экстремальным периодом для компьютерной индустрии. Современные языки программирования как минимум на десятилетия старше Интернета и персональных компьютеров. В то же время регулярно появлялись новые языки программирования, но ни один из них не оставался в практике программирования. Так появилось множество мертвых языков программирования. Задумывались ли вы, на каком языке программирования написан тот или иной сайт, интернет-страница или скрипт? В настоящее время знание языка программирования – это не только показатель образованности человека, но и необходимость. Чтобы идти в ногу со временем, необходимо знать хотя бы два языка. Языки программирования позволяют создавать инструменты для работы, общения и творчества. В мире существуют тысячи языков, позволяющих полноценно взаимодействовать с компьютерами, но, несмотря на такое разнообразие, большинство людей пишут лишь на десятке языков. Успех языка программирования часто зависит не только от его возможностей и используемых технологий, но и от того, появился ли он в нужное время и в нужном месте. Успех языка может быть столь же капризен, сколь непредсказуемы причины его неудачи. План работы над проектом: - Постановка целей и задач проекта; - Составление плана; - Поиск информации, ее сортировка и анализ; 4 - Создание проекта; - Защита проекта «Мертвые языки программирования». Актуальность проекта. Информационные технологии - одна из наиболее динамично развивающихся областей современной жизни. Новые технологии появляются практически каждый день. И в погоне за прогрессом иногда полезно остановится, вспомнить историю и подумать о будущем, чтобы снова погрузиться в работу и с новыми силами осваивать новые технологии. Я выбрала эту тему, потому что на нее меня натолкнуло непривычное понятие «мертвые языки программирования». Благодаря этому проекту мы можем приблизиться к истокам программирования. И это дает нам ответы на главные вопросы: почему одни языки программирования остались на стадии зарождения и о них все забыли, а другие стали основой для новых языков программирования и позволили человечеству развивать информационные технологии Id? Цель проекта: познакомится с началом развития программирования и первыми языками. программирования». Дать определение Изучить понятию причины «мертвые исчезновения языки языков программирования. Задачи проекта: 1. Изучить развитие языков программирования; 2. Исследовать причины исчезновения языков программирования; 3. Определить какие языки программирования являются мертвыми на данный момент. Методы исследования: изучение литературы и других источников информации, наблюдение, научный анализ, классификация, обобщение, сравнение. 5 ГЛАВА 1. ЧТО ТАКОЕ ПРОГРАММИРОВАНИЕ И ЕГО ЯЗЫК? Язык программирования — это набор формальных правил, по которым пишут программы. Обычный язык нужен для общения людей, а язык программирования — для общения с компьютером. Как и в любом естественном языке, тут есть лексика — слова, функции и операторы, из которых по правилам синтаксиса составляются выражения. Они имеют чёткий, вполне определённый смысл, понятный компьютеру, — семантику. Виды языков программирования: 1) Компилируемые и интерпретируемые языки Компилятор переводит весь код в машинный (состоящий из нулей и единиц) сразу же при запуске программы. Работу компилятора можно описать так: Программист пишет программу на языке программирования → Запускает компилятор → Компилятор переводит всю программу в машинный код и кладет его в исполняемый файл (.exe в Windows) К компилируемым языкам программирования относят C, С++, Java, Swift, Go. Интерпретатор переводит код в машинный построчно каждый раз, когда запускается программа. Программы, написанные на интерпретируемых языках, чаще всего запускаются медленнее компилируемых программ — как раз из-за построчного перевода кода. Однако процесс разработки на интерпретируемом языке быстрее, чем на компилируемом, так как программисту не нужно снова и снова компилировать программу в машинный язык. К интерпретируемым языкам программирования относят Python, PHP, JavaScript. 2) Низкоуровневые и высокоуровневые языки До изобретения компилятора и интерпретатора программисты вручную писали код на машинном языке. Код, созданный на таком языке, разный для 6 каждого компьютера, так как у каждого производителя процессоров свой собственный набор инструкций к написанию кода. У разработчиков ушло немало времени и сил на написание кода, который был написан на машинном языке. Со временем, они смогли научить компьютер понимать языки программирования, которые имеют отношение к нашим естественным языкам. Таким образом, языки программирования стали делиться на языки высокого и низкого уровня (включая машинные языки). К низкоуровневым языкам также отнесли язык ассемблера — надстройку над машинным языком. На нем программистам писать код чуть проще, чем на машинном. Однако все так же не слишком удобно — язык ассемблера, как и машинный язык, не содержит функций, структур данных, списков, объектов. Код на высокоуровневых языках легко читаем и понятен программисту. Такие языки позволяют создавать программы, не переживая о совместимости кода с разными процессорами. Высокоуровневые языки требуют компиляции или интерпретации. К таким языкам относят Java, JavaScript, Python, Ruby, PHP и другие. 3) Языки со статической типизацией и динамической типизацией. Типизация — это набор правил, по которым язык программирования классифицирует информацию. Благодаря типизации компьютер понимает, какие данные ему нужно обработать, что с ними делать и какой объем памяти займет предстоящая операция. Если у языка нет типизации, программист может присваивать переменной любой тип данных (строку, число), а потом отнести к этой же переменной другой тип данных. Это позволяет быстрее писать код, но в таком коде проще запутаться. Так же, как можно запутаться в неподписанных коробках. Коробки можно программирования подписывать по-разному — и у языков типизация бывает разной. Статическая 7 типизация определяет типы данных в программе до ее запуска (во время компиляции). Языки со статической типизацией — Java, C++, Swift. В динамически-типизированных языках тип переменной определяется во время запуска программы. Объявлять тип переменной в явном виде не нужно: интерпретатор определяет его в процессе работы программы. Программу, созданную на языке с динамической типизацией, сложнее отлаживать и расширять ее функциональность. Языки с динамической типизацией — Python, JavaScript, Ruby. 4) Универсальные и специальные языки. Существуют языки, которые могут использоваться для различных целей и областей применения. Их называют универсальными. Например, C++ подходит как для разработки несложных вычислительных программ, так и для создания высоконагруженных приложений, игр. Специальные языки программирования (или доменно-специфические) подходят для решения определенного круга задач. Это, например, SQL, на котором можно писать запросы к базам данных, HTML или CSS, предназначенные для проектирования и верстки веб-страниц. 8 ГЛАВА 2. ИСТОРИЯ ВОЗНИКНОВЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 2.1 Первопроходцы в программировании В 20-х годах XIX века английскому математику Чарлзу Бэббиджу (1791—1871 гг.) пришла идея создать механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. Это была идея, положившая начало программированию. Ч. Бэббидж посвятил реализации этой идеи всю жизнь. Он не добился успеха и признания современников при жизни, но оказал огромное влияние на современное развитие информатики. Ада Лавлейс, дочь английского поэта Чарлза Гордона Байрона, оказалась одним из немногих современников Чарлза Бэббиджа, кто сумел по достоинству оценить идею "аналитической машины". Она стала ближайшей помощницей и сподвижницей Бэббиджа, разработала некоторые приемы управления последовательностью вычислений, которые используются в программировании, по сей день. Описала одну из важнейших конструкций практически любого современного языка программирования — цикл. Аду Лавлейс по праву считают первым в мире программистом. В честь нее был назван язык программирования – язык АДА. Первым шагом в развитии современных языков программирования стало создание в конце 1940-х годов Джоном Моучли американским физиком Пенсильванского университета США системы кодирования машинных команд с помощью специальных символов. Грейс Мюррей Хоппер (Grace Murray Hopper) — один из пионеров программирования, математик. Контр-адмирал ВМФ США. По праву считается «бабушкой COBOL» и удостоена многочисленных наград за неоценимый вклад, внесенный в развитие этого языка программирования. Грейс Мюррей Хоппер стала третьим в мире программистом. 9 В 1951 г. Хоппер создала первый в мире компилятор. Именно она ввела сама этот термин. При работе на компьютере "Maрк-I" Г. Хоппер и ее группе пришлось стать первопроходцами программирования. Они первыми придумали подпрограммы. 2.2 Первые языки программирования. Особенности и происхождение первых языков программирования. Говоря о первом языке, сложно умолчать о первом программисте. Графиня Ада Лавлейс, дочь лорда Байрона, всю свою жизнь посвятила математике и механике, трудилась в свое удовольствие без зарплат и дедлайнов. Результатом ее любви к точным наукам стали описание первой в мире вычислительной машины и создание программы для нее. Аду Лавлейс часто упоминают вместе с Чарльзом Бэббиджем. Он изобрел первый прототип современного компьютера — логарифмическую машину. Но реализовать ее не удалось: проект разрастался на бумаге, а финансирование от английской короны заканчивалось. Ада познакомилась с ученым при дворе, и с этой встречи началось ее глубокое увлечение его работами.[2] В 1840 году изобретение Бэббиджа привлекло внимание профессоров из Турина. Он получил приглашение от итальянского правительства, где военный инженер Луиджи Менабреа взял у него интервью о принципах работы разностной машины и издал статью на французском. В то же время Ада занялась переводом статьи на английский язык, параллельно переписываясь с Бэббиджем. Она не только перевела принцип работы, но и сопроводила его обширным комментарием. В нем она описала алгоритм для вычисления последовательности Бернулли с помощью машины. Кстати, его используют до сих пор, поэтому программа опередила себя на несколько десятков лет. Аду Лавлейс по праву считают первым программистом в истории язык назвали в ее честь.[2] человечества. В 1980 году в США новый 10 Машинный код и языки ассемблера. Масштаб работы Бэббиджа и Лавлейс оценили только в ХХ веке, когда научно-технический прогресс шагнул вперед и математики нового поколения увидели, что все это уже было до них. В 1940-х годах инженеры начали конструировать первые электронновычислительные машины — громоздкие, неудобные и с перфокартами. Для передачи команд использовали цепочки нулей и единиц — машинный код. Мягко говоря, не самый удобный вариант для программистов: приходилось «разговаривать» с компьютером на его языке, хорошо знать составляющие ЭВМ. А еще легко было допустить ошибку при записи кода. Процесс создания программ требовал автоматизации, и в пятидесятых годах появились первые языки программирования низкого уровня — ассемблеры. Низкий уровень означает, что язык все еще близок к машинному коду, но уже становится проще для восприятия человеком. Первый высокоуровневый язык Планкалкюль Часто можно услышать, что первым языком высокого уровня был Fortran (1957). Но еще в разгар Второй мировой войны немецкий ученый Конрад Цузе создал Plankalkül — первый высокоуровневый язык. Он написал на нём 49 листов программ для оценки шахматных позиций и документацию в отдельной брошюре. Работы Цузе увидели свет только после войны, в 1972 году.[7] Планкалкюль — электромеханический язык, так как разрабатывался для компьютера Z4. Автор не создал для него аппаратной реализации. Первый компилятор для Планкалкюля написали в Германии в 2000 году: он называется Plankalkül-2000. Его разработали в Свободном университете Берлина спустя пять лет после смерти Цузе. Это интерпретатор диалекта Планкалкюля — он чуть проще самой первой версии языка. Если вам захочется почувствовать дух истории, на нем даже можно написать простенькую программку.[7] 11 Plankalkül не нашел практического применения, но вполне соответствует современным стандартам высокоуровневых языков. В нем есть четыре вида переменных, массивы, циклы, кортежи, подпрограммы и условные конструкции. С помощью языка можно выполнять простые арифметические операции и сортировку чисел. Fortran — первый язык с компилятором В 1957 году в компании IBM группа программистов, возглавляемая Джоном Бэкусом, представила первый работающий высокоуровневый язык Fortran. В его основе лежит принцип анализа всей строки. Поначалу программисты не хотели широко использовать Fortran из-за низкой эффективности и предубеждений, но в дальнейшем он взорвал информационную сферу и на многие годы стал универсальным решением для научных и технических задач. Американские компании наперебой создавали Fortran-компиляторы для своих вычислительных машин, чтобы оставаться конкурентными. Сегодня Фортрану 61 год, но он до сих пор востребован и популярен в Data Science. За это время вышло множество версий, язык эволюционировал и обрел четкие он используется стандарты. для Благодаря различных огромному вычислений наследию в научных кода разработках, геологических изысканиях и астрофизике. Если вам интересна история, взгляните на потрясающую схему развития языков программирования, начиная с Фортрана. Как видите, однозначного ответа на вопрос, какой язык программирования придумали первым, не существует. Первую абстрактную программу написала Ада Лавлейс, первым высокоуровневым языком был Plankalkül, но эру высоких информационных технологий начал Fortran. Все они первые в личном зачете, и каждый важен для того или иного этапа развития информационных систем. Начиная с 80-х годов прошлого столетия, развитие программирования пошло быстрыми темпами. Появились: 12 - Perl – универсальный, высокого уровня. Изначально издавался для обработки текстов, но со времени его функции расширились; - Haskell – относится к группе кодов общего назначения, является чисто функциональным, особенно востребован в сфере математики; - Пайтон (иногда говорят – Питон) – один из самых часто используемых языков в наше время; - Ruby – используется, в основном, для создания веб-приложений; - Java – универсальный вариант с кросс-платформенной функциональностью; - JavaScript применяется для веб-разработки, документов PDF . 2.3 Причины устаревания и вымирания языков Языки программирования могут становиться устаревшими и вымирать по разным причинам. Вот некоторые из них: Технологический прогресс. Одной из основных причин устаревания языков программирования является быстрый технологический процесс. Появление новых языков и технологий может привести к тому, что старые языки перестают быть столь эффективными и не могут соответствовать новым требованиям в разработке программного обеспечения. Новые языки могут предлагать более простые и новые способы решения задач, что делает старые языки менее привлекательными. Недостаток поддержки и разработки. Одной из причин устаревания языков программирования является недостаточная поддержка и развитие. Если язык не получает достаточное количество обновлений и исправлений ошибок, он может стать менее надежным и неспособным справиться с новыми вызовами. Кроме того, если сообщество разработчиков перестает активно использовать и развивать язык, это может привести к его вымиранию. 13 Изменение требований и моды. Требования к программному обеспечению могут эволюционировать, и языки программирования должны приспосабливаться к этим изменениям. В случае, если язык не способен соответствовать новым требованиям или не следует за актуальными тенденциями в разработке, он рискует утратить свою актуальность и стать устаревшим. Ограниченные возможности. Некоторые языки программирования могут иметь ограниченные возможности, разработки которые не программного соответствуют обеспечения. современным Например, требованиям язык может не поддерживать параллельное программирование или не иметь инструментов для работы с большими объемами данных. Это делает такие языки менее привлекательными для разработчиков и может привести к их устареванию и вымиранию. [4] Все эти причины могут влиять на популярность и использование языков программирования, и в конечном итоге привести к их устареванию и вымиранию. Свойства мертвых языков программирования: Мертвые языки программирования обладают определенными свойствами, которые привели к их устареванию и вымиранию. Рассмотрим некоторые из этих свойств: Ограниченная поддержка и развитие. Мертвые языки программирования обычно имеют ограниченную поддержку и развитие со стороны сообщества разработчиков. Это означает, что новые функции и возможности не добавляются в язык, а проблемы и ошибки не исправляются. Это делает язык менее привлекательным для разработчиков, которые ищут современные и эффективные инструменты. [4] Отсутствие активной экосистемы. Мертвые языки программирования часто не имеют активной экосистемы, включающей в себя библиотеки, фреймворки и инструменты 14 разработки. Это ограничивает возможности разработчиков и делает язык менее привлекательным для создания новых проектов. Низкая популярность и спрос на рынке труда. Устаревшие языки программирования обычно не пользуются популярностью и востребованностью на рынке труда. Работодатели и компании предпочитают привлекать специалистов, знакомых с современными и востребованными языками программирования. Это означает, что разработчики, владеющие устаревшими языками, могут столкнуться с ограничениями в трудоустройстве и карьерном росте. Устаревшие и неэффективные возможности. Мертвые языки программирования могут иметь устаревшие и неэффективные возможности, которые не соответствуют современным требованиям и стандартам разработки. Это может привести к сложностям в разработке и поддержке программного обеспечения, а также к ухудшению производительности и безопасности.[4] Ограниченное сообщество разработчиков. У мертвых языков программирования обычно меньшее количество разработчиков, что приводит к ограниченной поддержке, меньшему количеству ресурсов и сообществ для обменом опытом. Это может затруднить решение проблем и разработку на таких языках. В целом, свойства устаревших языков программирования делают их менее привлекательными для специалистов и ограничивают их применение в современных проектах. Однако, некоторые мертвые языки все еще могут использоваться в специфических областях или для поддержки устаревших систем. 15 ГЛАВА 3. ЭВОЛЮЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 1843: Машинный алгоритм Ады Лавлейс. Ада Лавлейс изобретает первый в истории машинный алгоритм для разностной машины Чарльза Бэббиджа, который закладывает основу для всех языков программирования. 1944-45: Планкалкюль. Где-то между 1944-45 годами Конрад Цузе разработал первый «настоящий» язык программирования под названием Plankalkül (Расчет плана). Язык Zeus (помимо прочего) позволял создавать процедуры, в которых хранятся фрагменты кода, которые можно было вызывать снова и снова для выполнения рутинных операций. 1949: Язык Ассемблера. Ассемблер использовался в автоматическом калькуляторе с электронным запоминанием задержки (EDSAC). Ассемблер был разновидностью низкоуровневого языка программирования, который упростил язык машинного кода. Другими словами, конкретные инструкции, необходимые для работы с компьютером. 1949: Shortcode. Шорткод (или сокращенный код) был первым языком высокого уровня (HLL), предложенным Джоном Макколи в 1949 году. Однако именно Уильям Шмитт реализовал его для компьютера BINAC в том же году и для UNIVAC в 1950 году. 1952: Автокодирование. Автокод был общим термином, используемым для семейства языков программирования. Autocode, впервые разработанный Аликом Гленни для компьютера Mark 1 в Университете Манчестера, был первым в истории скомпилированным языком, который был реализован, что означает, что он может быть переведен непосредственно в машинный код с помощью программы, называемой компилятором. Автокод использовался на первых вычислительных машинах Ferranti Pegasus и Sirius в дополнение к Mark 1. 1957: Fortran. FORmula TRANslation или FORTRAN был создан Джоном Бэкусом и считается старейшим языком программирования, используемым сегодня. Язык программирования был создан для научных, математических и 16 статистических вычислений высокого уровня. FORTRAN до сих пор используется в некоторых из самых передовых суперкомпьютеров в мире. 1958: ALGOL (Алгоритмический язык). Алгоритмический язык или АЛГОЛ был создан совместным комитетом американских и европейских компьютерных ученых. Алгол послужил отправной точкой для разработки некоторых из наиболее важных языков программирования, включая Pascal, C, C ++ и Java. 1958: LISP (обработчик списков). Процессор списков или LISP был изобретен Джоном Маккарти в Массачусетском технологическом институте (MIT). Первоначально предназначенный для искусственного интеллекта, LISP является одним из старейших языков программирования, которые все еще используются сегодня, и его можно использовать вместо Ruby или Python. Такие компании, как Acceleration, Boeing и Genworks, по-прежнему используют LISP в своих технических стеках. 1959: КОБОЛ (Общий бизнес-ориентированный язык). Общий бизнесориентированный язык (COBOL) - это язык программирования, лежащий в основе многих процессоров кредитных карт, банкоматов, телефонных и сотовых вызовов, сигналов больниц и систем сигналов светофора (и это лишь некоторые из них). Разработкой языка руководила доктор Грейс Мюррей Хоппер, и он был разработан таким образом, чтобы его можно было использовать на компьютерах всех марок и типов. COBOL до сих пор используется в первую очередь для банковских систем. 1964: BASIC (универсальный символьный код инструкций для начинающих). Универсальный код символических инструкций для начинающих или BASIC был разработан группой студентов Дартмутского колледжа. Этот язык был написан для студентов, которые плохо разбирались в математике или компьютерах. Этот язык был разработан основателями Microsoft Биллом Гейтсом и Полом Алленом и стал первым товарным продуктом компании. 17 1970: ПАСКАЛЬ. Названный в честь французского математика Блеза Паскаля, Никлаус Вирт разработал язык программирования в его честь. Он был разработан как средство обучения компьютерному программированию, что означало, что его легко освоить. Apple предпочитала его на заре своей деятельности из-за простоты использования и мощности. 1972: Smalltalk. Smalltalk, разработанный в исследовательском центре Xerox в Пало-Альто Аланом Кей, Адель Голдберг и Дэном Ингаллсом, позволял программистам изменять код на лету. Он представил множество аспектов языка программирования, которые сегодня являются видимыми языками, такими как Python, Java и Ruby. Такие компании, как Leafly, Logitech и CrowdStrike, заявляют, что используют Smalltalk в своих технических стеках. 1972: C (Си). Разработан Деннисом Ричи из Bell Telephone Laboratories для использования с операционной системой Unix. Он был назван C, потому что был основан на более раннем языке под названием «B». Многие из ведущих в настоящее время языков являются производными от C, включая; C #, Java, JavaScript, Perl, PHP и Python. Он также использовался / до сих пор используется такими крупными компаниями, как Google, Facebook и Apple. 1972: SQL (в то время SEQUEL). SQL был впервые разработан исследователями IBM Рэймондом Бойсом и Дональдом Чемберленом. SEQUEL (как его тогда называли) используется для просмотра и изменения информации, хранящейся в базах данных. В настоящее время язык является аббревиатурой - SQL, что означает язык структурированных запросов. Существует множество компаний, использующих SQL, и некоторые из них включают Microsoft и Accenture. 1980/81: Ада. Изначально Ada была разработана командой во главе с Джин Ичбиа из CUU Honeywell Bull по контракту с Министерством обороны США. Названный в честь математика середины 19-го века Ады Лавлейс, Ada представляет собой структурированный, статически типизированный, императивный, объектно-ориентированный язык программирования высокого уровня с широким спектром возможностей. Ада была расширена из других 18 популярных в то время языков программирования, таких как Паскаль. Ada используется в системах управления воздушным движением в таких странах, как Австралия, Бельгия и Германия, а также во многих других транспортных и космических проектах. 1983: C ++. Бьярн Страуструп модифицировал язык C в Bell Labs, C ++ это расширение C с такими улучшениями, как классы, виртуальные функции и шаблоны. Он был включен в 10 лучших языков программирования с 1986 года и получил статус Зала славы в 2003 году. C ++ используется в MS Office, Adobe Photoshop, игровых движках и другом высокопроизводительном программном обеспечении. 1983: Objective-C. Objective-C, разработанный Брэдом Коксом и Томом Лавом, является основным языком программирования, используемым для написания программного обеспечения для операционных систем Apple macOS и iOS. 1987: Perl. Perl был создан Ларри Уоллом и представляет собой универсальный язык программирования высокого уровня. Первоначально он был разработан как язык сценариев, предназначенный для редактирования текста, но в настоящее время он широко используется для многих целей, таких как CGI, приложения баз данных, системное администрирование, сетевое программирование и графическое программирование. 1990: Haskell. Haskell - это язык программирования общего назначения, названный в честь американского логика и математика Хаскелла Брукса Карри. Это чисто функциональный язык программирования, то есть в первую очередь математический. Он используется во многих отраслях, особенно в тех, которые имеют дело со сложными вычислениями, записями и обработкой чисел. Как и многие другие языки программирования той эпохи, не так уж часто можно увидеть, что Haskell используется для хорошо известных приложений. С учетом сказанного, язык программирования был использован для написания ряда игр, одна из которых - Nikki and the Robots. 19 1991: Python. Названный в честь британской комедийной труппы «Монти Пайтон», Python был разработан Гвидо Ван Россумом. Это универсальный язык программирования высокого уровня, созданный для поддержки различных стилей программирования и приятный в использовании (ряд руководств, примеров и инструкций часто содержат ссылки на Monty Python). Python по сей день является одним из самых популярных языков программирования в мире, который используют такие компании, как Google, Yahoo и Spotify. 1991: Visual Basic. Visual Basic, разработанный Microsoft, позволяет программистам использовать стиль перетаскивания для выбора и изменения предварительно выбранных фрагментов кода через графический интерфейс пользователя (GUI). В наши дни этот язык не используется слишком часто, однако Microsoft частично использовала Visual Basic для ряда своих приложений, таких как Word, Excel и Access. 1993: Ruby. Ruby, созданный Юкихиро Мацумото, представляет собой интерпретируемый язык программирования высокого уровня. Язык обучения, на который повлияли Perl, Ada, Lisp и Smalltalk - среди прочих. В основном Ruby используется для разработки веб-приложений и Ruby on Rails. Twitter, Hulu и Groupon - известные примеры компаний, использующих Ruby. 1995: Java. Java - это универсальный язык высокого уровня, созданный Джеймсом Гослингом для проекта интерактивного телевидения. Он обладает кросс - платформенной функциональностью и неизменно входит в число самых популярных языков программирования в мире. Java можно найти везде, от компьютеров до смартфонов и парковочных счетчиков. 1995: PHP. Ранее известный как «Персональная домашняя страница», что теперь означает «Препроцессор гипертекста», PHP был разработан Расмусом Лердорфом. Его основное применение включает создание и поддержку динамических веб-страниц, а также разработку на стороне сервера . Некоторые из крупнейших компаний по всему миру используют PHP, включая Facebook, Wikipedia, Digg, WordPress и Joomla 20 1995: JavaScript. JavaScript был создан Бренданом Эйхом, этот язык в основном используется для динамической веб-разработки, документов PDF, веб-браузеров и виджетов рабочего стола. Почти каждый крупный веб-сайт использует JavaScript. Gmail, Adobe Photoshop и Mozilla Firefox включают несколько хорошо известных примеров. 2000: C #. Разработанный в Microsoft с надеждой на объединение вычислительных возможностей C ++ с простотой Visual Basic, C # основан на C ++ и имеет много общего с Java. Этот язык используется почти во всех продуктах Microsoft и используется в основном при разработке настольных приложений. 2003: Scala. Scala, разработанная Мартином Одерски, объединяет математическое функциональное программирование и организованное объектно-ориентированное программирование. Совместимость Scala с Java делает его полезным при разработке под Android. Linkedin, Twitter, Foursquare и Netflix - это всего лишь несколько примеров многих компаний, которые используют Scala в своих технических стеках. 2003: Groovy. Унаследованный от Java, Groovy был разработан Джеймсом Страчаном и Бобом МакВиртером. Язык повышает продуктивность, поскольку он лаконичен и прост в изучении. Некоторые известные компании, которые используют Groovy в своих технических стеках, - это Starbucks, Transferwise . 2009: Golang (Go). Go был разработан Google для решения проблем, возникающих из-за больших программных систем. Благодаря своей простой и современной структуре Go завоевал популярность среди некоторых крупнейших технологических компаний по всему миру, таких как Google, Uber, Twitch и Dropbox.[2] 2014: Swift. Разработанный Apple в качестве замены C, C ++ и ObjectiveC, Swift был разработан с целью быть проще, чем вышеупомянутые языки, и оставлять меньше места для ошибок. Универсальность Swift означает, что его можно использовать для настольных, мобильных и облачных приложений. 21 Swift – это компилируемый язык. Это означает, что программа не выполняется построчно. Перед запуском она полностью переводится в машинный код с помощью специального программного обеспечения, называемого компилятором. Это ускоряет выполнение приложения. Компилятор Swift входит в состав среды программирования macOSXCode. 22 ГЛАВА 4. ВЛИЯНИЕ МЕРТВЫХ ЯЗЫКОВ НА СОВРЕМЕННЫЕ ТЕХНОЛОГИИ Мертвые языки программирования, несмотря на свое устаревание и вымирание, оказывают некоторое влияние на современные технологии. Вот несколько способов, которыми мертвые языки влияют на современное программирование: Историческое значение. Мертвые языки программирования имеют историческое значение, так как они являются частью развития компьютерной науки и программирования. Изучение мертвых языков помогает понять, какие концепции и идеи были важными в прошлом и как они влияли на развитие современных языков.[4] Вдохновение для новых языков. Некоторые идеи и концепции из мертвых языков программирования могут быть использованы для разработки новых языков. Разработчики могут черпать вдохновение из прошлых языков, чтобы создавать более эффективные и удобные инструменты для программирования. Поддержка устаревших систем. Некоторые устаревшие языки программирования до сих пор используются для поддержки унаследованных систем. Например, язык COBOL, разработанный в 1959 году, до сих пор используется многими банками и финансовыми учреждениями для обработки больших объемов данных. Разработчики, знакомые с мертвыми языками, могут быть востребованы для поддержки таких систем. Уроки из прошлого. Мертвые языки программирования могут служить уроками из прошлого. Изучение и анализ ошибок и проблем, связанных с мертвыми языками, может помочь разработчикам избежать повторения этих ошибок в современных проектах. Это будет способствовать разработке более надежных и эффективных языков и инструментов. 23 В целом, мертвые языки программирования имеют свое место в истории и развитии программирования. Их влияние на современные технологии может быть разнообразным, от исторического значения до использования идей и концепций в новых языках. Понимание мертвых языков помогает разработчикам лучше понять и оценить современные технологии и инструменты. [4] В таблице 1 представлено сравнение некоторых мертвых языков программирования. Таблица 1 - Таблица сравнения мертвых языков программирования Язык Дата Дата Причины програм- создания устаревания устаревания мирования COBOL 1959 по сей день Сложность и громоздкость синтаксиса, низкая производительность FORTRAN 1957 по сей день Ограниченные возможности для разработки современных приложений ALGOL 1958 1970-е годы Сложность и громоздкость синтаксиса, недостаток поддержки LISP 1958 по сей день Сложность и громоздкость синтаксиса, низкая производительность Примеры использования Финансовые системы, банковское дело Научные и инженерные расчеты Алгоритмические задачи, научные исследования Искусственный интеллект, компьютерная лингвистика 24 ГЛАВА 5. СОЦИОЛОГИЧЕСКИЙ ОПРОС 5.1 Опросная анкета 1. Python относится к какому уровню языков программирования? А) низкий Б) высокий В) средний 2. К языкам высокого программирования относятся? А) C Б) Python В) Basic 3. В каком году появился машинный язык? А) 1901 Б) 1950 В) 1945 4. В каком году появился ЯП Java? А) 1995 Б) 1990 В) 1980 5. Языки … уровня – это средства записи инструкций компьютеру простыми приказами – командами на аппаратном уровне это? А) высокого Б) среднего В) низкого 6. К ЯП высокого уровня относятся? А) Алгол – 68 Б) Basic В) Pascal 7. Какой язык программирования является одним из старых в сфере бизнеса и финансов? 25 А) Scala. Б) Cobol В) Lisp 8. Какой самый востребованный язык программирования на 2023 – 2024 г.г.? А) Python Б) Java В) Pascal 5.2 Ответы опрошенной аудитории Для своего проекта я провела социологический опрос для двух групп, а именно 09 -МН-2023 и 09-ОТ-2023. Тема моего проекта была такой «Мертвые языки программирования». Ответы на мой опрос будут в виде %. Вопрос 1. А) – 50% Б) – 40% В) – 10% Вопрос 2. А) – 30% Б) – 40% В) – 30% Вопрос 3. А) – 20% Б) – 40% В) – 40% Вопрос 4. А) – 50% Б) – 20% В) – 30% Вопрос 5. А) – 10% Б) – 30% В) – 60% Вопрос 6. А) – 30% Б) – 30% 26 В) – 40% Вопрос 7. А) – 20% Б) – 60% В) – 20% Вопрос 8. А) – 60% Б) – 30% В) – 10% 5.3 Итог опросной части Опрос показал, что опрашиваемая аудитория недостаточно хорошо знакома с темой «Языки программирования», знает только базовые определения и не знает истории развития языков программирования. 27 ЗАКЛЮЧЕНИЕ Подводя итог, следует отметить, что знание программирования полезно каждому, хотя бы на начальном уровне, даже если это не связано как-то с вашей работой. Как отметил Стив Джобс, это способствует развитию мышления. XX век стал поворотным в обеспечении грамотности населения: люди освоили навыки чтения, письма, арифметики, и даже начали получать высшее образование. Благодаря этому сегодня технический прогресс стремительно продвигается вперед. В данном проекте я постаралась ответить на очень важный вопрос о причинах «умирания» языков программирования. Можно задаться вопросом: зачем изучать устаревшие языки? Однако это имеет свое обоснование. Анализируя историю, можно увидеть, что не все устаревшие языки сегодня являются бесполезными, поскольку некоторые современные языки были созданы на их основе. Например, языки Модула, Ада и Дельфи были разработаны на основе Паскаля, что свидетельствует о том, что некоторые языки получили новое развитие. В заключение, можно дать определение термину «Мертвый язык программирования». Мертвый язык программирования – это язык, который вышел из употребления по определенным причинам и перестал быть популярным. Окончательное угасание языка наступает, когда эволюционирует и превращается в другой язык или группу языков. он 28 ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1. Что такое языки программирования и какие они бывают. [Электронный ресурс]. URL: https://ru.hexlet.io/blog/posts/yazyki- programmirovaniya? 2. История программирования: от Ады Лавлейс и Тьюринга до советских инженеров. [Электронный ресурс]. URL: https://habr.com/ru/articles/734696/ 3. История языков программирования. [Электронный ресурс]. URL: https://itanddigital.ru/historycodin 4. Мертвые языки программирования: их происхождение, особенности и влияние на современную разработку. [Электронный ресурс]. URL: https://nauchniestati.ru/spravka/mer 5. На дне: 4 языка программирования на грани вымирания. [Электронный ресурс]. URL: https://skillbox.ru/media/code/na-dn 6. История языков программирования: от самого первого до наших дней. [Электронный ресурс]. URL: https://trends.rbc.ru/trends/industr 7. Самые первые языки программирования. [Электронный ресурс]. URL: https://blog.sf.education/samye-pervye-yazyki8. Опережая время: какой язык программирования считается первым. [Электронный ресурс]. URL: https://skillbox.ru/media/code/kakoy_ yazyk_programmi rovaniya_schitaetsya_pervym/ 9. Особенности первых языков программирования. [Электронный ресурс]. URL: https://studylib.ru/doc/4993410/osobennosti-pervyh-yazykov- programmirovaniya?ysclid=ls8znfth6v243697648 10. Краткая история развития языков программирования. [Электронный ресурс]. [Электронный ресурс]. URL: https://dzen.ru/a/Y-93PokjDyK0TsMn 11. Первый [Электронный программист: кто ресурс]. URL: programmist/?ysclid=ls932fivel113563829 положил начало профессии. https://gb.ru/blog/pervyj- 29 12. Базовые сведения о программировании. [Электронный ресурс]. URL: https://cig-rdlab.gitbook.io/101/sprint-1.-bazovye-znaniya-i-osnovyprogrammirovan 13. 10 самых влиятельных мертвых языков программирования. [Электронный ресурс]. URL:https://ru.hexlet.io/blog/posts/10-samyh-vliyatelnyhmertvyh-yazykov-programmirova