Так пофиг кто что хвалит, важны только логичные аргументы. C++ побеждает просто потому, что самый быстрый без всяких компромиссов. Ну типа, люди спрашивают, на каком языке можно делать буквально всё, контролировать каждый чих и не иметь пределов, но при этом иметь все фичи всех современных языков сразу? Там будет толко один ответ - кресты ссаные. Всё остальное начинает иметь компромиссы - где уборка мусора, где какой-то лишний не zero-cost контроль, а где тупо само тормозит.
Новичёк не в курсе, что в C++ есть некоторые сложности, но это и хорошо - отсутствие лишнего страха раньше времени не сбивает с пути. Когда он поймёт кресты уже достаточно хорошо, эти сложности просто превращаются в фичу и едем дальше.
какой язык бы выбрали для изучения программирования в 2026 году?
Выбирать надо не язык, а учебное пособие: из толковых я знаю только два: SICP и трёхтомник Столярова. Оба не учат языкам, как таковым, а учат программированию. Так что бери Столярова, читай, вникай - сейчас с нейросетями проблем нет со всем этим разобраться за минимальные сроки.
Дальше алгоритмы и структуры данных и ещё далее практика на литкоде или любом другом подобном ресурсе. В принципе когда будешь способен решать средние задачи достаточно свободно - можно сказать программировать умеешь. Тогда же вопрос «какой язык» отпадёт сам собой - любой будет учится за минимальное время на должном для задачи уровне.
синтаксис местами ублюдский (тип переменной после имени)
тип переменной после имени – это как раз правильный синтакс
//ты просто мало пытался писать в сишке массив указателей на указатели на функии возвращающие указатель на массив указателей на функции
Но этот мужчина (я называю его мужчиной, потому что профессором назвать не могу) пишет в своём трёхтомнике, что с++ после 15-го года сильно увял, содержит чепуху и бредни. Ты согласен с этим?
Write-only можно писать на любом языке. Язык - слабая причина, сильная - сами пишущие. А вот где косоруким мёдом мажется - это как раз признак языка. И питону, как точке притяжения, равных нет.
массив указателей на указатели на функии возвращающие указатель на массив указателей на функции
Это от очень плохой жизни или очень плохого проектирования. В первом случае скрипя зубами делается через typedef, а во втором разработчик пинается ногами до полного прояснения сознания.
Тем что я вообще не люблю неявное приведение и выведение типов. И считаю let/var/auto худшим из того что придумали после null (да даже хуже goto, его можно использовать для выхода из сложных вложенных циклов с условиями и там он оправдан). Они способствуют ошибкам, портя строгость (ненавижу угадайки в сложном коде), портят выхлоп компилятора при ошибке (что где упало, откуда там такой тип), случайное изменение типов и баги с ним, замедление компиляции, ошибки при приведениях к базовому типу. Всё что они делают - дают возможность печатать чуть меньше. Ах да, кто-то скажет что:
SomeBullshitType object = new SomeBullshitType();
куда хуже, чем (много букв сэкономили)
var object = new SomeBullshitType();
Но никто не мешал, сделать такой синтаксис:
new SomeBullshitType() object
Если цель буквы экономить. Я вообще люблю ограничения в ЯП. Вот идея делать приватные методы с маленькой буквы, а публичные с большой хорошая. Для защищённых я бы сделал нижний прочерк первым символом.
Не нужна начинающему эта книга, ибо оно там на примере какого-то древнего во времена написания книг ассемблера и больше про алгоритмы нежели про начальные навыки программирования.
Человека без знания матана к компу подпускать нельзя. Если Кнут слишком сложный, то лучше я ИИ-шку поставлю ТЗ сочинять и с заказчиком общаться, чем человека, который не смог осилить базу. К тому чтоб код писать я вообще таких не допускал бы. Даже пыль вытирать рискованно — выдернут ещё питание компа из розетки.
Кто сказал что он сложный? Просто сложность внутри сложности не нужна, это тупо трата времени.
то лучше я ИИ-шку поставлю ТЗ сочинять и с заказчиком общаться, чем человека, который не смог осилить базу.
Твои желания, братан, будут иметь вес, когда ты начнёшь превращать деньги в капитал. А до тех пор это просто бухтение под нос на лоре.
А что до ИИ так им щас только тупые нищие кабанчики пытаются закрыть прорехи и ближайшие годы будут водоразделом между теми кто имеет деньги на закупки рабочей силы и теми кто обанкротится.
Поживём — увидим. Пока я вижу только начало банкротства «программистов» в массах. На том же хабре ЗП вниз ползёт не смотря на инфляцию, а ХХ ломится от 30 человек на 1 вакансию. При том и вакансии то тоже липовые, висят просто чтоб были.
В го как раз с этим строго. А вот в сишке всё очеь плохо.
Но это и не относится к расположению типа после имени переменной. Короче говоря зря ты на это гонишь – удобно, только надо привыкнуть.
Ну а про вывод типов хаскелисты с тобой не согласятся, а ограничений ЯП которые ты так любишь там больше чем везде.
auto же позволяет меньше рефакторить, т.к. твой текст становится более абстрактным, что имеет и свои плюсы.
Поживём — увидим. Пока я вижу только начало банкротства «программистов» в массах.
1 том Капитала: там Маркс логично выводит с примерами, что как только цена рабочей силы начинает равняться зряплата + «прибыль» (прибавочная стоимость) так только становится выгодным сделать машину которая снизит затраты труда на единицу продукции, тем самым снизив спрос на труд и выкинув на улицу массу работяг, которые идут в другие отрасли. Это написано 160 лет назад. А вы все эмпирически пытаетесь выяснить «бахнет» или нет.
а ХХ ломится от 30 человек на 1 вакансию. При том и вакансии то тоже липовые, висят просто чтоб были.
Лично мне как то пох, я занимаюсь, в силу ряда причин своими проектами и по собеседованиям не хожу и не планирую.
Да, но вообще вся система рефакторинга плохая. В том же go чтоб было просто рефакторить есть интерфейсы здорового человека. И делать рефакторинг руками ну такое. Этим IDE должно заниматься на основе AST дерева кода (да IDE и компилятор должны быть цельным инструментом, а для возможности менять IDE должен быть описан стандарт взаимодействия этих приложений, в принципе, Clang такой стандарт предлагает, go предлагает лучший, но только для go, нужно что-то универсальное).
Потому надо делать не только компилятор и стандарт, но и заниматься инструментарием. Кроме того, стандарт и компилятор с инструментом в виде IDE решают одну и ту же задачу (разработку ПО), а потому должны учитывать друг друга. Нет смысла решать компилятором то, что должно решать IDE и наоборот.
Потому надо делать не только компилятор и стандарт, но и заниматься инструментарием
Так и делают везде. И всё равно от «ручного» труда полностью нигде избавиться не удалось.
Вот например для языка си, есть разные кодогенераторы, например для регулярных выражений, т.е. для того чтобы написать на Си эффективную программу для работы с реглярками программист вынужден запускать внешнюю программу. А если бы в сишке были полноценные макросы и компайлтайм вычисления (а тут то бы и нужены были и вывод типов и женерико-темплейты и ауто) то всё было бы красивее, но сложнее.
Вобщем-то вы же как любитель математики должны это понимать. Как там Бурбаки определяли единицу…
Я пожалуй сначала поставлю ассемблер. Одно занятие с разрисовыванием памяти и инструкций на бумаге, потом ассемблер, потом C. Даже если чел поиграется с асмом совсем недолго, это будет не просто какое-то абстрактно-туманное понимание адресной арифметики, а гораздо больше: отсутствие непонимания железа и страха от него.
Не выбери я сам в детстве изучать ассемблер после неудачных попыток понять, что за муть мне столь многократно и настойчиво пытаются объяснить на высокоуровневом PL/1, вообще не стал бы программистом. Единственный оставшийся вопрос – помогли ли в изучении асма бумажки с выдуманной машиной, которыми меня потчивали ещё до PL/1, не вызывая ничего, кроме раздражения. (PL/1, кстати, тоже был бумажный: времена перфокарт.) Наверное, помогли в выборе: в итоге я таки-пощупал реальное, а не выдуманное железо. И уже с только-только появившихся мониторов, без посредниц-наборщиц.
Человека без знания матана к компу подпускать нельзя.
Какой ещё матан? Для анализа эффективности алгоритмов что ли? Это предмет спецолимпиады для теоретиков, к программированию отношения не имеет. Программисту совсем другие скиллы нужны, чем дальше от всякого аутизма, тем лучше. Ну какая-то база математическая нужна на уровне первого курса, это как бы по умолчанию. Хотя бывает и совсем гуманитарии отлично программируют.