LINUX.ORG.RU

Почему все же с++ такой сложный язык?

 ,


3

4

С++ – сложный язык. Хоть это для каждого по разному и тд, но он очевидно сложнее большинства (всех?) высокоуровневых языков программирования. С другой стороны он очень быстрый и дает тотальный контроль.

Теперь вопрос: должен ли язык быть априори настолько сложным для достижения мощи как в с++ или же так просто исторически сложилось (ака историческая несправедливость)?

Ответ на: комментарий от anonymous

Не, это не конструктивно. Кучу правил можно и для раста написать, чтобы ты не доставал гланды через зад,

Для раста большей части этих правил не будет, разве что для unsafe нужна будет отдельная в разы меньшая книжица, она и так уже написана https://doc.rust-lang.org/nomicon/ .

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

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

anonymous
()
Ответ на: комментарий от anonymous

Мне неинтересно, особенно в мелких примерах, по работе я как и любой живой C++ программист научился почти всегда автоматически не делать большинства подобных ошибок, но мне очень завидно что в том же расте таких ошибок не нужно искать,

Ясно, короче не о чем, побрюзжал и всё.

извращаться с санитайзерами

g++ 1.cc -fsanitize=thread - это какой-то сложный изврат? Серьёзно? или запуск clang-tidy? Имхо, есть какие-то более существенные предъявы к цпп - сложная инфраструктура, например. Освоить cmake для начинающего - тот еще челлендж, хотя и в излишней простоте тоже минусов не меньше.

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

Язык, который меняется каждые шесть недель, простым быть не может.

По моему изменений в новых стандартах C++, которые теперь каждые три года выходят, больше чему кумулятивно в расте за те же три года. Вон аналог нового «стандарта» редакция Rust 2021 вообще ничем новым и не радует.

anonymous
()

Здравствуйте. Тред не читал.

Теперь вопрос: должен ли язык быть априори настолько сложным для достижения мощи как в с++ или же так просто исторически сложилось (ака историческая несправедливость)?

Нет, не должен. Язык C++ сложен, потому что 95% IT индустрии — кретины. Так было всегда, и ситуация не собирается меняться. В каком-то смысле я им завидую и хотел бы стать кретином, потому что с такой позиции проще договариваться с клиентами, которые свои сервера освящают с батюшкой, и перед каждой переустановкой винды молятся. Я бы на их месте тоже молился — а что еще можно сделать? Господь всё видит, каждую багу, каждый битый сектор — только он и сможет помочь.

Здесь я могу лишь мечтать о том, что займу в жизни позицию, подобную Джорджу Карлину:

When you're born in this world, you're given a ticket to the freak show. And when you're born in America, you're given a front row seat. And some of us get to sit there with notebooks. And I'm a notebook kind of guy: [pretends to be taking notes] "Oh, my God, did you see that? Did you see what he just did?..." And I watch the freak show, and I kept my notes, and I make up stuff about it, and I talk about the freaks. And the freaks are all humans, and they are all like me, and we are all the same. I'm not better, I'm not different, I'm just apart now. I'm separate, I'm over here, because I put myself out of the mix. I don't have a stake at the outcome. I'm not a cheerleader for a given outcome now.

В общем-то, на своем рабстве я примерно такую позицию и занял: «что вам нужно сделать? Вот это? Фу, говнище. Ладно, сделаю».

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от byko3y

В общем-то, на своем рабстве я примерно такую позицию и занял: «что вам нужно сделать? Вот это? Фу, говнище. Ладно, сделаю».

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

yetanother ★★
()
Ответ на: комментарий от byko3y

на своем рабстве

В этом-то и проблема. Мои лучшие работы, о которых я вспоминаю с ностальгией, были те, на которых не платили или платили прожиточный минимум. Счастлив тот, кто не имеет обязательств перед другими людьми и сумел ограничить свои материальные потребности. Собственно, всё это не ново.

Тем не менее, я перескочил с C++ на Rust на примерно те же деньги (с потерей двух лет на переход) и стал чуточку менее несчастлив :). Надеюсь после исполнения обязательств вернуться на бесплатную райскую работу и там фигачить уже на Расте :).

hbee ★★★★
()
Ответ на: комментарий от hbee

Счастлив тот, кто не имеет обязательств перед другими людьми и сумел ограничить свои материальные потребности

Дада, чашки риса хватит всем. Настоящее счастье - это когда на этот раз не замерз, ночуя под мостом.

Уж лучше сдохнуть.

anonymous
()
Ответ на: комментарий от anonymous

Я думаю, он имел в виду ограничить в росте свои материальные потребности - когда после квартиры/машины ты не желаешь пентхауз и бентли. Тут уместно вспомнить «Богатого папу, бедного папу» от Кийосаки.

yetanother ★★
()
Ответ на: комментарий от hbee

В этом-то и проблема. Мои лучшие работы, о которых я вспоминаю с ностальгией, были те, на которых не платили или платили прожиточный минимум

Пф-ф-ф, ты знаешь сколько я уже бесплатных «работ» переработал? Еще в школе занимался разработкой ERP для местного мелкого заводика под руководством опытного прохмандея, который, получив первые деньги (порядка 600$) ушел в запой, не заплатил своему наемному сотруднику, который вполне конкретно работал за деньги и этих денег не увидел — и на этом всё закончилось. ERP — такое ERP. Огрызки своего проекта я пустил в итоге на местный конкурс школьных «научных» работ, который помог мне поступить на бюджет в институт. Потом уже на первом курсе я все-таки заработал денег на Google Summer of Code, и на эти деньги жил следующие 4 (четыре) года.

Счастлив тот, кто не имеет обязательств перед другими людьми и сумел ограничить свои материальные потребности

R. Не могу прямо-таки согласиться, однако.

Тем не менее, я перескочил с C++ на Rust на примерно те же деньги (с потерей двух лет на переход) и стал чуточку менее несчастлив

А тем временем у меня тут новый приступ поиска виноватых: машина Тьюринга — говно, и все языки для написания машин тьюринга — говно. Слава ИИ, слава роботам. Что характерно, таки индустрия потихоньку уходит от тьюринга.

Это потому, что я в последнее время пишу забесплатно многопотоки, и уже отбил себе все пальцы об острые углы, а причина проблем стабильно одна — наличие униформного доступа к единой ячейке памяти со стороны нескольких вычислителей. Хотя, на самом деле он уже давно не унифромный и даже многоядерный однопроцессор внутри себя делает маленькую NUMA-систему — но все продолжают делать вид, что память одна, неделима, и вседоступна. В том числе Intel. Да в том числе и NVidia, что уж там.

byko3y ★★★★
()
Ответ на: комментарий от yetanother

Кийосаки

Человека который учил других тому в чем сам не разбирался и в результате обонкротился?

anonymous
()
Ответ на: комментарий от anonymous

Тогда сразу Кастанеду, лол.

Наш родной Серкин со своим шаманом забористее.

anonymous
()
Ответ на: комментарий от anonymous

а чем ведутся войны? порохом. на основе серы и селитры. то есть, опять таки, в прямом смысле: на основе мочи и говна

Да, прикольно пишешь, анон. Иди Пелевиным работать.

И qulinxao3 тож красавчик, а то я уже устал в одну глотку на лоре тужиться о том, что всё IT строится вокруг проектирования, производства, дистрибьюции, пусконаладки, и поддержки говна. Если софт будет просто работать, то экономика схлопнется. Hitachi делала лучшие жесткие диски на рынке — и исчезла. Seagate делали сплошной кал — теперь это лидер рынка.

Человечество, как психопат с обосранными трухалями, вместо того, чтобы пойти поменять трусы и подмыться — строит автомобиль, в который он может сесть, чтобы за автомобилем не было видно, что он обосрался. Под это дело строятся заводы, выделяются миллиарды на «перспективные исследования». Хотя всё, что делает эта промышленность — помогает забыть про уже давно засохшие катяхи на трусах, и показывает эксплуатирующую эту пикантную подробность рекламу на подсознательный уровнь, мол «не мешает и не воняет — прямо как новый BWM».

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от byko3y

Да, прикольно пишешь, анон. Иди Пелевиным работать.

Со стороны мух уже двоих выслушали, пора бы и пчёлам выступить.

anonymous
()
Ответ на: комментарий от anonymous

Кийосаки

Человека который учил других тому в чем сам не разбирался и в результате обонкротился?

В США автор книги о семейной гармонии "как сохранить брак" застрелил свою жену и выложил в Facebook фотографию трупа. Дейл Карнеги, автор книги "как завоевывать друзей и оказывать влияние на людей" умер в полном одиночестве. Бенжамина Спока автора бестселлера "Ребенок и уход за ним" его собственные сыновья хотели сдать в дом престарелых. Мария Монтесори, известный педагог, отдала своего сына в приемную семью, чувствуя, что ее предназначение на этой земле - посвятить себя чужим детям, а корейская пистельница, автор бестселлеров "как быть счастливым" повесилась от депрессии. Это все, что надо знать про разного рода тренинги личностного роста, эзотерических гуру, коучеров, бизнес-тренеров и прочих.
byko3y ★★★★
()
Ответ на: комментарий от anonymous

Человека который учил других тому в чем сам не разбирался и в результате обонкротился?

И которого критикует человек, который пишет с ошибками, даже несмотря на то, что на лоре есть проверка ошибок и вот у меня твоя ошибка красной волнистой линией подчеркивается?

yetanother ★★
()
Ответ на: комментарий от byko3y

Бенжамина Спока автора бестселлера «Ребенок и уход за ним» его собственные сыновья хотели сдать в дом престарелых.

А что в этом плохого? Допустим, у человека паркинсон, деменция и прочее. Сидеть дома с ним возможности нет, видишь его только утром и после работы.

Точно так же можно после работы заезжать в дом престарелых. Только по сравнению с проживанием в своём доме, за ним там есть присмотр и уход днём.

anonymous
()

За реализуемость такого масштаба и разнообразия идей для программных проектов приходится платить сложностью разработки. А как иначе?

Infra_HDC ★★★★★
()
Ответ на: комментарий от no-such-file

Вылезайте из криокамеры, constexpr уже не один год существуют.

anonymous
()

Апрельские Тезисы:

  • Мир, Труд (сугубо удаленный), Rust (неосиляторам)!
  • Конфискация всех ++ земель и национализация всех компиляторов, включая mrustc.
  • Власть должна перейти в руки Неосиляторов.
  • Необходимость противостояния блоку импереалистических оппортунистических элементов при одновременном продвижении лозунга о необходимости перехода на Rust.
  • Слияние всех Банков Cистемы в один Общенациональный Банк, подконтрольный Советам Неосиляторов.
  • Плата всем чиновникам, при выборности и сменяемости всех их в любое время, не выше средней платы хорошего Неосилятора.
  • Абсолютный отказ от ++ оборончества (включая переименование в Rust Foundation).
  • Rust - Продажная Девка Импереалистов, которая пошла на службу Советам Неосиляторов.
  • Интересно Торвальдс пляшет, если с ЛОРа посмотреть.
  • Обновление rustc
anonymous
()

Почему все же с++ такой сложный язык?

Утрировано так - «К абстракции добавим десять вложенных уровней ее использования».

anonymous
()
Ответ на: комментарий от anonymous
  • Не Проприетарные Компоненты, а республика Советов Неосиляторов, батрацких и cxx депутатов по всей стране, снизу доверху, с упразднением 0day, logical programming bugs и бюрократического аппарата и замене постоянных data races всеобщим Fearless Concurrency
anonymous
()
Ответ на: комментарий от anonymous

Java is a registered trademark of Oracle and/or its affiliates.

anonymous
()

Почему все же с++ такой сложный язык?

Потому что 2 + 2 ПО ВЗРОСЛОМУ нужно вычислять через тройной интеграл по Гаусову пространству.

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Ныне много «ПЕРЕДОВЫХ» технологий от многоуважаемых корпораций.

Любая ерунда от них превозносится как ПЕРЕДОВАЯ ТЕХНОЛОГИЯ.

Время ныне такое

Владимир

anonymous
()
Ответ на: комментарий от hbee

Буквально пару лет назад я вроде видел тебя как ярого апологета го, что случилось, го тебя разочаровал?

anonymous
()
Ответ на: комментарий от anonymous

Буквально пару лет назад я вроде видел тебя как ярого апологета го, что случилось, го тебя разочаровал?

Хороший вопрос. Я около двух лет проработал Go-разработчиком, было много интересного и полезного опыта. Но изначальный вектор был — отрицание C++. Настало время двинуться дальше и освоить Rust. Оба языка могут хорошо дополнять друг друга; условно, Go — убийца Джавы, Rust — убийца C и C++.

Я иногда скучаю по кристальной простоте Go и чистоте его кода :). Но Rust несравненно круче по возможностям абстрагирования и безопасности «ленивой» разработки (скажем, проблема случайного пропуска проверки нулевого указателя отсутствует).

И было ещё одно обстоятельство… Я столкнулся с тем, что Go привлекает много «вайтишников» низкого уровня, и в какой-то момент обнаружил себя «ментором», самым опытным разработчиком в своей компании. Эта роль не для меня, я предпочитаю учиться, а не учить. Тогда как Rust, благодаря высоковатому порогу входа, привлекает более продвинутых людей.

hbee ★★★★
()
Ответ на: комментарий от hbee

Эта роль не для меня

Как и роль 1С-ника утомила меня. Я хочу как прежде - сниматься в кино.

Владимир

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.