Здравствуйте, vsb, Вы писали:
vsb>Я в последнее время много пишу на C и просто не допускаю багов.
А у меня, вот, недавно случился детский баг — выход за границы памяти. Вроде чел. с 20 летним опытом постоянным практически ежедневным написанием ПО — не должен такого себе позволять — ан случилось.
Причина — ранее не сталкивался с новым C++ std::ranges — и применил не правильно. В итоге писал в память мусор.
Причем в десктопной версии оно работало нормально и баг себя не проявлял, а вот в WASM-версии просто падало без всяких опознавательных знаков.
vsb>Писать на C легко и приятно. Это проторённый путь.
Ну не знаю — чем скуднее язык — тем сложнее на нем писать. Вроде логично.
На голом C писать в ООП стиле намного сложнее чем на том же C++. И ведь все-равно пишут и вирт. функции через указатель void* и все делают. И это те же самые парадигмы по сути, т.е. ничего проще не стало — но намного больше бойлерплейт-кода и намного меньше наглядности.
Я уже не говорю про макросы, когда их много — это жуть. А язык этому способствует.
vsb>Найдут баг — я исправляю и всё.
Тут еще вопрос — как быстро вы сможете найти. Допустим, если где-то вышли за границы массива и записали мусор в память — это не сразу может себя проявить — вот в чем беда.
vsb>C++ я особо не рассматриваю. В целом ничего против C++, как C с некоторыми фичами из С++ не имею (хотя пока и не использую, но мысли были). Иногда они к месту. Но тот C++, который предлагают его адепты, мне точно не нужен, так же, как и Rust. Но тут мотивация немного другая. Я себя считаю фуллстак программистом. Знаю всё понемногу. С C++ так не получится, я так думаю. C++ надо или знать очень хорошо, ну или даже не пытаться применять полноценно.
C++ есть разных поколений — и вам не обязательно знать досконально прошлые поколения языка. Тот же auto_ptr возможно где и встретите и не будете знать что это — но это уже архаизм.
Более того — не обязательно тащить и использовать все конструкции языка. Активный язык может быть не таким уж большим для решения задач, а пассивный (т.е. читаете, но так не пишите) — со временем нарабатывается.
vsb>Людей, которые знают C, найти куда проще, чем людей, которые отлично знают С++.
Тут точно не соглашусь. Голые С-шники вообще не от мира сего, где их искать — не ясно. Возможно какой-то школьник и знает конструкции С, но сможет ли он писать код для продакшена? Конечно нет. Тут же не только тупо знание языка нужно.