Эволюция языков программирования / Хабр
Пятница — самое время расслабиться и вспомнить, с чего все началось. Представляем вам краткий экскурс в историю разработки от GeekBrains.Доисторическая эра
С точки зрения определения даты рождения языка программирования существует некоторая двойственность.С одной стороны, в первой половине 19 века Ада Лавлейс описала вычислительную машину и ввела основополагающие понятия цикла и рабочей ячейки, за что получила гордое звание первой женщины-программиста.
С другой, первый язык программирования в современном представлении зародился лишь во время Второй мировой войны на релейной машине Z4 немецкого изобретателя Конрада Цузе. Его название Планкалкюль (нем. Plankalkül — исчисление планов), и это был полноценный язык высокого уровня, поддерживающий условные операторы, арифметические операции, массивы, циклы, исключения и утверждения. Доподлинно известно, что в конце 40-х годов Планкалкюль позволял ЭВМ решать шахматные задачи.
Изобретение Цузе могло бы изменить ход истории, однако итоги войны и усилия американцев по популяризации собственного машинного языка отложили полноценное явление миру Планкалкюля вплоть до 1972 года.
Z4 в Немецком музее, Мюнхен
Языки для компьютеров
Вместо этого эволюция пошла по пути машинного языка. Он был удобен для компьютеров, но не очень удобен для программистов. Это была буквально работа с железом вручную: были лишь те команды, которые были зашиты в процессор, все остальные операции приходилось реализовывать вручную.
Прямым развитием машинного языка стал язык ассемблера. Это был первый размен скорости на удобство: ассемблер был чуть менее нативным, но гораздо более дружелюбным к программисту. До языков высокого уровня, комфортных для программиста, было еще далеко.
Качественный скачок произошёл после изобретения транзистора и первых доступных компьютеров. Это побудило в период с 1954-1957 году компанию IBM активно работать над разработкой популярного коммерчески языка Fortran (от англ. Formula и Translation).
Fortran — язык для научных и инженерных вычислений. Считается, что именно он стал первым реализованным языком высокого уровня. Благодаря большому количеству математических библиотек Fortran был и остается важным языком для разного рода научных изысканий.
Далее началось бурное развитие программирования: практически одновременно появились Algol, алгоритмический высокоуровневый язык, активно использовавшийся в СССР и Европе, LISP и COBOL.
Языки для народа
Но по-настоящему массовым программирование стало с появлением языка BASIC в 1964 году. Преподаватели Дартмутского Колледжа Джон Кемени и Томас Курц разработали его для обучения студентов основам программирования ЭВМ.BASIC был алгоритмическим языком, для его создателей было важно не быстродействие и эффективность, а легкое понимание. Тем не менее BASIC быстро обрёл популярность в реализациях от Microsoft и Apple. Но не все были им довольны. По мнению противников языка простота и бесструктурность ранних версий BASIC поощряли применение порочных и опасных методик разработки.
«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они умственно изувечены без надежды на восстановление».
Эдсгер Дейкстра.
Кайнозой
В 1960-х годах компания Bell Labs всерьёз взялась за разработку операционной системы Unix для своих миникомпьютеров. Первые ОС были написаны на ассемблере, но эксперимент оказался неудачным.Потом в алфавитном порядке Кеном Томпсоном и Деннисом Ритчи был специально разработан интерпретируемый язык B (Би), но и в этот раз результат оставлял желать лучшего.
Всё изменилось с третьей попыткой в 1972 году и языком C, который оказался настолько успешным, что и спустя 40 лет занимает важное место в разработке ПО. Например, по данным IEEE Spectrum С в 2015 году стоял на втором месте: «The 2015 Top Ten Programming Languages».
В другом полушарии на останках языка Algol-68 Никлаус Вирт разработал Pascal. Цель он преследовал ту же самую, что и BASIC — простота в обучении и наглядность выполняемых операций.
Несмотря на внешнюю незамысловатость, Pascal оказался крайне эффективным языком не только в деле обучения, но и в серьезной разработке. Он остаётся крайне востребованным как в школах, так и в мире больших приложений: Total Commander, WinRAR, ранние версии Skype и Nero Burning ROM были написаны на Pascal.
В конце 1970-х были сформированы принципы ООП, на основе которых был доработан язык C, получив сперва название «С with classes», а потом более привычное взгляду C++. Отчасти из-за совершенства творения, отчасти из-за славы одного из первопроходцев, C++ долгое время оставался самым востребованным языком. На нём были написаны операционные системы Symbian, Windows и OS X, браузеры Google Chrome и Mozilla, и ещё тысячи популярных приложений.
Через четыре года после появления первой версии C++ Ларри Уолл разработал Perl — «практичный язык для извлечения данных и составления отчётов» (Practical Extraction and Report Language). Изначально язык обрёл популярность благодаря функциям, заложенным в названии, однако позднее расширил свои возможности и аудиторию.
Сегодня Perl по-прежнему активно используется в качестве удобного средства обработки текста в командной строке, но не меньше востребован и в системном администрировании, веб-разработке и даже играх.
Современность
В статье об истории эволюции языков просто обязан упоминаться Python, горячо любимый не только преподавателями GeekBrains, но и, судя по широте использования, многими иностранными университетами и крупными зарубежными компаниями. Его структура и философия направлены на то, чтобы ускорить разработку готового продукта программистом. С точки зрения развития, это куда более совершенный язык, нежели все существовавшие до 1991 года. Он минималистичен, но при этом более читабелен, достаточно часто обновляется и прекрасен по соотношению «скорость — качество разработки».Впрочем, теми же самыми характеристиками можно описать и Ruby, увидевший свет в 1995 году, с поправкой на то, что у Юкихиро Мацумото было 2 года, чтобы подумать, чем его язык может стать лучше современников.
Развитие интернета в конце XX века требовало более качественных языков обработки текста и данных. Так на свет появились HTML, PHP, CSS и JavaScript, без которых сегодня очень трудно представить веб-разработку.
Вместе с этим появился и Java — объектно-ориентированный язык, использующий виртуальную машину JVM. Это обеспечивает языку практически полную независимость от машины, на которой производится запуск. Совокупность этих факторов и популярность смартфонов c ОС Android позволяет Java возглавлять список самых популярных языков по версии Tiobe, а нам — рекомендовать его начинающим разработчикам в качестве первого или основного.
Если взглянуть на этот же самый рейтинг, в конце второго десятка можно отыскать современные языки программирования. Например, Swift — продукт компании Apple, популярный не только за счет своих качеств, но и благодаря громкому имени производителя.
Будущее
Уже сейчас появляются языки программирования, которые можно назвать языками сверхвысокого уровня. Они предназначены не для написания прикладных программ, а для обработки больших массивов данных и статистики. В их числе R, MATLAB и Julia.Можно предполагать, что в будущем появятся человекоориентированные языки, на которых написать программу будет не сложнее, чем пост в ЖЖ. С другой стороны, квантовые компьютеры потребуют свой особый, квантовый ассемблер.
Как думаете, что будет дальше, и на какой из существующих языков поставите вы?
Автор статьи: Илья Бубнов
История развития языков программирования — эволюция кратко и перспективы
Как появились первые языки
Язык программирования — ключевой метод для записи компьютерных программ, которая в свою очередь является комбинацией инструкций и данных, необходимых для работы вычислительной машины.
Можно сказать, что это один из способов управления компьютером. То есть язык переводит человеческую речь в компьютерную, позволяя таким образом спокойно работать с различной техникой.
Язык помогает решить определенные задачи. Для каждого компьютера и устройства он подбирается в индивидуальном порядке. Именно поэтому существует так много разновидностей, и их количество стремительно растет.
Если говорить о том, как выглядели первые языки, то это была довольно сложная система. Все коды вручную вводились специалистами в вычислительные машины. Только спустя годы машинные коды были переработаны в более автоматизированный вид, с которым сейчас работают программисты.
Первое универсальное программируемое устройство появилось только в 1835 году. Это была машина Чарльза Бэббиджа, и первую программу, а точнее коды аналитических операций, написали только в 1837 году. Первый машинный алгоритм для машин Чарльза был написан лишь в 1843 году.
Хронология создания языков
Машинный алгоритм, который Ада Лавлейс написала для машины Бэббиджа, лёг в основу всех языков программирования. Уже в 1944 году Конрад Цузе представил миру Plankalkül (Планкалкюль или «расчет плана»), позволяющий сохранять фрагменты кода, которые можно было снова и снова использовать для выполнения рутинных задач.
После этого свет увидел язык Ассемблера и Shortcode. Они уже позволяли работать с более сложными операциями и значительно упрощали взаимодействие между человеком и компьютером.
Крупный прогресс в этой области появился в середине 1950-х годов, когда человек начал создавать языки программирования высокого уровня, то есть те, что позволяли программисту работать с устройством быстро и комфортно.
Первым таким стал FORTRAN (FORmula TRANslator), созданный в период с 1954 года по 1957 год. За разработку отвечала группа специалистов IBM, а руководил проектов Джон Бэкус. FORTRAN был хорошо принят и уже к 1963 году было создано более 40 компиляторов для разнообразных программ.
После успеха FORTRAN начали активно разрабатывать новые языки, например ALGOL58, LISP, COBOL, BASIC, Паскаль и многие другие. Чуть позже, в 70-х года, началась разработка универсального языка программирования С.
Уже в 1982 году был создан стандарт языка, на основе которого затем были разработаны С++ и Java, используемые по сей день.
В настоящее время известно более 8000 языков и их количество постоянно увеличивается.Какие старые языки программирования все еще используются
В настоящее время используется не так много «старых» языков программирования. Применяют их очень редко, в основном для решения точечных задач, которые нельзя выполнить при помощи более современных языков.
К таким языкам относятся:
-
ALGOL
-
COBOL
-
PL/I
-
PASCAL
-
LISP
-
APL
-
FORTRAIN
-
LOGO
-
ADA
В 2000-х годах даже были случаи, когда для починки того или иного устройства приходилось вызывать специалистов, давно ушедших на пенсию. В настоящее время ряд этих языков продолжают изучать в некоторых учебных заведениях.
При этом стоит понимать, что понятие «старый язык» довольно относительно. Здесь будет более уместно использовать слово «актуальный».
С развитием технологий многие языки перестают быть полезными, и на их основе разрабатываются новые языки, приспособленные для работы с современными устройствами.
Например, до сих пор активно используется Python, PHP, Java, C++ и прочие языки, созданные в 80-е и 90-е годы. Но уже сейчас на их основе ведётся разработка новых, более современных и удобных языков программирования, которые будут актуальны уже в ближайшем будущем.
Виды языков программирования
Начиная с 19 века стали появляться предметно-ориентированные языки программирования, каждый из которых имел собственный набор инструкций. Этот процесс идёт по сей день, и новые языки появляются по мере разработки инновационных устройств.
Языки используются в самых разных областях. Ими пользуются не только разработчики, но и дизайнеры, редакторы, аналитики, робототехники, инженеры и многие другие.
Области, где активно применяются языки программирования, условно можно разделить на две группы:
Сфера развлечений:
Разработчики создают различные приложения и игры для мобильных и стационарных устройств. Сюда можно отнести известную игру «Subway Surf» для смартфонов или «Stardew Valley» для компьютеров.
Бизнес:
Для этой сферы создаются программы, решающие конкретные проблемы. Например, разрабатывается мобильное приложение с доставкой продуктов.
Предлагаем ознакомиться с самыми крупными группами языков программирования, которые могут пригодиться в современном мире.Аспектно-ориентированные
Аспектно-ориентированные языки основаны на принципе объектно-ориентированного программирования. В основе понятие лежит некий объект, содержащий в себе данные (поля) и действия (методы), которые этот объект выполняет.
К самым распространённым аспектно-ориентированным языкам можно отнести:
-
С++
-
C#
-
Python
-
Swift
-
PHP
-
Java
-
JavaScript
-
Cyclone
-
F#
Структурные
Структурные языки держатся на парадигме, в основе которой лежит представление программы в виде четкой иерархической структуры блоков.
Разработка программ идёт сверху вниз и цель данного программирования в повышении производительности специалистов, минимизации ошибок и упрощении процесса отладки и сопровождения программного обеспечения.
Наиболее популярные структурные языки:
-
Basic
-
FORTRAIN
-
Shell
-
Pascal
-
Cg
-
QBASIC
Процедурные
Процедурные языки основаны на программировании на императивном языке. Он основан на том, что последовательно выполняемые инструкции (операторы) можно объединить в подпрограммы при помощи механизма самого языка.
Процедурные языки позволяют специалиста самостоятельно определять следующий шаг в процессе работы. Все задачи разбиваются на отдельные шаги и выполняются последовательно под присмотром программиста, который и определяет, какая задача будет выполняться в первую очередь.
Наиболее известные процедурные языки программирования:
-
PHP
-
Pascal
-
COBOL
-
Occam
-
Maple
-
Limbo
-
GNU bc
Логические
Вся суть логического языка программирования основана математической логике. Это значит, что все программы прописываются в виде закономерных правил и выводе новых фактов на основе заранее введенных утверждений.
Это направление возникно для упрощения процесса функционального программирования для специалистов, работающих над задачами символьной обработки.
Логические программы представляют из себя набор данных и правил, на основе которых получают новые отношения между заданными объектами. Никаких вычислений в процессе не происходит, потому что по сути, логические программы это базы данных о предметной области задачи.
К логическим языкам относятся:
-
Curry
-
Prolog
-
Mercury
Объектно-ориентированные
Это языки, основанные на представлении программы в виде объединения объектов, которые взаимодействуют между собой. При этом каждый объект считается представителем определенного класса, которые в свою очередь складываются в последовательную иерархию наследования.
Это позволяет создавать удобные и управляемые системы, при помощи которых можно быстро и легко работать над сложными проектами и задачами, не привлекая для этого большое количество специалистов.
Объектно-ориентированные
-
C++
-
GML
-
Action Script
-
Dylan
-
PHP
-
Swift
-
Visual Basic
-
Zonnon
-
Python
-
MC#
Функциональные
Функциональные языки программирования основаны на парадигме, в которой процесс вычисления трактуется как вычисление функций с математической точки зрения.
Это значит, что программирование основано на математических функциях. При этом функция рассматривается не как метод, а как канал, преобразующий одно значение в другое. При этом функция позволяет работать с неизмеряемыми переменными.
Функциональное программирование используется для машинного обучения и анализа данных. К функциональным языкам относятся:
Функциональные
-
J
-
Haskell
-
Dylan
-
Clean
-
Scala
-
Cat
-
Hope
-
Scheme
-
F#
-
Erlang
Мультипарадигмальные
Мультипарадигмальное программирования основано на языке, позволяющем одновременно использовать несколько парадигм. Он сочетает в себе изобразительные возможности нескольких языков, которые обычно являются неродственными.
Мультипарадигмальное программирование позволяет разрабатывать программы, которые будут решать поставленные задачи самым лёгким и эффективным способом. Это сложное в освоении направление, но при этому мультипарадигмальное программирование является одним из лучших инструментов для работы.
Мультипарадигмальные
-
C++
-
PHP
-
Curry
-
Swift
-
Julia
-
Scala
-
Python
-
Mozart
-
Delphi
Эзотерические
Это не совсем привычный язык. По своей сути он разработан для исследования и расширения границ возможностей разработки новых языков программирования. С помощью эзотерического программирования специалисты доказывают потенциально возможные реализации тех или иных идей, которые часто являются шуточными.
Эзотерические языки часто являются абсурдной формой более серьезных языков. Чаще всего их разрабатывают для развлечения, и в обычной жизни для работы их практически не используют.
-
Piet
-
LOLCODE
-
Byter
-
Befunge
-
FALSE
-
Whitespace
-
Empty Script
Вывод
При выборе языка программирования, который вы планируете изучать, не стоит пытаться охватить всё и сразу. Лучше всего выбрать одно направление, детально изучить его и только затем переходить к следующему.
Если вы хотите быстрее выучить базу и начать активно практиковаться, лучше записываться на специальные курсы, например, в онлайн-университетах. Самостоятельное изучение тоже имеет место, но в этом случае у вас не будет четких сроков, и есть вероятность, что изучения языка растянется не на один год.
При этом стоит понимать, что нельзя выучить язык один раз и на всю жизнь. Сфера информационных технологий развивается каждый день, поэтому для комфортной и продуктивной работы придётся учить каждый день до конца жизни. Только тогда вы сможете стать востребованным специалистом, способным решить любую поставленную задачу.
Информация была полезна?
40 оценок, среднее 4.72 из 5
Эволюция языков программирования: с 1843 года по сегодняшний день
Любое цифровое устройство, которое мы используем в повседневной жизни, зависит от алгоритма, разработанного с помощью языка компьютерного программирования. Это просто то, как компьютеры общаются друг с другом.
Вы когда-нибудь задумывались, сколько языков программирования существует в настоящее время? По разным оценкам, общее количество языков программирования находится в диапазоне от 250 до 9000.
Независимо от того, пишете ли вы код на языке клиента или на своем собственном, современные разработчики программного обеспечения и веб-приложений выигрывают от изобилия доступных языков программирования для любого приложения.
Разработчики программного обеспечения, профессия в постоянном развитии.В этой статье мы рассмотрим постепенную эволюцию некоторых из самых важных языков программирования в мире, а также откроем некоторые из наиболее важных современных тенденций программирования.
Что такое язык программирования?Вы можете думать о языке программирования как о компьютерном языке, используемом программистами или разработчиками программного обеспечения для связи с компьютерами и другими цифровыми устройствами. По сути, это набор инструкций или алгоритмов, написанных в определенной языковой среде, такой как Python или C, с основной целью выполнения широкого круга конкретных задач.
Типы языков программированияКак правило, все языки программирования, новые или старые, можно разделить на две основные категории:
Языки низкого уровняЯзыки низкого уровня используются для написания компьютерных инструкций в двоичном коде — это машинный код, состоящий из чисел 0 и 1. Примеры языков низкого уровня включают машинный язык и язык ассемблера. Машинный язык — это первое поколение компьютерного программирования, использующее инструкции в двоичной форме, которые могут быть напрямую интерпретированы ЦП без необходимости перевода. Язык ассемблера — это второе поколение низкоуровневого компьютерного программирования. Этот тип языка позволяет программистам писать компьютерные инструкции с использованием символический код вместо двоичного кода, состоящего только из 0 и 1.
Языки высокого уровняЯзыки высокого уровня — это языки программирования, которые позволяют разработчикам программного обеспечения писать компьютерные инструкции с помощью команд, написанных на естественных языках, таких как английский. Каждый язык высокого уровня имеет собственный набор правил и грамматику для написания инструкций по программированию любого цифрового устройства. Эти уникальные наборы правил обычно называют «синтаксисом» конкретного языка программирования. В отличие от языков низкого уровня, перед запуском программы, написанной на языке высокого уровня, инструкции по кодированию должны быть сначала переведены в машинный код . Каждый язык программирования высокого уровня использует собственную встроенную программу перевода.
Эволюция языков компьютерного программированияВ наш цифровой век, когда почти все возможно мгновенно с помощью нескольких щелчков мыши, легко забыть, как далеко мы продвинулись на пути невероятного технического прогресса. Давайте взглянем на некоторые ключевые вехи эволюции языков программирования:
1843 – программы Ады Лавлейс для аналитической машины Чарльза БэббиджаНекоторые считают его «отцом компьютера», в 1837 году Чарльз Бэббидж предложил аналитическую машину, механический компьютер общего назначения. К 1843 году Ада Лавлейс, первый в мире программист, первой осознала, что аналитическая машина может делать гораздо больше, чем просто вычисления, и опубликовала первый алгоритм, предназначенный для ее работы.
1949 — Ассемблер становится первым широко используемым типом языка программированияКак упоминалось выше, этот тип низкоуровневого языка программирования важен, потому что он был первым, который позволил программистам писать код, используя символы вместо двоичного кода. Даже сегодня тот же самый тип компьютерного программирования используется в программном обеспечении реального времени, таком как симуляторы полетных навигационных систем и медицинского оборудования для мониторинга, или для создания компьютерных вирусов.
1952 — Autocode становится первым скомпилированным языком программированияВпервые разработанный Аликом Гленни для компьютера Mark 1, автокод — это термин, используемый для семейства «упрощенных систем кодирования», позже переименованных в языки программирования, которые в конечном итоге стали включать такие примеры, как Cobol и Fortran. Даже если Fortran сегодня широко не используется в промышленности, он по-прежнему используется НАСА и по-прежнему популярен в научных и инженерных приложениях.
𝕗 𝕡𝕣𝕠𝕕𝕦𝕔𝕚𝕟𝕘 𝕙𝕚𝕘𝕙 𝕢𝕦𝕒𝕝𝕚𝕥𝕪 𝕀𝕋 𝕕𝕖𝕧𝕖𝕝𝕠𝕠 𝕞𝕖𝕟𝕥 𝕗𝕠𝕣 𝕪𝕠𝕦𝕣 𝕔𝕠𝕞𝕡𝕒𝕟𝕪? 𝔸𝕥 𝔹𝕠𝕔𝕒𝕤𝕒𝕪, 𝕠𝕦𝕣 𝕕𝕖𝕕𝕚𝕔𝕒𝕥𝕖𝕕 𝕥𝕖𝕒𝕞𝕤 𝕠𝕗 𝕕𝕖𝕧𝕖𝕝𝕠𝕡𝕖𝕣𝕤 𝕡𝕣𝕠𝕧𝕚𝕕𝕖 𝕔𝕦𝕥𝕥𝕚𝕟𝕘 𝕖𝕕𝕘𝕖 𝕤𝕠 𝕗𝕥𝕨𝕒𝕣𝕖 𝕤𝕠𝕝𝕦𝕥𝕚𝕠𝕟𝕤 𝕗𝕠𝕣 𝕔𝕠𝕞𝕡𝕒𝕟𝕚𝕖𝕤 𝕒𝕣𝕠 𝕦𝕟𝕕 𝕥𝕙𝕖 𝕨𝕠𝕣𝕝𝕕. 𝔾𝕖𝕥 𝕚𝕟 𝕥𝕠𝕦𝕔𝕙 𝕥𝕠 𝕗𝕚𝕟𝕕 𝕠𝕦𝕥 𝕙𝕠𝕨 𝕨𝕖 𝕔𝕒𝕟 𝕙 𝕖𝕝𝕡 𝕨𝕚𝕥𝕙 𝕪𝕠𝕦𝕣 𝕟𝕖𝕩𝕥 𝕡𝕣𝕠𝕛𝕖𝕔𝕥.
1957 — Fortran предназначен для числовых вычислений и научных вычисленийРазработанный Джоном Бэкусом и IBM, Fortran считается первым языком высокого уровня, относительно простым для изучения и широко применимым. Самое главное, Фортран позволил программистам разрабатывать программное обеспечение на 500% быстрее, чем при написании кода на ассемблере или машинном языке. Программное обеспечение, на котором работали космические корабли НАСА «Вояджер-1» и «Вояджер-2», было написано на Фортране 5.
1959 – Кобол признан общим бизнес-ориентированным языкомСтав лучшим выбором для бизнес-приложений и во многом благодаря своей популярности IBM, к 1997 году 80% бизнеса в мире работали на Коболе. Совсем недавно, в 2020 году, налоговая служба США проложила себе путь к основанному на Cobol МВФ (индивидуальный мастер-файл), чтобы поддержать граждан и компании в рамках пакета помощи и помощи в связи с пандемией коронавируса.
1964 – BASIC (Универсальный код символических инструкций для начинающих)Разработанный Джоном Г. Кеннеди и Томасом Э. Курцем язык программирования BASIC должен был быть как можно более доступным, и неудивительно, что в конечном итоге он стал доминировать на рынке домашних компьютеров, появившемся в 1970-х годах. К 1991 году Microsoft разработала Visual Basic, объединив обновленную версию BASIC с построителем визуальных форм.
1972 – C начинает формировать будущее персональных компьютеровC является матерью почти всех языков высокого уровня и по сей день остается одним из самых популярных в мире. Его можно использовать для реализации компьютерной операционной системы, встроенной системы, а также в веб-средах с использованием общего интерфейса шлюза (CGI). Языки-потомки C включают C#, D, Go, Java, JavaScript, Limbo, Python и другие.
Текущие тенденции в языках программирования Каково назначение языка программирования?Поскольку цифровая трансформация нашего мира происходит быстрее, чем когда-либо, а навыки программирования по-прежнему пользуются большим спросом в самых разных отраслях, какие языки программирования сегодня являются наиболее важными и широко используемыми?
PythonПочти 50% разработчиков программного обеспечения сегодня используют язык программирования Python. Это читаемый язык высокого уровня, одобренный Google, Pinterest, Wikipedia, Instagram и другими.
JavaScriptJavaScript — мультипарадигмальный и динамический язык программирования, который выбирают почти 65% современных программистов . Его поддерживают Microsoft, Paypal, Netflix, Uber, Facebook и другие.
JavaJava, один из самых востребованных и классических языков программирования, используемых сегодня, используется такими компаниями, как Spotify и Amazon, для обеспечения быстрой разработки программного обеспечения и экономической эффективности.
PHPПочти 22% мировых специалистов используют язык PHP для сценариев и веб-разработки. Это язык с открытым исходным кодом, отличающийся простотой, экономичностью и доступностью.
TypescriptУпрощение Javascript за счет облегчения чтения и отладки. По состоянию на 2022 год TypeScript несколько лет подряд входит в десятку наиболее используемых профессиональных языков программирования.
История языков программирования — DevSkiller
Компьютерное программирование — основа цифровой эпохи, в которой мы живем сегодня. Каждый раз, когда вы лайкаете публикацию в социальных сетях, отправляете электронное письмо или устанавливаете будильник на своем телефоне, за кулисами работает язык программирования — дергает за ниточки.
Но с чего все началось? И что стимулировало ее рост в ведущую отрасль, существующую сегодня? Прежде всего, почему знание истории языков программирования важно для найма разработчиков?
Присоединяйтесь к нам, и мы отправимся в путешествие по истории языков программирования. Эта ретроспектива продемонстрирует, насколько сильно развилось компьютерное программирование за эти годы. Это вернет вас от ранних языков и сложного машинного кода к сложному, понятному человеку языку, на котором сегодня основаны наши любимые технологии.
Содержание
Первый язык программирования
Знаете ли вы, что первый язык программирования был изобретен еще в 1843 году? Ада Лавлейс придумала первый в мире машинный алгоритм для первой вычислительной машины, который она записала на листе бумаги, потому что в то время не существовало компьютеров! Языки программирования, очевидно, прошли долгий путь с тех пор, но чтобы понять историю языков программирования, нужно сначала признать их происхождение.
История языков программирования: Хронология
Ниже представлена хронология истории языков программирования. Первые известные языки программирования представляли собой сложные машинные коды, которые вручную вводились в первые вычислительные машины. Как вы обнаружите, компьютерное программирование быстро превратилось из машинных кодов в полностью автоматизированный человекочитаемый код.
1843: Машинный алгоритм Ады ЛавлейсАда Лавлейс изобретает первый в мире машинный алгоритм для разностной машины Чарльза Бэббиджа, который закладывает основу для всех языков программирования.
Источник: Wikimedia Commons. (Расчет плана). Язык Зевса (среди прочего) позволял создавать процедуры, в которых хранились куски кода, которые можно было вызывать снова и снова для выполнения рутинных операций.
Источник: Wikimedia Commons
1949: Язык ассемблераЯзык ассемблера использовался в автоматическом калькуляторе электронного хранения с задержкой (EDSAC). Язык ассемблера был типом языка программирования низкого уровня, который упрощал язык машинного кода. Другими словами, конкретные инструкции, необходимые для работы на компьютере.
1949: ШорткодШорткод (или Шорткод) был первым языком высокого уровня (HLL), предложенным Джоном Макколи в 1949 году. Однако именно Уильям Шмитт реализовал его для компьютера BINAC в том же год и для UNIVAC в 1950.
1952: АвтокодАвтокод — это общий термин, используемый для семейства языков программирования. Впервые разработанный Аликом Гленни для компьютера Mark 1 в Манчестерском университете, Autocode был первым в мире компилируемым языком, который был реализован, что означает, что его можно было преобразовать непосредственно в машинный код с помощью программы, называемой компилятором. Автокод использовался на ранних вычислительных машинах Ferranti Pegasus и Sirius в дополнение к Mark 1.
1957: FORTRANFORmula TRANslation или FORTRAN был создан Джоном Бэкусом и считается старейшим из используемых сегодня языков программирования. Язык программирования был создан для высокоуровневых научных, математических и статистических вычислений. FORTRAN до сих пор используется в некоторых из самых передовых суперкомпьютеров мира.
Источник: Flickr. ALGOL послужил отправной точкой для разработки некоторых наиболее важных языков программирования, включая Pascal, C, C++ и Java.
1958: LISP (процессор списков)Процессор списков или LISP был изобретен Джоном Маккарти в Массачусетском технологическом институте (MIT). Первоначально предназначенный для искусственного интеллекта, LISP является одним из старейших языков программирования, который все еще используется сегодня, и его можно использовать вместо Ruby или Python. Такие компании, как Acceleration, Boeing и Genworks, все еще используют LISP в своих технологических стеках.
Источник: WikiMedia
1959: COBOL (Общий бизнес-ориентированный язык)Общий бизнес-ориентированный язык (COBOL) — это язык программирования, лежащий в основе многих процессоров кредитных карт, банкоматов, телефонных и сотовых вызовов, больничных сигналов и систем сигналов светофора (просто назвать немного). Разработкой языка руководила доктор Грейс Мюррей Хоппер, и он был разработан таким образом, чтобы он мог работать на компьютерах всех марок и типов. COBOL до сих пор используется в основном для банковских систем и систем геймификации.
Источник: Pixabay
1964: BASIC (Универсальный символический код инструкций для начинающих)Универсальный символический код инструкций для начинающих или BASIC Группа студентов Дартмутского колледжа. Язык был написан для студентов, у которых не было четкого понимания математики или компьютеров. Этот язык был доработан основателями Microsoft Биллом Гейтсом и Полом Алленом и стал первым коммерческим продуктом компании.
1970: PASCALНазванный в честь французского математика Блеза Паскаля, Никлаус Вирт разработал язык программирования в его честь. Он был разработан как средство обучения компьютерному программированию, что означало, что его было легко освоить. В первые дни существования компании Apple предпочитала его из-за простоты использования и мощности.
Источник: Flickr
1972: SmalltalkРазработанный Аланом Кеем, Адель Голдберг и Дэном Ингаллсом в Исследовательском центре Xerox в Пало-Альто, Smalltalk позволял программистам изменять код на лету. Он представил множество аспектов языка программирования, которые сегодня являются видимыми языками, такими как 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 (ПРОДОЛЖЕНИЕ в то время)SQL был впервые разработан исследователями IBM Рэймондом Бойсом и Дональдом Чемберленом. SEQUEL (как его тогда называли) используется для просмотра и изменения информации, хранящейся в базах данных. В настоящее время язык является аббревиатурой — SQL, что означает язык структурированных запросов. Есть множество компаний, которые используют SQL, и некоторые из них включают Microsoft и Accenture.
1980/81: AdaПервоначально Ada была разработана группой под руководством Джин Ичбиа из CUU Honeywell Bull по контракту с Министерством обороны США. Назван в честь середины 19математика 19-го века Ады Лавлейс, Ада — это структурированный, статически типизированный, императивный, широкоспектральный и объектно-ориентированный язык программирования высокого уровня. Ада была расширена из других популярных в то время языков программирования, таких как Паскаль. Ада используется для систем управления воздушным движением в таких странах, как Австралия, Бельгия и Германия, а также во множестве других транспортных и космических проектов.
1983: C++Бьерн Страуструп модифицировал язык C в Bell Labs. C++ является расширением C с такими улучшениями, как классы, виртуальные функции и шаблоны. С 19 года входит в десятку лучших языков программирования.86 и получил статус Зала славы в 2003 году. C++ используется в MS Office, Adobe Photoshop, игровых движках и другом высокопроизводительном программном обеспечении.
1983: Objective-CObjective-C, разработанный Брэдом Коксом и Томом Лавом, является основным языком программирования, используемым для написания программного обеспечения для macOS и iOS, операционных систем Apple.
Источник: Cleanpng
1987: PerlPerl был создан Ларри Уоллом и представляет собой высокоуровневый язык программирования общего назначения. Первоначально он был разработан как язык сценариев, предназначенный для редактирования текста, но в настоящее время он широко используется для многих целей, таких как CGI, приложения баз данных, системное администрирование, сетевое программирование и графическое программирование.
Источник: Flickr
1990: HaskellHaskell — язык программирования общего назначения, названный в честь американского логика и математика Хаскелла Брукса Карри. Это чисто функциональный язык программирования, что означает, что он в основном математический. Он используется во многих отраслях, особенно в тех, которые связаны со сложными расчетами, записями и обработкой чисел. Как и многие другие языки программирования той эпохи, Haskell не слишком часто можно увидеть в хорошо известных приложениях. При этом язык программирования использовался для написания ряда игр, одной из которых является «Никки и роботы».
Источник: Wikimedia
1991: PythonPython был назван в честь британской комедийной труппы «Монти Пайтон». Это высокоуровневый язык программирования общего назначения, созданный для поддержки различных стилей программирования и доставляющий удовольствие от использования (ряд руководств, примеров и инструкций часто содержит ссылки на Monty Python). Python и по сей день является одним из самых популярных языков программирования в мире, его используют такие компании, как Google, Yahoo и Spotify.
Источник: Flickr
1991: Visual BasicVisual Basic, разработанный Microsoft, позволяет программистам использовать стиль перетаскивания для выбора и изменения предварительно выбранных фрагментов кода через графический интерфейс пользователя (GUI). . В наши дни этот язык не используется слишком часто, однако Microsoft использовала части Visual Basic для ряда своих приложений, таких как Word, Excel и Access.
Источник: Pixabay
1993: RubyСозданный Юкихиро Мацумото, Ruby представляет собой интерпретируемый язык программирования высокого уровня. Язык обучения, на который повлияли, в частности, Perl, Ada, Lisp и Smalltalk. Основное использование Ruby — разработка веб-приложений и Ruby on Rails. Twitter, Hulu и Groupon — некоторые известные примеры компаний, использующих Ruby.
Источник: Wikimedia
1995: JavaJava — язык высокого уровня общего назначения, созданный Джеймсом Гослингом для проекта интерактивного телевидения. Он обладает кроссплатформенной функциональностью и неизменно входит в число самых популярных языков программирования в мире. Java можно найти везде, от компьютеров и смартфонов до парковочных счетчиков.
Источник: Викимедиа. Его основное использование включает создание и поддержку динамических веб-страниц, а также разработку на стороне сервера. Некоторые из крупнейших компаний со всего мира используют PHP, включая Facebook, Wikipedia, Digg, WordPress и Joomla.
1995: JavaScriptJavaScript был создан Бренданом Эйхом, этот язык в основном используется для динамической веб-разработки, 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 и Craftbase.
2009: GoGo был разработан Google для решения проблем, возникающих из-за больших программных систем. Благодаря своей простой и современной структуре Go завоевал популярность среди некоторых крупнейших технологических компаний по всему миру, таких как Google, Uber, Twitch и Dropbox.
2014: SwiftРазработанный Apple в качестве замены C, C++ и Objective-C, Swift был разработан с намерением быть проще, чем вышеупомянутые языки, и оставлять меньше места для ошибок. Универсальность Swift означает, что его можно использовать для настольных, мобильных и облачных приложений. Ведущее языковое приложение Duolingo запустило новое приложение, написанное на Swift.
Какие старые языки программирования используются до сих пор?
Не все языки программирования вечны. Будь то результат развития технологий или просто замена более сложным языком. При этом есть несколько старых языков программирования, которые до сих пор используются ИТ-специалистами:
FORTRAN
Первоначальная версия FORTRAN была предложена в IBM Джоном Бэкусом еще в 1953 году. используется для научной работы, потому что его оптимизированный код выгодно конкурирует с написанным от руки ассемблерным кодом. Этот язык до сих пор используется на некоторых из самых быстрых суперкомпьютеров в мире. С 19 года была серия обновлений53 с последней версией, выпущенной в 2018 году.
COBOL
COBOL был разработан еще в 1959 году и был одним из первых языков программирования высокого уровня. Несмотря на то, что он был изобретен так давно, COBOL по-прежнему широко распространен сегодня. Только в США 43 % банковских систем построены на языке COBOL, что составляет 95 % считываний банкоматов и 80 % транзакций, совершаемых лично.
Источник: Unsplash
Ранние языки программирования Microsoft и Apple
Microsoft и Apple — две самые фундаментальные компании в истории языков программирования. BASIC (впервые выпущен в 1964), был изменен основателями Microsoft Биллом Гейтсом и Полом Алленом в 1975 году. Их измененная версия стала Altair BASIC, которая была первым продаваемым и распространяемым продуктом Microsoft и привела к созданию компании.
Паскаль был предпочтительным языком программирования в первые дни существования Apple. Изобретенный в начале 1970-х, Паскаль понравился разработчикам Apple из-за его мощности и простоты использования. Однако, когда Apple приобрела библиотеку кода NeXTSTEP в 1996 году, Objective-C (который был лицензирован NeXTSTEP) стал популярным языком для технологического гиганта.
Какой язык программирования сегодня самый популярный?
Мы приближаемся к концу нашего путешествия по истории языков программирования. Как вы видели, компьютерное программирование развилось до уровня, превосходящего все ожидания, благодаря технологии, на которую мы полагаемся ежедневно. Именно по этой причине нам нужны квалифицированные специалисты для реализации и управления языками программирования, которые сегодня управляют миром.
Но какой язык программирования самый популярный?
Отчет DevSkiller 2020 об ИТ-навыках дает ценную информацию именно по этому вопросу. Отчет содержит данные более чем 213 000 тестов кодирования, отправленных в 143 страны компаниями, которые хотят нанять специализированных ИТ-специалистов.
Как вы можете видеть выше, JavaScript был самым популярным языком, протестированным на DevSkiller, судя по разосланным тестовым приглашениям. Этот вывод подтверждается опросом разработчиков Stack Overflow 2020, в котором JavaScript восьмой год подряд признан самым популярным языком программирования. SQL, Java, HTML/CSS и .NET/C# замыкают пятерку лучших в наших результатах.
Заключение
История языков программирования увлекательна. Кто бы мог подумать, что алгоритм середины 19 века проложит путь к технологическому обществу, в котором мы живем сегодня. Языки программирования прошли долгий путь от первых машинных кодов до сложного человекочитаемого кода, на котором основаны наши любимые технологии сегодня.