[Программирование, Карьера в IT-индустрии, История IT] Последние четверть века развития в программировании нет

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
30-Май-2021 15:32


В множестве статей можно встретить тезис, что программирование - это такое место, где всё постоянно развивается, и, стоит только отвлечься на полгодика, как ты перестаёшь быть специалистом и прям ну просто никуда уже на работу не устроиться. Дескать, работа программиста - это постоянная учёба. Учёба всю жизнь. Постоянный бег за всё ускоряющимся поездом.Давайте разберёмся с этим. Может быть, это не поезд, а беличье колесо?Какие супертехнологии захлестнули мир программирования в последний десяток-два лет?Асинхронное программированиеНу, конечно, повсеместно появилась разного рода асинхронщина. Python, JS (и многие другие) внедрили аляповатовые методы async/await (непонятно, почему нормально не сделать, ну да ладно, это тема отдельной статьи). Асинхронщина представляется как панацея от всего, позволяющая утилизировать CPU почти на 100%. Крутая технология! Но вот новая ли она?Нет, она старая, как мир (IT)! Ещё в 2004-м году увидел мир вебсервер nginx, построенный на этой технологии (и почти одновременно с ним множество других, чуть менее известных). Copyright на заголовочные файлы для epoll в линуксе говорит о 2001-м годе. Но и epoll - это просто развитие и до этого существовавшей технологии. А select был ещё в первых Unix'ах.Может быть, сопрограммы (корутины) - новая технология? Иной, так сказать, взгляд на асинхронное программирование? Нет, это тоже крайне старая технология:
Википедия: появление понятия сопрограммы относят к конструкции, применённой Мелвином Конвеем в 1958 году в практике программирования на языке ассемблера, в 1960-е — 1970-е годы сопрограммы практиковались в некоторых высокоуровневых языках (Клу, Симула, Модула-2), но заметное распространение получили лишь в 2000-е годы...
Если смотреть на популярность асинхронного программирования, то наблюдается следующая хронология:
  • мир увеличивает количество пользователей в сети
  • возникает потребность строить сервера, обслуживающие всё больше запросов пользователей
  • в ответ на эту потребность извлекается технология более чем полувековой давности и применяется
Является ли это прорывом? Нет. Новой технологией? Нет.Это просто экстенсивное развитие.Новые языки программированияМир IT постоянно рождает новые языки программирования. Только вот что нового приносят или привносят в этот мир эти языки?Безусловной новинкой является язык Go. Включивший в свой синтаксис средства коммуникации между потоками/процессами и берущий на себя часть функций по управлению ими. Go - пожалуй, самый отличающийся от других из новых языков. Но на чём он базируется? Снова на технологиях 50-60 летней давности. Что-то новое привнёс? Нет.Языки со строгой типизацией набирают популярность. Как приятно работать компилятору, если программист за него сделал кучу работы! Но несёт ли эта технология что-то новое? Можно ли сравнить её, скажем, с внедрением ООП в мир программирования? Конечно же, нет.А само объектно-ориентированное программирование - тоже старая, как мир (IT), технология.
Википедия: первым языком программирования, в котором были предложены основные понятия, впоследствии сложившиеся в парадигму, была Симула, но термин «объектная ориентированность» не употреблялся в контексте использования этого языка. В момент его появления в 1967 году в нём были предложены революционные идеи: объекты, классы, виртуальные методы и др., однако, это всё не было воспринято современниками как нечто грандиозное. Фактически, Симула была «Алголом с классами», упрощающим выражение в процедурном программировании многих сложных концепций. Понятие класса в Симуле может быть полностью определено через композицию конструкций Алгола (то есть, класс в Симуле — это нечто сложное, описываемое посредством примитивов).
Знаете ли вы о новых языках (появившихся в последние 20 лет), принесших миру новую парадигму программирования?Как итог: новые языки - это просто вкусовщина, и снова - экстенсивное развитие.Нейронные сетиМожет быть, нейронные сети, проникающие повсюду, - это технологический прорыв последнего времени?И снова нет. Если смотреть на историю развития нейросетей, то, согласно википедии, она начинается с 1943-го года, а уже в 1958-м - первый перцептрон:
Википедия: в 1958 Ф. Розенблатт изобретает однослойный перцептрон и демонстрирует его способность решать задачи классификации. Перцептрон обрёл популярность — его используют для распознавания образов, прогнозирования погоды и т. д.; в то время казалось, что уже не за горами создание полноценного искусственного интеллекта. К моменту изобретения перцептрона завершилось расхождение теоретических работ Маккалока с т.н. «кибернетикой» Винера; Маккалок и его последователи вышли из состава «Кибернетического клуба».
Экстенсивное развитие интернета привело к тому, что накоплены большие базы данных в разных областях. Стало возможным использовать накопленные классифицированные данные не только в прямом назначении, но и для обучения нейросетей. Чем и занялись.Прорыв? Количественно - да (тот самый переход количества в качество), но качественно это снова экстенсивное развитие и использование технологий полувековой давности.Интерфейсы с человекомМожет быть, здесь изобретено что-то радикально новое? Может быть, интерфейс Windows 10, MacOS радикально повышает производительность труда программиста (и не только его, а любого пользователя) по сравнению с временами, скажем, 95-го года?Есть ли радикальные отличия Windows 95 от современной MacOS? Не так уж и много.Может быть, труд программиста радикально поменялся? Нет, всё так же в редакторе текст редактирует, в командной строке или IDE запускает компилятор.Да, появились всякие календарики, встроенные в операционную систему "из коробки", виджеты с музыкой и погодой. И всё.ДеплойС экстенсивным ростом количества серверов, конечно же, автоматизирован и деплой. Появились всякие докеры, кубернетисы. Так же, как автоматизируется, например, бухгалтерия, автоматизируется и эта отрасль труда. Прорыв? Нет, просто очередной набор утилит, и только.ВыводыСталкиваясь часто с тезисами "Программирование - это отрасль, в которой надо постоянно учиться", "Отставание на полгода примерно то же, что и выпадение из отрасли навсегда", всегда хочется смеяться. Программирование - это отрасль, в которой происходит много движа, но почти не происходит никакого движения.Можно смело выключиться из мира IT на десяток лет, затем, вернувшись, потратить пару месяцев на выяснение "какой язык сегодня модный?" и его мелких особенностей, и снова быть полезным отрасли. Изменятся в мире только количественные распределения: чего-то (вроде асинхронщины) станет больше, чего-то - меньше.А "учиться всю жизнь" придётся в любой профессии. Хоть бухгалтерию считать, хоть программировать, хоть канавы копать. Везде будут тонкости, мелочи, которые будут "открываться" спустя десяток-другой лет работы в профессии.Программирование - самая слаборазвивающаяся отрасль из всех. В последние четверть века - это уж точно!А Вы как думаете?
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_programmirovanie (Программирование), #_karera_v_itindustrii (Карьера в IT-индустрии), #_istorija_it (История IT), #_razmyshlenija (размышления), #_razvitie (развитие), #_itinfrastruktura (it-инфраструктура), #_ekstensivnoe_razvitie (экстенсивное развитие), #_koleso_belki (колесо белки), #_programmirovanie (
Программирование
)
, #_karera_v_itindustrii (
Карьера в IT-индустрии
)
, #_istorija_it (
История IT
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 12:06
Часовой пояс: UTC + 5