Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Компиляторы точно на С++ писать не стоит.
Так стоит или не стоит?
По факту и на деле — видим что стОит.
НС>Бутстраппинг компайлера — правило хорошего тона.
Ты статью то прочитай.
НС> Но не делает С++ лучшим выбором для других языков.
А при чём тут лучший выбор?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Pzz, Вы писали:
Pzz>А плюс заключается в том, что тимлид может позволить себе спокойно провести выходные с детьми, и усвистеть в отпуск в заранее запланированное время, а не в случайном промежутке между двумя авралами.
Здравствуйте, nekocoder, Вы писали:
CC>>Да что ж вас, сишников, от ссылок то так корёжит? Большинство сишников что я встречал боятся ссылок как чёрт ладана, причём придумывают отмазки одну другой безумнее. CC>>Какие ж это такие неочевидные проблемы с ссылками, а то я уже лет 20+ на плюсах всякое пишу и всё никак не наткнусь.
N>Ссылка довольно дурацкая штука. В коде выглядит как значение, а на самом деле — указатель. Который может указывать на что-то где-то далеко, быть нулем или вообше битым.
Указатель точно также может быть битым, и точно также ты его не проверишь на битость/не битость. Легальными способами сделать нулевую ссылку нельзя, как и оставить неинициализированной. Одни плюсы, по сравнению с указателем. До кучи — синтаксис такой же, да, как у переменных по значению — если решил, что затык в этом, не надо переколбашивать кучу кода, достаточно поправить сигнатуры функций
Здравствуйте, CreatorCray, Вы писали:
S>>Загляни в исходники любого ядра на Сях, там везде такой ООП, до которого любому известному проекту на C++ как раком до Пекина.
CC>Заглядывал в три разных — во всех на С накручен сраный пздц, врукопашную закатывают солнце.
Эта проблема стара как мир — очень многие готовы вручную свернуть горы, лишь бы не изучать что-то новое, предпочитая оставаться в своём уютненьком мирке
Здравствуйте, Nuzhny, Вы писали:
N>>>На ods московский Хуавей выложил вилку для AI expert до 2 млн. рублей в месяц. Это неплохая зп, ИМХО. M>>А что такое osd?
N>OSD — это on screen display. Но ты, видимо, спрашиваешь про ods.ai
Спасибо, кэп
Я спрашивал про тот osd, про который упомянул ты. Просто буквы перепутал
N>Зайди на сайт, присоединяйся к комм нити, если data science интересен.
Здравствуйте, Pzz, Вы писали:
Pzz>Я вообще считаю, что язык должен быть простым. И чем меньше в нем всего, тем лучше. Напихать в язык весь computer science — много ума не надо. А вот сделать простой и лаконичный язык, но при этом достаточно выразительный для решения повседневных задач — это великое искусство. Язык не должем занимать у программиста всю голову, голова программиста, она для другого предназначена, а язык должен в работе помогать, а не требовать только о нем и думать с утра до вечера.
Pzz>По мне, так C++ вообще какой-то курьез, типа PL/1, для работы не пригодный, Rust — слишком сложен.
C++ именно такой — в повседневной работе я практически не парюсь, не думаю вообще ни о чем, кроме текущей задачи. Когда пишу библиотечный код — тут — да, надо уже думать, как сделать эффективнее.
"Напихать в язык весь computer science — много ума не надо" — ум нужен, чтобы использовать в текущий момент только то, что нужно. Неосиляторы таким навыком не обладают
Здравствуйте, Marty, Вы писали:
M>ЗЫ А ты гобжекты видел?
Видел, очередной poverty pack abomination.
Вместо того чтоб взять нормальный язык где всё это уже есть пытаются убого эмулировать недостающий функционал на макросах.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>>>если С++ на помойку то на чем тогда писать ОС компиляторы и системыне утилиты НС>>>Компиляторы точно на С++ писать не стоит. M>>clang
НС>Что clang?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Компиляторами С++ мир не ограничивается? M>>Думаю, компилятор C++ сложнее всех других компиляторов на порядок, если не на два
НС>Думай.
Кроме подобных глубокомысленных комментариев по существу есть что-то?
Здравствуйте, Pzz, Вы писали:
M>>Думаю, компилятор C++ сложнее всех других компиляторов на порядок, если не на два
Pzz>А код все равно дурной компилировает...
Здравствуйте, Pzz, Вы писали:
НС>>>Компиляторы точно на С++ писать не стоит.
M>>clang
Pzz>Я заглядывал внутрь этого вашего цланга, чтобы что-то про него прояснить для себя. Прямоугольный кусок кода, одинаково плотно набитый буквами и по горизонтали, и по вертикали, ужас.
Здравствуйте, CreatorCray, Вы писали:
M>>ЗЫ А ты гобжекты видел? CC>Видел, очередной poverty pack abomination. CC>Вместо того чтоб взять нормальный язык где всё это уже есть пытаются убого эмулировать недостающий функционал на макросах.
Ну, это мы с тобой понимаем, что это говно родилось как результат ручной реализации того, что плюсовый компилятор делает автоматически. А наши недалекие поклонники пингвинуса наверняка считают это вершиной технологической мысли
Здравствуйте, Marty, Вы писали:
M>Указатель точно также может быть битым, и точно также ты его не проверишь на битость/не битость.
Претензия не к этому. Указатель в коде видно из-за другого синтаксиса, и от него знаешь чего ожидать. А ссылку нет. Когда ты разбираешься в куче чужого кода, это лишняя подножка. А когда в коде начинают использовать шаблоны с выводом аргументов и auto, то все становится еще веселее.
M>Легальными способами сделать нулевую ссылку нельзя
Да ладно, обычный дереференс нулевого указателя.
int* a = nullptr;
int& b = *a; // такое на практике часто происходит когда у тебя указатель, а в функцию надо передать ссылку.
Здравствуйте, nekocoder, Вы писали:
N>Указатель в коде видно из-за другого синтаксиса, и от него знаешь чего ожидать. А ссылку нет.
Она для того и создана.
N>Когда ты разбираешься в куче чужого кода, это лишняя подножка.
Вот это ты сейчас серьёзно?
N>Да ладно, обычный дереференс нулевого указателя. N>int& b = *a; // такое на практике часто происходит когда у тебя указатель, а в функцию надо передать ссылку.
Такое на практике часто бывает когда руки из жопы. Потому что это банальный баг.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
N>>Когда ты разбираешься в куче чужого кода, это лишняя подножка. CC>Вот это ты сейчас серьёзно?
Абсолютно. Например недавно столкнулся с безобидным с виду строковым полем в классе, которое оказалось ссылкой, причем ссылкой на нечто очень далекое. Все это конечно некритично, но изучение кода замедляет. С указателем бы сразу было все ясно.
CC>Такое на практике часто бывает когда руки из жопы. Потому что это банальный баг.
Внезапно, мир несовершенен и в софте бывают баги. Синтаксис ссылок помогает их сделать.
Здравствуйте, nekocoder, Вы писали:
M>>Указатель точно также может быть битым, и точно также ты его не проверишь на битость/не битость. N>Претензия не к этому. Указатель в коде видно из-за другого синтаксиса, и от него знаешь чего ожидать. А ссылку нет. Когда ты разбираешься в куче чужого кода, это лишняя подножка. А когда в коде начинают использовать шаблоны с выводом аргументов и auto, то все становится еще веселее.
Так-то всякие тупые касты в стиле чистой сишечки — это даже не подножка, а когда сбивают с ног и потом ногами еще хреначат то потери сознания.
Я так понимаю, ты не осилил в шаблоны со всяким выводом и auto, а теперь, чтобы оправдаться перед собой, тупо называешь всё это "бесовщиной"? Ну-ну
M>>Легальными способами сделать нулевую ссылку нельзя
N>Да ладно, обычный дереференс нулевого указателя.
Ну, это да, легально, подловил. Но попахивает каким-то говнецом в архитектуре. Мне такое даже и не припомню, когда нужно было делать. Если только из сишечки передать надо в плюплюшечку. Проверок не сделал? Ассёртов не расставил? Ну, может, таки сам дурак? Это раз.
Два: по обращении по нулевому указателю чисто по коду ты точно также хрен поймешь, что и где попортилось. В рантайме — и так и так тебя выкинет по исключению, ты можешь зайти в отладку, и посмотреть, где проблема возникла, а также отследить стек вызовов.
N>
N>int* a = nullptr;
N>int& b = *a; // такое на практике часто происходит когда у тебя указатель, а в функцию надо передать ссылку.
N>
Ага, а еще можно регулярно шутить насчет самоубийства, с использованием табельного оружия, вынув магазин, но забыв проверить наличие патрона в стволе. Если сам дурак, то кто тебе доктор?
ЗЫ Последние пару лет у нас прикупили PVS. На мой код она ругается часто: "condition is always false/true". Ну, как — часто — раз 10 на 100К кода, где-то, все эти места я знаю, там спецом так сделано. Раз в полгода, или даже раз в три месяца находятся реально баги
Здравствуйте, Marty, Вы писали:
M>Так-то всякие тупые касты в стиле чистой сишечки — это даже не подножка, а когда сбивают с ног и потом ногами еще хреначат то потери сознания.
Так сишка и не претендует на звание безопасного высокоуровневого языка, с нее спроса нет.
M>Я так понимаю, ты не осилил в шаблоны со всяким выводом и auto, а теперь, чтобы оправдаться перед собой, тупо называешь всё это "бесовщиной"? Ну-ну
"Ниасилил" это аргумент хаскелистов и немерлистов
M> Ну, может, таки сам дурак? M>Если сам дурак, то кто тебе доктор?
Люди делали, делают и будут делать ошибки. Даже самые умные и внимательные.
M>Два: по обращении по нулевому указателю чисто по коду ты точно также хрен поймешь, что и где попортилось.
Когда ты видишь указатель, ты знаешь что это указатель и что его можно и нужно проверять на nullptr. Когда ты видишь ссылку, ты не знаешь, что это ссылка, не ожидаешь, что в ней может быть nullptr, и не можешь напрямую проверить на nullptr.
Когда ты правишь код с которым плохо знаком, это создает ненулевые шансы для создания багов.
Здравствуйте, nekocoder, Вы писали:
M>>Так-то всякие тупые касты в стиле чистой сишечки — это даже не подножка, а когда сбивают с ног и потом ногами еще хреначат то потери сознания. N>Так сишка и не претендует на звание безопасного высокоуровневого языка, с нее спроса нет.
Сишка не претендует, да, что нельзя сказать о её воинствующих адептах
M>>Я так понимаю, ты не осилил в шаблоны со всяким выводом и auto, а теперь, чтобы оправдаться перед собой, тупо называешь всё это "бесовщиной"? Ну-ну N>"Ниасилил" это аргумент хаскелистов и немерлистов
Ну, то есть конкретных примеров от тебя не ждать, а только ссылок на "авторитетов"?
M>> Ну, может, таки сам дурак? M>>Если сам дурак, то кто тебе доктор? N>Люди делали, делают и будут делать ошибки. Даже самые умные и внимательные.
Да. И?
M>>Два: по обращении по нулевому указателю чисто по коду ты точно также хрен поймешь, что и где попортилось.
N>Когда ты видишь указатель, ты знаешь что это указатель и что его можно и нужно проверять на nullptr. Когда ты видишь ссылку, ты не знаешь, что это ссылка, не ожидаешь, что в ней может быть nullptr, и не можешь напрямую проверить на nullptr.
Ну оки, оки. Проверить указатель перед разыменованием видимо не судьба. Ок. Пиши на сишечке, или на расте
N>Когда ты правишь код с которым плохо знаком, это создает ненулевые шансы для создания багов.
А это вряд ли от языка кода зависит. Дурак завсегда сможет сломать то, что умные люди годами делали, это от языка мало зависит