luckyea77 (luckyea77) wrote,
luckyea77
luckyea77

Category:

Почему умирают старые языки программирования



По разным оценкам, на сегодняшний день в мире существует от 2,5 до 10 тыс. языков программирования различного уровня и типа. На них только в России пишут около 500 тыс. человек, а точное количество программистов по всему миру до конца неизвестно — цифры расходятся от 18 до 25 млн разработчиков. Они работают в разных сферах — одни занимаются бэкенд-разработкой, другие — фронтенд, третьи пишут нейросети и работают с большими данными. «Хайтек» составил список языков программирования, на которых практически перестали работать уже сейчас либо которые забудутся уже в ближайшие годы.

В последнее десятилетие ИТ-сфера стала одной из самых высокооплачиваемых и модных во всем мире. Давно пропал стереотип, что программисты — это толстенькие мальчики в очках, целыми днями сидящие за компьютером, а работать в технологической отрасли хотят все больше и больше людей, даже переходя туда из других сфер.

И судя по тому, как развивается человечество, потребность в программистах с каждым годом будет все увеличиваться. Как и количество языков, на которых будут решаться абсолютно новые задачи.

Язык ассемблера

Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать только команды, которые состоят из единиц и нулей — последовательность перепада напряжения, машинный код.

Первоначально программисты писали на машинном коде — только он был понятен компьютерам. В итоге любая программа выглядела как гигантская череда единиц и нулей — без возможности дебага, тестирования и ускорения этого процесса. Однако самым большим минусом машинного языка оказалась его машинно-зависимость — каждому типу компьютеров необходимо было составлять собственную программу.

Именно в качестве автоматизации машинного языка (на котором и сейчас периодически пишут код, но специалистов такого плана в мире осталось очень и очень немного) появился первый язык низкого уровня — ассемблер. С его помощью можно было представлять машинный код в более понятном для человека виде — именно тут появляются первые команды, которые отражают суть задачи. Например, команда сложения двух цифр на машинном коде выглядела как 000010, а на ассемблере — add.



Однако ассемблер взял в себя и достаточно фундаментальные особенности машинного кода — он оставался машинно-зависимым, ориентируемым на конкретный тип процессора и учитывал его особенности. С одной стороны, это подходило под высоконагруженные задачи, поскольку в таких условиях писались самые быстрые программы. Они обращались напрямую к процессору, но уже не состояли из нулей и единиц. С другой — под каждый процессор приходилось переписывать программу заново, а учитывая размеры машинного года, на это уходило огромное количество времени.

Сложность написания на ассемблере сложных многоуровневых программ привело к созданию языков высокого уровня. При этом сейчас ассемблер все еще иногда используют — для написания очень специфических фрагментов программ, например, драйверов, работающих с железом. Еще им пользуются хакеры, которые создают очень быстрые и легкие вирусы.

По сути, ассемблер будет существовать до тех пор, пока ЭВМ не сменят архитектуру процессоров, например, на биотехническую. При этом ассемблер давно стал настолько узкоспециализированным, что говорить о его развитии и активной жизни нельзя, а существует он только по абсолютно естественным причинам.

Все языки программирования делятся на условные пять типов:

Низкого уровня. К ним, в первую очередь, относят машинные языки, которые реализуются непосредственно на аппаратном уровне. Это первое существующее поколение языков программирования.

Языки второго поколения, так называемые языки ассемблера. Они немного упрощают взаимодействие пользователя с машинным кодом, при этом позволяя точно контролировать, как требуемая функциональность будет выполняться на определенном процессоре с ювелирной точностью. Минусом, как и у программ, написанных на машинном языке, является их машинно-зависимость — под каждый процессор необходимо писать свой код программы.

Высокого уровня. К 1970-м годам сложность программ на языках ассемблера увеличилась настолько, что программисты перестали с ними справляться. В итоге появились языки программирования высокого уровня. Они намного легче переносятся с компьютера на другой и модифицируются, а программистам работать на них намного проще, чем раньше. В эту категорию входят практически все самые распространенные сейчас языки — C, C++, Python, Java, JavaScript, PHP.

Эти три типа языков входят в императивную парадигму программирования. Это классический тип программирования, когда в коде указывают команды процессору, а все эти инструкции выполняются по очереди. По сути, в коде описывается, как решить определенную задачу и предоставить результат. Еще два типа языков входят в декларативную парадигму — полную противоположность императивной. Ее главной особенностью считается другой подход к программированию. В коде должно указываться, что будет представлять собой программа и каким должен быть результат.

Языки программирования четвертого поколения (4GL) представляют собой скорее среды для разработчиков, где можно писать код. Они предназначены для реализации крупных проектов, повышают надежность их разработки и скорость создания. Ориентированы на специализированные области применения и используют не универсальные, а объектно-ориентированные языки, оперирующие конкретными понятиями. В них встраиваются мощные операторы и библиотеки, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного кода. 4GL в качестве кода могут использовать даже визуальные образы и естественные языки.

Пятый уровень программирования. Появление языков этого поколения датируется серединой 90-х годов. К ним относятся также системы автоматического создания программ с помощью визуальных средств разработки, без знания программирования. По сути, этими средами должны пользоваться даже люди без навыков написания кода. Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека. Как и предыдущий уровень программирования, это среда для написания кода, а не сам язык.

Язык программирования Fortran

Именно первый язык высокого уровня Fortran пришел на смену ассемблеру в 1957 году. Название Fortran является сокращением от FORmula TRANslator — «переводчик формул». Несмотря на критику, его быстро приняли в компьютерном обществе, особенно в научной среде.

Структура Fortran позволяла просто создавать программы с интенсивными вычислениями, а включение комплексного типа данных сделало его особенно подходящим для технических разработок и инженерных вычислений.



Его используют и сейчас в научном сообществе, но в основном из-за гигантского количества библиотек с уже решенными задачами, которые математики создавали десятилетиями — и их нет смысла переписывать на другие языки. Особенно десятки тысяч готовых пакетов с перемноженными матрицами и решениями сложных интегральных уравнений.

1С — редкий язык программирования, использующий кириллицу

Язык программирования 1C практически не выбирают молодые программисты — средний возраст разработчиков на этом языке составляет более 35 лет. Средой исполнения языка 1С является платформа «1С:Предприятие», при этом все команды и вообще вся разработка ведутся на русском языке.

Во время проектирования этого языка в середине 90-х годов такой подход был разумным, поскольку 1С стал одним из самых массовых языков программирования на территории стран СНГ. Однако в дальнейшем именно использование кириллицы ограничило рост языка, и постепенно он начал терять свою популярность. Да, разработчики добавили возможность написания кода и на английском языке, однако это не сильно повлияло на интеграцию языка в мировое сообщество.



Даже несмотря на то, что платформы 1С являются практически монополистами бухгалтерского рынка стран СНГ, язык, на котором работают все внутренние платформы, не является универсальным. В связи с этим либо языку придется сильно измениться, либо компании 1С постепенно переходить на другие, более перспективные языки программирования.

Objective-C — фирменный язык Apple

Язык программирования Objective-C появился еще в 1980-х годах, однако широкую популярность приобрел только в 2009 году — после выхода культового смартфона iPhone 3G. Сам язык Objective-C совмещал в себе идеи C и Smalltalk — применения систем с оконным управлением.

Несмотря на востребованность языка, Apple пришлось отказаться от его использования из-за большого количества критических ошибок, а также ограниченности его использования.

Вместо Objective-C разработчики Apple представили язык программирования Swift, на котором теперь работают все приложения, написанные под iPhone. Сейчас компания Apple почти перестала поддерживать Objective-C.

При этом в ближайшие годы у разработчиков, знающих Objective-C, будет довольно много работы. Это связано с тем, что многие приложения написаны на этом языке и их необходимо будет поддерживать.

J# от Microsoft

С постепенным распространением программной платформы .NET Framework компания Microsoft решила создать собственный скрипт программирования, который бы смог заменить популярнейший язык Java для разработчиков.

J# в итоге оказался недоделанным и с практически полностью скопированным синтаксисом у Java. Даже для поддержки .NET Framework языку J# пришлось использовать дополнительные библиотеки — это еще больше усложняло работу с ним.



Сейчас J# перестал поддерживаться Microsoft и исключен из пакета Visual Studio, поэтому его изучение для программистов стало абсолютно бессмысленным.

ActionScript и Flash Player

Достаточно популярный еще пять лет назад язык программирования ActionScript от компании Adobe. Он имеет достаточно узкую направленность — именно с его помощью работает веб-плеер Flash Player, а его скорость и эффективность оказались намного выше, чем у JavaScript.

Основным недостатком ActionScript оказалась именно работа Flash Player. Его чаще всего использовали хакеры для взлома компьютеров, он имел множество внутренних критических слабостей, которые невозможно заделать патчами.

Поэтому многие ИТ-компании постепенно отказались от поддержки Flash Player, оставив его альтернативой HTML 5. В итоге и Adobe решила отказаться от поддержки этого языка к 2020 году. До конца непонятно, собирается ли компания представить какой-то аналог этого языка или работа веб-плеера полностью перейдет на формат HTML 5.

Вообще существуют тысячи мертвых языков, которыми почти никто не пользуется. И в дальнейшем их будет появляться еще больше — на базе существующих языков постоянно возникают новые, а программисты пишут очередные фреймворки, обновляя их. При этом каждое новое поколение программистов будет изучать либо фундаментальные языки, либо самые новые и востребованные, тогда как старые и специфические среды для создания кода будут помнить лишь небольшие группы людей.

Смотрите также:
Самые востребованные языки программирования в России в 2019 году
Языки программирования, разработанные российскими и советскими программистами
История языков программирования

Tags: программирование
Subscribe

Posts from This Journal “программирование” Tag

Buy for 20 tokens
Трудно представить, что сейчас можно чувствовать себя комфортно, при этом не общаясь с техникой на «ты». Скорее даже — на «эй ты, хеллоу, где мой горячий чай?» ))) Я говорю не про машины, самолеты или космические корабли, здесь другая история. Я про банальное:…
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments