C/C++

Актуальность Си и Си++

На Хабре и и Киберфоруме проскакивают сообщения, что дни Си и Си++ сочтены. Говорят мол, устарели эти языки, без костылей ничего не могут и на смену им скоро придёт Раст. Что думаете об этом?
Сомневаюсь. Это популярный язык программирования! И что нам придётся наслаждаться Java Или Python? Я не согласен.
АФ
Алексей Федяев
2 262
Лучший ответ
Чепуха. Входят в четверку самых распространенных языков, причем за последний год популярность C++ даже выросла. А Rust по популярности на 24-м месте.
Anton Litvin Чепуха или нет, а я за свою карьеру C++ dev (2018-2021) столкнулся уже с проектом на Rust и вынужден был его изучать, иначе бы уволили. Впрочем, в итоге я уволился сам)
И все вот прям внезапно бросились переписывать код системных программ и ядер операционок на раст.
Евгений Линд
Евгений Линд
30 155
И какую дату называют для переписЬки, например, системного ядра Linux на Rust? :)

На сегодня есть куча системного софта, который написан на C и/или C++, находится в активной разработке (т. е., выходят новые версии) и в обозримом будущем перепиcываться на других языках не будет. ОС, СУБД (и вообще серверные продукты), средства разработки, встроенные системы и т. п.

Для примера -- "живое" объявление о приеме на работу в Google:

Senior Software Engineer, Linux Core Kernel/Release Tools
Sunnyvale, CA, USA

Minimum qualifications:
-- Bachelor’s degree or equivalent practical experience.
-- 7 years of software development experience, or 5 years with an advanced degree.
-- Software development experience in C.
-- Experience with Linux Kernel.

Preferred qualifications:
-- Knowledge of Intel and/or ARM assembler.
-- Desire to work with a complex technical stack and guide or implement fixes in the kernel and related software.
-- Significant experience in Linux kernel programming, including device driver development, low level platform support (interrupt controllers, IOMMU etc), other kernel feature development, kernel debugging in the presence of a complex technical stack, kernel performance measurement and tuning, and participation in the upstream Linux kernel community.

https://careers.google.com/jobs/results/99400170149421766/

Обратите внимание: категорически требуется C без плюсов...
>> Что думаете об этом?
Что раст открыл вторую сотню в очереди убийц C/C++.
Дяченко Сергей
Дяченко Сергей
12 593
Anton Litvin Скорее всего в этом списке будут либо маргинальные языки вроде D, либо языки, которые компилируются не в натив, а под какую-то VM, или даже вовсе интерпретируемые. При этом некоторые будут еще и иметь проблемы с кроссплатформенностью, например C#, который долго был не кроссплатформенным и сейчас в реальности мало кому нужен на Linux и тем более на Android.

А Rust - это не слишком маргинальный язык, и компилируется в натив.
Работал и работаю программистом на C++. Нет, проекты на C++ есть, и их-то никто переписывать не будет. Но если твоя компания решила делать сейчас какой-то новый проект - то вполне возможно, что делать его она будет на Rust. И тогда тебе либо учить Rust, либо увольняться. При этом в реальности может и не быть времени на изучение Rust, тогда тебя просто уволят и возьмут того, кто уже знает Rust.

Но и если ты изучишь только Rust, а C++ знать не будешь, то может случиться то же самое, и даже более вероятно, проектов на Rust пока мало.

Поэтому правильно будет C++ знать в совершенстве, а Rust хоть немного.

(Исключение - сеньоры и тимлиды - их вряд ли уволят из-за языка, но чтобы стать таковым, нужно лет 5 отработать, а в моем случае я столкнулся с Rust через 3 года после начала карьеры, и это при том, что начал в 2018, а ты в 2022 начнешь и Rust будет еще популярнее...)