[Программирование, Карьера в IT-индустрии, История IT] Последние четверть века развития в программировании нет
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В множестве статей можно встретить тезис, что программирование - это такое место, где всё постоянно развивается, и, стоит только отвлечься на полгодика, как ты перестаёшь быть специалистом и прям ну просто никуда уже на работу не устроиться. Дескать, работа программиста - это постоянная учёба. Учёба всю жизнь. Постоянный бег за всё ускоряющимся поездом.Давайте разберёмся с этим. Может быть, это не поезд, а беличье колесо?Какие супертехнологии захлестнули мир программирования в последний десяток-два лет?Асинхронное программированиеНу, конечно, повсеместно появилась разного рода асинхронщина. 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
===========
Похожие новости:
- [Habr, Программирование, Разработка игр, C#, Unity] Как обновить все сцены Unity-проекта в один клик
- [Поисковые технологии, Машинное обучение, Развитие стартапа, Карьера в IT-индустрии, Поисковая оптимизация] Как мы запустили агрегатор удаленных вакансий и зачем в нем ML
- [IT-эмиграция, Карьера в IT-индустрии, Урбанизм] [Личный опыт] Как живётся разработчику в Венгрии: стипендии для иностранцев, IT и вино
- [Разработка веб-сайтов, Python, JavaScript, Программирование] Как создавать предметы генеративного искусства с помощью L-систем на языке Python (перевод)
- [Программирование, C++] Как компилятор C++ находит правельную функцию (перевод)
- [Криптография, Работа с видео, История IT, Социальные сети и сообщества] Покупатель NFT ролика «Charlie Bit My Finger» сохранил оригинал на YouTube
- [Программирование, Учебный процесс в IT, Читальный зал] Что не так с современным преподаванием информатики
- [Программирование, CRM-системы, Будущее здесь, Интервью, IT-компании] Интервью с СЕО FitBase: будущее за автоматизацией
- [Программирование, .NET, ASP, C#] 15 простых советов по оптимизации производительности ASP.NET (перевод)
- [Data Mining, Big Data, Машинное обучение, Карьера в IT-индустрии] Все что вы (не) хотели знать о Data Science
Теги для поиска: #_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
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В множестве статей можно встретить тезис, что программирование - это такое место, где всё постоянно развивается, и, стоит только отвлечься на полгодика, как ты перестаёшь быть специалистом и прям ну просто никуда уже на работу не устроиться. Дескать, работа программиста - это постоянная учёба. Учёба всю жизнь. Постоянный бег за всё ускоряющимся поездом.Давайте разберёмся с этим. Может быть, это не поезд, а беличье колесо?Какие супертехнологии захлестнули мир программирования в последний десяток-два лет?Асинхронное программированиеНу, конечно, повсеместно появилась разного рода асинхронщина. Python, JS (и многие другие) внедрили аляповатовые методы async/await (непонятно, почему нормально не сделать, ну да ладно, это тема отдельной статьи). Асинхронщина представляется как панацея от всего, позволяющая утилизировать CPU почти на 100%. Крутая технология! Но вот новая ли она?Нет, она старая, как мир (IT)! Ещё в 2004-м году увидел мир вебсервер nginx, построенный на этой технологии (и почти одновременно с ним множество других, чуть менее известных). Copyright на заголовочные файлы для epoll в линуксе говорит о 2001-м годе. Но и epoll - это просто развитие и до этого существовавшей технологии. А select был ещё в первых Unix'ах.Может быть, сопрограммы (корутины) - новая технология? Иной, так сказать, взгляд на асинхронное программирование? Нет, это тоже крайне старая технология: Википедия: появление понятия сопрограммы относят к конструкции, применённой Мелвином Конвеем в 1958 году в практике программирования на языке ассемблера, в 1960-е — 1970-е годы сопрограммы практиковались в некоторых высокоуровневых языках (Клу, Симула, Модула-2), но заметное распространение получили лишь в 2000-е годы...
Википедия: первым языком программирования, в котором были предложены основные понятия, впоследствии сложившиеся в парадигму, была Симула, но термин «объектная ориентированность» не употреблялся в контексте использования этого языка. В момент его появления в 1967 году в нём были предложены революционные идеи: объекты, классы, виртуальные методы и др., однако, это всё не было воспринято современниками как нечто грандиозное. Фактически, Симула была «Алголом с классами», упрощающим выражение в процедурном программировании многих сложных концепций. Понятие класса в Симуле может быть полностью определено через композицию конструкций Алгола (то есть, класс в Симуле — это нечто сложное, описываемое посредством примитивов).
Википедия: в 1958 Ф. Розенблатт изобретает однослойный перцептрон и демонстрирует его способность решать задачи классификации. Перцептрон обрёл популярность — его используют для распознавания образов, прогнозирования погоды и т. д.; в то время казалось, что уже не за горами создание полноценного искусственного интеллекта. К моменту изобретения перцептрона завершилось расхождение теоретических работ Маккалока с т.н. «кибернетикой» Винера; Маккалок и его последователи вышли из состава «Кибернетического клуба».
=========== Источник: habr.com =========== Похожие новости:
Программирование ), #_karera_v_itindustrii ( Карьера в IT-индустрии ), #_istorija_it ( История IT ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:06
Часовой пояс: UTC + 5