Как стать автором
Обновить
-1
0

Пользователь

Отправить сообщение
Статья рассказывает о том, как создать эффективный инструмент, который «делал бы всё за вас», а не о том как с минимальными усилиями найти медиану на C++.
На мой взгляд, в первом примере, после легкомысленной инициализации capture group результатом shared_from_this() вполне логичной выглядит необходимость оставаться в живых, пока тебя могут дернуть за _fn.
Так что я даже не знаю, std::enable_shared_from_this ли виноват.
С таким же успехом можно было бы попытаться захватить невинно выглядящую ссылку, и почувствовать себя в среде immutable by default.
В парочке мест были определены статические функции без объявлений. Компиляторы со временем стали строже относиться к этой проблеме и превратили предупреждение в ошибку.

Это точно не перевод? Судя по ссылке, компиляторы превратили в ошибку расхождение сигнатуры в объявлении и определении, а вовсе не отсутствие первого.
Заголовочные файлы bit, numbers

Круто!!!

Три года назад некий antoshkka выступал с докладом о рефлексии без макросов и кодогенерации в C++14 на CppCon.

snake_case

Еще лучше! Только почему упомянутый [[nodiscard]], да и вообще много чего, не snake_case?
И почему воз compile-time рефлексии и ныне там?

std::format

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

Атомики обзавелись функциями wait и notify. Теперь их можно использовать как более легковесные conditional_variable:

Пора бы уже стандартной библиотеке обзавестись мультиплексированным вводом-выводом, чтобы event-based средствами языка можно было спокойно пользоваться, не боясь, что в один прекрасный момент не будет выбора и придется переписывать все на epoll.
Ладно, значит это только я считаю, что «может писать» означает «может писать полезный софт», а не «может писать helloworld».
Но к чему тогда это:
Но при этом запрограммировать контроллер на Rust или C++ смогу за час.

Или тут тоже имеется ввиду «запрограммировать моргнуть диодом»?
Анекдотом считаю нужным предварять такие статьи, чтобы было понятно, что здесь не второе прибежище Базуки.
Евгений может писать на Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C и Assembler. «JavaScript я знаю лучше, остальные — на уровень, на два ниже. Но при этом запрограммировать контроллер на Rust или C++ смогу за час. Я не учил эти языки целенаправленно. Я изучал их под задачи, которые мне ставили. Я могу влиться в любой проект, изучив документацию и мануалы. Я знаю синтаксисы языков, и какой именно использовать, особого значения не имеет. Так же с фреймворками и библиотеками — достаточно почитать документацию, и я понимаю, как это работает. Все определяет предметная область и задача».


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

Английский язык будет определяющим на рынке через 5-10 лет.

Английский язык был альфой и омегой разработки в конце девяностых — начале нулевых. Если вы не знали английского, вы повторяли говнокод за авторами одного-двух актуальных учебников, которые реально знали, о чем пишут. Если вам везло наткнуться на таковых.
А SOLID, DRY, KISS и прочие страшные слова знали тогда люди, досягаемость которых для начинающего программиста была в районе таковой Столлмана в 2019 (упс, его в соседней статье вписывают, ну вы поняли), и эти же самые авторы могли вам в другое ухо лить процедурщину, goto и макросы.
А спросить вне города-миллионника было негде и не у кого.

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

Из той же оперы.
Со временем получили развитие экосистемы программистов — хороших и плохих — не требующие знания языков, так почему автор считает, что через 5-10 лет они волшебным образом исчезнут? Как правильно заметили выше в обсуждении, скорее нас всех нейронка заменит, а для самых упорных будет из содержимого англоязычного stackoverflow генерировать порно, в котором по сюжету Николас Кейдж пересказывает Александреску с местечковым акцентом.
С ней точно столкнулись в GoodGame:
www.youtube.com/watch?v=UdbpgL3vt08
Краткий пересказ: на сервисе трансляций зарегистрировался некто, и тут же вышел в эфир с содержимым платной подписки на ресурсы КХЛ, через минуту после начала трансляции КХЛ Маркетинг наделали снимков таковой и вступили в переписку с GoodGame, через девять минут трансляцию удалили и пользователя заблокировали, но GoodGame всё равно заплатили за нарушение прав третьих лиц 300 кусков, а требовали с них 10 миллионов.
Карась — это рыба. А раз рыба, то у нее нет шерсти. А была бы шерсть, были бы блохи.
Если ReactOS совершенно случайно заменит древние системы так, что аналоги NTVDM и SysWOW64 окажутся лучше таковых в этих древних системах, это будет заговор десятилетия, поскольку это главная проблема современных виндов — в новом обновлении очередные свистелки начали работать, а дедушкин софт перестал.
Впрочем, вендекапец прочили еще до моего рождения и с некоторой точки зрения до него еще далеко, так что не будем загадывать.
Правильно, парсер на сишке недостаточно хорош, надо портировать туда расстояние Левенштейна из бортовых возможностей всяких там интерпретируемых языков, этого точно хватит всем.
Да бог с ней, с оптимизацией. Есть вещи поважнее.
Скажем, преждевременная нормализация {«DE», «fra», \U0001F1E9} -> {«DE», «fra»}, {«DE», \U0001F1E9} — это очередной подводный камень при попытке обновления этого кода. Тут и так опечататься раз плюнуть.
А о том, что вообще такое это \U0001F1E9, я и задумываться лишний раз не хочу, это трата времени. Впрочем, сеньорам виднее.
bit_num_from_value_cpp14_v2(3) выглядит как феерический compile-time суицид.
По данным Минкомсвязи, по состоянию на апрель 2019 года на портале были зарегистрированы 86,5 млн россиян.

Довольно жизнеутверждающее число, при том что в России навскидку живет около 140 миллионов человек, не все из которых имеют российское гражданство.

Ну а про заветы китайского программирования на Python выше уже высказались.
Tl;dr На мой взгляд правильно забивать студенту-бакалавру голову матаном, фреймворки он и сам освоит.

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

Отвалилось за все время в отчисление и академ, не скажу точно, но где-то 33% достаточно толковых ребят из-за нагрузки

Значит, эти толковые ребята должны пересмотреть своё отношение к учебному плану, если им нужен диплом. Зачем — другой разговор. Дальше, кстати говоря, будет гораздо легче и они смогли бы сосредоточиться на работе, если бы не махнули на институт рукой после года с лишним учебы (если я правильно понял, речь идет о предыдущих трёх семестрах).
Если человек решил сосредоточиться на работе и потерял связь с реальностью в учебе, он сам себе злобный буратино, на заочное нужно переводиться до того, как тебя попросят, а не постфактум сожалеть.
… алгоритмы… системное программирование… Linux до винтика… странные «грамматики»… кафедра «Математической Физики»


Зайди сюда через год после окончания вуза и помолись на своих преподов.
И посмотри на ровесников, искавших «чистого программирования».
По пункту 2 — по моему мнению, человек на выходе из института должен бы знать, чем он хочет заниматься, хотя бы иметь какой-то ранговый список, а не «куда возьмут».
Отсюда высказывания в духе «у молодежи два пути — веб и мобайл».
заявил в письме от 2017 года вице-президент по вопросам публичной политики в странах Европы, Ближнего Востока и Африки Twitter Inc. Шинейд Максуини.


Да женщина это =(
Звучит любопытно, добавил в закладки.
Я оснастил свой игровой клиент некоторым дополнительным функционалом (как только скажу, какой и каким — со мной тут же поздоровается человек, которому это не понравилось =X).
А системным программированием я заболел немного раньше, когда сдуру после первого курса бакалавриата взялся за скрытие процесса из Диспетчера задач Windows.
С задачей я не справился (провел две отчаянных недели в ловле сегфолтов в чужом адресном пространстве при попытке нащупать путь к перечислению процессов). Но честное слово, не благоговей я после этого — тогда и теперь — перед системным или прикладным, низкоуровневым и / или алгоритмически сложным софтом, создающим для нас эти чудеса — мультимедийные игры реального времени, компиляторы шаблонов шаблонов шаблонов шаблонов, системы автоматического (!) проектирования (!), распознавания и передачи текста, звука и изображения, никакого программиста из меня бы не вышло.
Большое спасибо за статью.
Нахлынули приятные воспоминания, когда читал про внедрение, перехват вызовов, аппаратные точки останова, отладочные регистры…
Как будто сидишь перед неким артефактом и впитываешь сакральное знание (которым для меня являются аппаратные точки останова, так сложилось что ни разу не реализовывал, тем более взахлеб читалось).
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность