В 2002--2007 годах я работал программистом в различных коммерческих структурах Москвы. Я знал языки C++, Delphi, C# и Java. Умела работать с сокетами и немного--с базами данных. Ознакомился с технологиями COM и ActiveX.
С 2007 года я работаю программистом на государственном предприятии. Пишу на Java (среда разработки JBuilder) и С++ (среда разработки Microsoft Visual Studio). Занимаюсь в основном программной реализацией математических алгоритмов. Также работаю и с базами данных--СУБД Oracle и PostgreSQL.
У меня такой вопрос: что изменилось в программировании за последние 10 лет (2007--2017 года)? Что появилось нового? Какие появились новые языки программирования? (Хоть это я немного и знаю). Какие появились новые технологии, библиотеки, фреймворки?
Что бы вы, уважаемые коллеги, посоветовали мне изучить из этого нового?
1613 г. = 2024 г.
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>Умела работать
Ого, интрига!
RF>Что бы вы, уважаемые коллеги, посоветовали мне изучить из этого нового?
С++ изучи, как работать с сокетами, мне вообще кажется очень интересным сетевое программирование на С++. Go попроще, если с С++ не получается, его попробуй.
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>В 2002--2007 годах я работал программистом в различных коммерческих структурах Москвы. Я знал языки C++, Delphi, C# и Java. Умела работать с сокетами и немного--с базами данных. Ознакомился с технологиями COM и ActiveX. RF>С 2007 года я работаю программистом на государственном предприятии. Пишу на Java (среда разработки JBuilder) и С++ (среда разработки Microsoft Visual Studio). Занимаюсь в основном программной реализацией математических алгоритмов. Также работаю и с базами данных--СУБД Oracle и PostgreSQL.
RF>У меня такой вопрос: что изменилось в программировании за последние 10 лет (2007--2017 года)? Что появилось нового? Какие появились новые языки программирования? (Хоть это я немного и знаю). Какие появились новые технологии, библиотеки, фреймворки?
RF>Что бы вы, уважаемые коллеги, посоветовали мне изучить из этого нового?
— лямбды, Optional monad, Either monad, Future/Promise.
— Какой-нибудь язык с претензией на функциональность: Java8, Kotlin, Scala
— ознакомиться с Go. Даже не синтаксисом, а общей идеологией и фичами
— git, github — обязательны
— асинхронные сетевые клиенты и серверы, тредпулы уже не модно
— REST, GraphQL
— thrift, protobuf, grpc
— NoSQL. классификация, выдающиеся представители
— Docker, ELK, continuous integration & continuous delivery
— Clouds, managed&unmanaged. Зачем надо, что умеют, как пользоваться. Глянуть на функционал AWS и Heroku к примеру.
— Big Data. Hadoop, Apache Kafka, Apache Spark
— Распределенные системы. CAP-теорема, микросервисы, service discovery
— многопроцессорные системы. кеши, data locality, memory fences, cpu memory model
— NodeJS, npm, Typescript
Жуть какая, на 10 лет выпасть из IT.
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>В 2002--2007 годах я работал программистом в различных коммерческих структурах Москвы. Я знал языки C++, Delphi, C# и Java. Умела работать с сокетами и немного--с базами данных. Ознакомился с технологиями COM и ActiveX.
В C++ появились C++ 11,14,17. БД и сейчас востребованы. Работа с сетью тоже, но вместо работы с сокетами вручную, как правило используют boost.asio.
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>Что бы вы, уважаемые коллеги, посоветовали мне изучить из этого нового?
Если вы тяготете к математике, то вот вам мой проверенный список.
Очень расширяет сознание изучение и использование F# или подобного языка (OCaml, Haskell). Вы не только сможете решать некоторые практические задачи лучше, но также перенесете полученный опыт в любой императивный язык.
Ну и под конец я приправил бы это все Лиспом, а именно его дзен вариантом вроде Scheme / Racket. С практической точки зрения Лисп не востребован, но понимание, которое дает практика на этом языке стоит того. Это также откроет вам двери к наилучшему решению некоторых задач на практике в других языках.
Здравствуйте, scf, Вы писали:
scf>— Какой-нибудь язык с претензией на функциональность: Java8, Kotlin, Scala scf>— асинхронные сетевые клиенты и серверы, тредпулы уже не модно
Вообще говоря в перечисленных языках аснхронность основана на тредпулах чуть более чем полностью, так что странно асинхронность в новшество записывать, если тредпулы "уже не модно".
Re[2]: Что изменилось за последние 10 лет в программировании?
RF>>>Что появилось нового? M>>Мобильный сегмент. RF>А что это такое?
Господа, как полагаете, он зверски стебется?
Я бы предположил проблемы другого рода, но вроде пишет довольно грамотно, использование форума (а стало быть компьютера, интернета) освоил...
Re[4]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, anton_t, Вы писали:
_>Здравствуйте, scf, Вы писали:
scf>>— Какой-нибудь язык с претензией на функциональность: Java8, Kotlin, Scala scf>>— асинхронные сетевые клиенты и серверы, тредпулы уже не модно
_>Вообще говоря в перечисленных языках аснхронность основана на тредпулах чуть более чем полностью, так что странно асинхронность в новшество записывать, если тредпулы "уже не модно".
Хипстерам который на котлине прогают только не говори.
Sic luceat lux!
Re[2]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>В 2002--2007 годах я работал программистом в различных коммерческих структурах Москвы. Я знал языки C++, Delphi, C# и Java. Умела работать с сокетами и немного--с базами данных. Ознакомился с технологиями COM и ActiveX.
IMHO технологии COM и ActiveX — на сегодняшний день устарели.
Их стараются применять как можно реже (хотя иногда они остаются актуальными).
RF>С 2007 года я работаю программистом на государственном предприятии.
Возможно, не стоило переходить туда — так как это спсобствовало твоей проф-дезорганизации.
RF>Пишу на Java (среда разработки JBuilder) и С++ (среда разработки Microsoft Visual Studio). Занимаюсь в основном программной реализацией математических алгоритмов. Также работаю и с базами данных--СУБД Oracle и PostgreSQL.
Хорошо, что занимаешься алгоритмами, однако, нельзя сидеть сразу на двух стульях (гоняться за двумя зайцами).
Надо выбирать: или Java, или C++.
Это языки примерно одной ниши — здесь выбирай то или другое.
В то же время, если силён в математике, обязательно осваивай Python.
Математик, знающий Python, ценится не меньше толкового программиста!
RF>У меня такой вопрос: что изменилось в программировании за последние 10 лет (2007--2017 года)? Что появилось нового? Какие появились новые языки программирования? (Хоть это я немного и знаю). Какие появились новые технологии, библиотеки, фреймворки?
Появилось очень много всего!
Изучать всё и по-немногу — НЕ ПРАВИЛЬНЫЙ ПУТЬ!!!
Правильная постановка вопроса: что появилось в том секторе, который мне профессионально ближе?
RF>Что бы вы, уважаемые коллеги, посоветовали мне изучить из этого нового?
Сначала — укрепиться в C++ (судя по твоим вопросам на кывт, ты в этом сильно плаваешь).
Желательно также освоение C++11 и C++14.
P.S. В сухом остатке — освоение Python (если упор на математику) и укрепление в C++ (пригодится в любом раскладе).
Лично я, начав осваивать Python, открыл для себя новый ЯП. Несотря на то, что в основном пишу на C++, это изучение мне показалось полезным.
Здравствуйте, anton_t, Вы писали:
_>Здравствуйте, scf, Вы писали:
scf>>— Какой-нибудь язык с претензией на функциональность: Java8, Kotlin, Scala scf>>— асинхронные сетевые клиенты и серверы, тредпулы уже не модно
_>Вообще говоря в перечисленных языках аснхронность основана на тредпулах чуть более чем полностью, так что странно асинхронность в новшество записывать, если тредпулы "уже не модно".
я имел в виду блокирующий код по принципу "одна задача один поток". ОС остались теже, примитивы параллельности те же, но концепция использования поменялась в корне.
Re[3]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, Submitter, Вы писали:
S>Здравствуйте, scf, Вы писали:
S>Эээ, чувак... Напиши плз в какой ты компании работаешь, в какой стране, на какой должности и самое главное — сколько тебе платят?
Да обычный сеньор девелопер, работаю на всякие стартапы, получаю как обычный хороший сеньор)
Re[2]: Что изменилось за последние 10 лет в программировании?
Да, народ, чего же я смешного написал-то? Я честно пытался вспомнить все безумно крутые вещи, которые появились и востребованы с тех пор, как я был студентом и кодил на плюсах под винду
Re[6]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>Ну и что это такое?
мобильный сегмент — это сегмент рынка приложений для мобильных устройств. Android, iOS и немного windows phone.
Сейчас половина людей сидит в интернете с мобильных устройств. Почти любой заказчик, которому надо GUI, хочет его видеть и на экране планшета. Если GUI простой — то и на экране телефона.
Re[3]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, TMU_1, Вы писали:
RF>>>>Что появилось нового? M>>>Мобильный сегмент. RF>>А что это такое?
TMU>Господа, как полагаете, он зверски стебется? TMU>Я бы предположил проблемы другого рода, но вроде пишет довольно грамотно, использование форума (а стало быть компьютера, интернета) освоил...
Ему платит администрация рсдн, чтобы хоть что-то появлялось не в разделе политика
Re[5]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, turbocode, Вы писали:
AG>>IMHO технологии COM и ActiveX — на сегодняшний день устарели. T>И что же им на замену подвезли?
1) Замена ActiveX компонентов — теперь более мощные библиотеки классов (та же Qt). Потребности в сторонних компонентах стали меньше.
2) Наличие развитой и мощной .NET платформы, позволило многие разработки (ранее делавшиеся на C++ и COM) делать полностью на .NET.
3) Более развитые, чем раньше, open-source источники, которые обеспечивают функциональные аналоги COM и ActiveX компонентов, но открытых.
ПРИМЕЧАНИЯ:
a) Из соображений безопасности теперь стали опасаться применения ActiveX компонентов (т.к. эти компоненты — своего рода "кот в мешке").
b) Сложность COM подсистемы и высокий порог вхождения — ИМХО на сегодняшний день препятствуют развитию данных технологий.
P.S.
Кое-где, даже и теперь, всё же актуальны эти достаточно старые технологии. Кстати, поддерживаемые со стороны M$.
Здравствуйте, scf, Вы писали:
scf>Да, народ, чего же я смешного написал-то? Я честно пытался вспомнить все безумно крутые вещи, которые появились и востребованы с тех пор, как я был студентом и кодил на плюсах под винду
Да как это все, забыл хайповые вещи типа Машин/Дип Лернинга, нынче алгоритмически решать задачи уже не модно, круто натренировать нейросеть и пусть сама за тебя работает.
Re[6]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, IID, Вы писали:
IID>Здравствуйте, TMU_1, Вы писали:
TMU>>Что такое гугл? Что посоветуете почитать по данной теме?
IID>Начните с изучения MFC.
Здравствуйте, Faland, Вы писали: F>Да как это все, забыл хайповые вещи типа Машин/Дип Лернинга, нынче алгоритмически решать задачи уже не модно, круто натренировать нейросеть и пусть сама за тебя работает.
Ну как хайповые? Нишевые, и трендовые я бы сказал Но в обязательный набор современного сеньора/архитектора не входят.
— siri, google now, cortana
— "для вас есть уникальное предложение от нашего банка"
— распознавание образов — гугль уже умеет по картинке определять, что на ней изображено
— ИИ в самых разных областях — от управления автомобилем до все более продвинутых промышленных роботов
бизнес и государства вбухивают чудовищные суммы в это направление.
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>У меня такой вопрос: что изменилось в программировании за последние 10 лет (2007--2017 года)? Что появилось нового? Какие появились новые языки программирования? (Хоть это я немного и знаю). Какие появились новые технологии, библиотеки, фреймворки?
Яваскрипт и его фреймворки(react,angular и проч.) поперли как на дрожжах, т.е. одни словом front-end. Из языков Go более-менее заметен стал, из технологий node.js (js на сервере).
Глобально появились новые направления в виде интернета вещей, блокчейны, ну и самый заметный пузырь -- машинное обучение. Программирование для мобилок экспоненциально разрослось еще.
RF>Что бы вы, уважаемые коллеги, посоветовали мне изучить из этого нового?
Я бы присмотрелся к distributed computing и машинному обучению. Если математика ок, то датасцаенс еще посмотрите.
Здравствуйте, anton_t, Вы писали:
_>Вообще говоря в перечисленных языках аснхронность основана на тредпулах чуть более чем полностью, так что странно асинхронность в новшество записывать, если тредпулы "уже не модно".
Основано на selectat'ах и прочих poll'ах. Причем тут пул потоков в однопоточном асинхронном сервере типа node.js?
Кодом людям нужно помогать!
Re[5]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, TMU_1, Вы писали:
TMU>>>Что такое гугл? Что посоветуете почитать по данной теме?\ SH>>а то какже, поищите в яндексе
TMU>А объяснить, что такое "яндекс"?
Ну это же браузер. Раньше был эксплорер, а теперь какой-то чугун, или чугуний, забыл точно.
Там где почта, вбиваешь в белую строку "что такое гугол" и потом щёлкаешь в появившемся списке.
Re[4]: Что изменилось за последние 10 лет в программировании
AG>>>IMHO технологии COM и ActiveX — на сегодняшний день устарели. T>>И что же им на замену подвезли?
AG>1) Замена ActiveX компонентов — теперь более мощные библиотеки классов (та же Qt). Потребности в сторонних компонентах стали меньше.
И что тот Qt можно встраивать в броузеры, бейсики и эксели c вордами?
AG>2) Наличие развитой и мощной .NET платформы, позволило многие разработки (ранее делавшиеся на C++ и COM) делать полностью на .NET.
Халва, халва
AG>3) Более развитые, чем раньше, open-source источники, которые обеспечивают функциональные аналоги COM и ActiveX компонентов, но открытых.
Что за источники? И чем они помогут?
Я думаю вы так и не поняли идеи и возможности COM(DCOM) и ActiveX, а ведь еще был COM+.
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, Kernan, Вы писали:
K>Здравствуйте, RussianFellow, Вы писали:
RF>>Что бы вы, уважаемые коллеги, посоветовали мне изучить из этого нового? K>Python и R.
Python я знаю.
А что такое R? Язык Ruby?
1613 г. = 2024 г.
Re[3]: Что изменилось за последние 10 лет в программировании
K>Видимо, никто кроме избранных не понял, поэтому все это благополучно сдохло.
Ничего не сдохло, кому надо тот использует.
P.S. Вот когда уберут поддержку COM из Visual Studio тогда можно будет поговорить.
Re[7]: Что изменилось за последние 10 лет в программировании
Здравствуйте, scf, Вы писали:
scf>мобильный сегмент — это сегмент рынка приложений для мобильных устройств. Android, iOS и немного windows phone. scf>Сейчас половина людей сидит в интернете с мобильных устройств. Почти любой заказчик, которому надо GUI, хочет его видеть и на экране планшета. Если GUI простой — то и на экране телефона.
И поэтому удобные и информативные GUI на некоторых сайтах превращаются в страничку для дебилов с огромными элементами и минимумом полезной информации.
Re[3]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, turbocode, Вы писали:
H>>Линукс T>Вот серьезно почему не взялись гуртом и не вылизали бы Ubuntu какую нибудь? T>А так сами жрите свой линукс.
Для серверных задач линукс как раз таки хорошо вылизан, для чего он, собственно, обычно и используется. Ну, а некоторое подобие десктопа — это приятное дополнение для технарей, которые на дух не переносят винду
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>С 2007 года я работаю программистом на государственном предприятии.
Слуш, а чо ты тогда каждые полгода спрашиваешь про то, почему могут турнуть с работы и собеседования?
И недавно говорил, что морду кому-то набил. Не уволили за это?
Re[5]: Что изменилось за последние 10 лет в программировании
Здравствуйте, turbocode, Вы писали:
AG>>1) Замена ActiveX компонентов — теперь более мощные библиотеки классов (та же Qt). Потребности в сторонних компонентах стали меньше. T>И что тот Qt можно встраивать в броузеры, бейсики и эксели c вордами?
Проблемы с секьюрностью ActiveX компонентов сняли данный вопрос с повестки дня: https://www.howtogeek.com/162282/what-activex-controls-are-and-why-theyre-dangerous
AG>>2) Наличие развитой и мощной .NET платформы, позволило многие разработки (ранее делавшиеся на C++ и COM) делать полностью на .NET. T>Халва, халва
Ясно, что тебе по сути возразить не чем...
AG>>3) Более развитые, чем раньше, open-source источники, которые обеспечивают функциональные аналоги COM и ActiveX компонентов, но открытых. T>Что за источники? И чем они помогут?
Перечислять все — нет смысла, а идея здесь: https://habrahabr.ru/post/267473
Чем помогут — вопрос типа "тебе шашечки, или ехать?"
Кроме того, что обеспечат требеумый функционал,
дадут уверенность (за счёт открытого кода), что компонент не содержит подвоха — aka security problems.
Re[6]: Что изменилось за последние 10 лет в программировании
AG>Проблемы с секьюрностью ActiveX компонентов сняли данный вопрос с повестки дня:
Конечно устанавливать ActiveX из интернета из источника которому нет доверия никто не будет, но в корпоративных сетях компании такой проблемы нету. AG>дадут уверенность (за счёт открытого кода), что компонент не содержит подвоха — aka security problems.
Какой подвох? Секурность всегда сводится к тому доверяешь ты источнику или нет.
Взять например Adblock где гарантия что они не крадут информацию из браузера? Ну да там якобы сорцы открыты, но где гарантия что бинарник собран именно из этих сорцов а не из других?
И опять встает вопрос веришь ты или нет.
Re[2]: Что изменилось за последние 10 лет в программировании?
Да ничего там сложного нет, если есть базовые знания платформы.
А что есть, так это огромное множество наработок и подробнейшая документация.
Даже удивительно, сколько было создано чудесных пользовательских элементов управления за годы развития библиотеки —
можно всю свою жизнь посвятить их изучению, находя все время что-то новое и интересное для себя.
Эта могучая библиотека будет актуальна всегда, как для профессионалов высшего класса, так и для начинающих программистов.
AG>На сегодня есть хорошая альтернатива Qt :)
Да ладно, не особо Qt и новее — обе библиотеки были созданы в начале 90-х годов прошлого века.
Здравствуйте, bnk, Вы писали:
bnk>Да ничего там сложного нет, если есть базовые знания платформы.
Если ты внимательно читал, то я указал — ДЛЯ НАЧИНАЮЩЕГО.
Посмотри посты ТС здесь (в разделе именно по MFC) — убедишься, что в данном случае это замечание актуально.
bnk>А что есть, так это огромное множество наработок и подробнейшая документация.
+100500
Я в курсе
Сам я писал об этом здесь: http://rsdn.org/forum/mfc/6770127
bnk>Даже удивительно, сколько было создано чудесных пользовательских элементов управления за годы развития библиотеки — bnk>можно всю свою жизнь посвятить их изучению, находя все время что-то новое и интересное для себя.
+100500
Всё это именно так, и тем более грустно смотреть — как это всё уходит в прошлое...
Все эти великолепные разработки, оказываются всё меньше и меньше востребованными.
Просто потому, что развития MFC со стороны авторов — компании M$ — фактически нет.
bnk>Эта могучая библиотека будет актуальна всегда, как для профессионалов высшего класса, так и для начинающих программистов.
Вот здесь немного не соглашусь: актуален ли самолет братьев Райт в эпоху реактивных лайнеров?
Если бы авторы развивали MFC, выпускали бы (хотя бы ежегодно) новые версии! Вот тогда бы...
AG>>На сегодня есть хорошая альтернатива Qt bnk>Да ладно, не особо Qt и новее — обе библиотеки были созданы в начале 90-х годов прошлого века.
В отличие от MFC, которую к большому сожалению практически забросили, Qt Company каждые пол-года предлагает что-то свежее!
Респект!!!
P.S. Я в курсе насчёт MFC Feature Pack (который сделан на основе BCG библиотки классов), но он не развивается последние 5...7 лет
Здравствуйте, turbocode, Вы писали:
AG>>Проблемы с секьюрностью ActiveX компонентов сняли данный вопрос с повестки дня: T>Конечно устанавливать ActiveX из интернета из источника которому нет доверия никто не будет, но в корпоративных сетях компании такой проблемы нету.
Корпоративные сети давно перешли на JS и ASP.NET. Кое-где есть .NET настольный: где-то в виде WPF, где-то как WinForms.
Для корпоративных разработок ActiveX потерял актуальность лет пять, или даже более, назад.
AG>>дадут уверенность (за счёт открытого кода), что компонент не содержит подвоха — aka security problems. T>Какой подвох? Секурность всегда сводится к тому доверяешь ты источнику или нет. T>Взять например Adblock где гарантия что они не крадут информацию из браузера? Ну да там якобы сорцы открыты, но где гарантия что бинарник собран именно из этих сорцов а не из других? T>И опять встает вопрос веришь ты или нет.
С вопросами веры — это в церковь
В мире IT, не рассчитывают на одиночек, а просто формируют новые политики безопасности, в котрых COM и ActiveX — deprecated.
Re[8]: Что изменилось за последние 10 лет в программировании
AG>Корпоративные сети давно перешли на JS и ASP.NET. Кое-где есть .NET настольный: где-то в виде WPF, где-то как WinForms. AG>Для корпоративных разработок ActiveX потерял актуальность лет пять, или даже более, назад.
Это потому что ActiveX не работает на планшетах, мобильных телефонах, телевизорах. Софт вышел за границы одного ПК.
Но это не значит что ActiveX как идея провалилась. Идея хорошая но реализации нету которая бы всех устроила бы.
Возможно WebAssembly + WebGL возродят идеи ActiveX в новом виде.
Re: Что изменилось за последние 10 лет в программировании?
Здравствуйте, RussianFellow, Вы писали:
RF>Занимаюсь в основном программной реализацией математических алгоритмов. Также работаю и с базами данных--СУБД Oracle и PostgreSQL.
Для программной реализации математических алгоритмов нужно учить Фортран.
RF>У меня такой вопрос: что изменилось в программировании за последние 10 лет (2007--2017 года)?
Фортран довольно сильно изменился.
Re[9]: Что изменилось за последние 10 лет в программировании
Здравствуйте, turbocode, Вы писали:
AG>>Корпоративные сети давно перешли на JS и ASP.NET. Кое-где есть .NET настольный: где-то в виде WPF, где-то как WinForms. AG>>Для корпоративных разработок ActiveX потерял актуальность лет пять, или даже более, назад.
T>Это потому что ActiveX не работает на планшетах, мобильных телефонах, телевизорах. Софт вышел за границы одного ПК. T>Но это не значит что ActiveX как идея провалилась. Идея хорошая но реализации нету которая бы всех устроила бы.
+100500
Да, с тем что в основе ActiveX и COM заложены хорошие идеи — это бесспорно.
Просто эти идеи сейчас их же авторы перестали развивать
P.S. Полагаю, что настольный .NET также не работает на планшетах, мобильных телефонах, телевизорах.
Малораспространенный Windows Phone — в расчёт не беру
Тем не менее, много корпоративных заказчиков работают именно на нём.
Re[2]: Что изменилось за последние 10 лет в программировании?
Здравствуйте, scf, Вы писали:
scf>- лямбды, Optional monad, Either monad, Future/Promise. scf>- Какой-нибудь язык с претензией на функциональность: Java8, Kotlin, Scala scf>- ознакомиться с Go. Даже не синтаксисом, а общей идеологией и фичами scf>- git, github — обязательны scf>- асинхронные сетевые клиенты и серверы, тредпулы уже не модно scf>- REST, GraphQL scf>- thrift, protobuf, grpc scf>- NoSQL. классификация, выдающиеся представители scf>- Docker, ELK, continuous integration & continuous delivery scf>- Clouds, managed&unmanaged. Зачем надо, что умеют, как пользоваться. Глянуть на функционал AWS и Heroku к примеру. scf>- Big Data. Hadoop, Apache Kafka, Apache Spark scf>- Распределенные системы. CAP-теорема, микросервисы, service discovery scf>- многопроцессорные системы. кеши, data locality, memory fences, cpu memory model scf>- NodeJS, npm, Typescript
Вот с таких постов и начинается impostor syndrome
Re: Что изменилось за последние 10 лет в программировании?
За последние 10 лет все сильно пошло в сторону не PC: программирование мобильного и встроенного, отказ от desktop приложений, порулярость разных WEB-фрейморков... Далее, все не PC-ориентированные технологий будут наступать все напористее по всему фронту. Все становится мельче, умнее, распределенне.
Re[3]: Что изменилось за последние 10 лет в программировании?
1. Понаворотили всяких разных новых NoSQL СУБД, MongoDB, cassandra, HBase, Redis и т.п. Соседняя школота перечислит больше названий, чем знает старый бородатый седой формоклёп сишарпист.
2. Машинное обучение пыщь-пыщь упячка, биг дата, apache spark, большая сфера, раскол тазов, разрыв черепов! Вся школота уже хочет туда. TensorFlow, Caffe и т.п. В этом мире рулит Python. Многослойные CNN нейросети стали распознавать заляпанные дорожные знаки в темноте лучше чем команда трезвых экспертов. Нейросети стали генерить бесшовную речь без дебильных интонационных выпадов, фортепианную музыку, фотки котов. Короче гугл скоро скоррелирует всю инфу на свете со всей инфой на свете и получит ответ на вопрос жизни, смерти и всего остального, походу. Прикольная у меня старость будет, кароче.
3. Blockchain-истерия. Даже сажают. Развелось интернет-магазинов наркоты и оружия в луково-маршрутизационном шифрованном сегменте интернета (TOR). Фидонет такой типа, тока шифрованный и промежуточные ноды не могут ничего расшифровать. Плюс анонимизация. И платят там биткоенами этими. Майнеров развелось, видяхи все скупили и алюминевые профили. Менты теперь закладчиков ищут.
4. Всякие там RabbitMQ, apache kafka, всякие opensource открытые проекты для работы с данными практически на любой вкус. MapReduce 10 видов, всякие in-memory фигни... Тут машинное обучение потребляет много этих продуктов.
5. Adobe Flash пристрелили, сделали canvas, WebGL. А браузеры стали компилить JS в машинный код. Он стал адово быстрым. Стали писать 3D-игруни, например Quake3 в браузере работает и проц почти не жрёт.
6. Появился LLVM, который компилит всё-во-всё, например C++ в JavaScript и потом в фортран.
7. Популяризация кодинга на коленке, всякие облачные сервисы запуска своих проектов за копейки. Гит. Гитхаб. "Молодёждый кодинг"... Всякие python-веб-сервера в 10 строк. Ruby и т.п.
8. C++ стал получать новый стандарт каждые года 3. Туда наворотили кучу удобств, лямбды, вариадик темплейты, потоки, atomic, скоро он победит Python по лаконичности, а кто на нём писал в 2001 будут выглядет как позорные вонючие потные горбатые динозавры.
9. Популяризовались lock-free структуры данных и алгоритмы, народ стал реально много думать про кеш-линии, атомарные инструкции и в 2013 году Microsoft запила bw-tree — это типа такое b+-tree, которое вообще нигде не лочится и несколько ядер параллельно его мутузят и оно остаётся консистентным.
10. Стало дофига RAM и появились SSD, у которых есть клёвый плюс -- быстрый random read (всё остальное как у HDD в принципе). Стали делать всякие log-structured хранилища, куда можно записывать поменьше и менее структурированно — чтение бардака всё равно быстрое...
11. Изобрели Go (а из гугла уволили изобреталеля Питона) — язык, который типа как Си быстро компилируется в бинарь (правда оптимизатор там по качеству уступающий C++ в силу молодости), но имеющий при этом всякие модные штуки типа каналов, потоков, встроенные структуры данных (мепы-списки-массивы). В этой точке повествования из-за угла выглядывает LLVM и говорит "эй, пс, пацан, хочешь js в go скомпилим?...
12. Наплодилось мобильных устройств до едрени матери. Внутри samsung galaxy или iphone стоит такое железо, что застрелица. Камеры и микрофоны стали давать офигенное качество материала. Мобильная разработка — гигантская индустрия, софтины стали жирные и мощные, уже можно подключить к мобильному девайсу внешний HD-моник и клаву и юзать его как неттоп. Мой самсунг умеет так: обойти с включенной камерой предмет, он подумает минуту и родит текстурированную 3D-модель объекта. В последний айфон встроили датчик от kinnect и этот датчик способен в реальном времени сканировать контуры морды юзера, проецируя на сею морду матрицу инфракрасных точек.
13. В мире стали записывать в базы больше данных, чем читают из баз. Потоки лайков, камментов и фотаг забивают трансатлантические оптоволокны. Спамеры прошлого нервно курят в сравнении с лайко-клацательной способностью школоты. Наплодилось всяких write-optimized СУБД типа LevelDB и прочих, которые умеют жрать огромный поток INSERT-ов и не давиться. Всё это медленно комбинируется со всякими lock-free структурами где вообще нет мьютексов и прочих локов.
14. Haskell, LISP, Erlang до сих пор вроде мир не захватили... MRAM ещё не выкатили. Квантовые компьютеры в каждый дом ещё не пришли, алгоритмы шифрования пока не попраны. Вроде.
Здравствуйте, pkl, Вы писали:
pkl>8. C++ стал получать новый стандарт каждые года 3. Туда наворотили кучу удобств, лямбды, вариадик темплейты, потоки, atomic, скоро он победит Python по лаконичности, а кто на нём писал в 2001 будут выглядет как позорные вонючие потные горбатые динозавры.
А Mozilla таки вывела в свет очередного убийцу C++ по кличке "Ржавый" (он же "Ржавчина", он же Rust). И от него уже пару лет кипятком писают все те, кому в плюсах не хватало алгебраических данных, паттерн-матчинга, константности и move-sematinc-и по умолчанию, безопасности и контроля со стороны компилятора, готового пакетного менеджера и унифицированной системы сборки... И кого не пугает своеобразный синтаксис и обновление языка каждые полтора месяца.
Re[2]: Что изменилось за последние 10 лет в программировании?