Re[5]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 01.11.19 23:41
Оценка:
Здравствуйте, CreatorCray, Вы писали:

НС>>Компиляторы точно на С++ писать не стоит.


CC>Расскажи вот им: https://lwn.net/Articles/542457/


Слабаки, сишечку не осилили
Маньяк Робокряк колесит по городу
Re[6]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 01.11.19 23:48
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Компиляторы точно на С++ писать не стоит.

CC>>Расскажи вот им: https://lwn.net/Articles/542457/

НС>Зачем? Бутстраппинг компайлера — правило хорошего тона. Но не делает С++ лучшим выбором для других языков.


Э-э-э...

GCC — тащем-то — это GNU Compiler Collection — пачка фронт-эндов и пачка бэкендов. Чёта они забили на правила хорошего тона, не?
Маньяк Робокряк колесит по городу
Re[6]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 01.11.19 23:52
Оценка:
Здравствуйте, Pzz, Вы писали:

НС>>>Компиляторы точно на С++ писать не стоит.


CC>>Расскажи вот им: https://lwn.net/Articles/542457/


Pzz>Ян Тейлор, надо сказать, сбежал в Go от всего этого кошмара. Но на прощанье, как я вижу, решил внести сомнения в gcc'ные умы.


Из сишного GCC кто угодно куда угодно сбежит, лишь бы улизнуть из ада. О чем это может говорить? Только о сишечке
Маньяк Робокряк колесит по городу
Re[13]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 00:00
Оценка:
Здравствуйте, Pzz, Вы писали:


Pzz>>>Но вообще, в C++, в котором таблица виртуальных методов общая для всех экземпляров класса,


DI>>А что мешает в наколеночной реализации на С иметь одну таблицу на все экземпляры?


Pzz>Очень неудобно.


И кроме всего прочего, непонятна тогда нужда заводить vtbl, одинаковую для всех. В плюсиках компилятор будет решать, как лучше, в сишечке — сишечник, который считает себя умнее компилятора. Причем для каждого конфига сборки — заново. гениальное решение, я щитаю
Маньяк Робокряк колесит по городу
Re[11]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 00:06
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Это понятно. Вопрос в том, насколько применение C++ без STL актуально...


Вполне актуально. В минус уходят только контейнеры из std, всё остальное остается

И — STL — это терминология даже не 98го года, а еще более ранняя
Маньяк Робокряк колесит по городу
Re[22]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 00:21
Оценка:
Здравствуйте, CreatorCray, Вы писали:


N>>быть нулем или вообше битым.

CC>Это проблема не ссылки а кривых рук говнокодера.

25 лет пользуюсь ссылками, не заметил проблем. Наверное, я делаю что-то не так
Маньяк Робокряк колесит по городу
Re[25]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 00:21
Оценка:
Здравствуйте, nekocoder, Вы писали:

CC>>Вот это ты сейчас серьёзно?

N>Абсолютно. Например недавно столкнулся с безобидным с виду строковым полем в классе
Т.е. ты "не заметил" & в конце декларации?

N>причем ссылкой на нечто очень далекое.

Ты что под "очень далёким" понимаешь?

N>изучение кода замедляет. С указателем бы сразу было все ясно.

Это говорит лишь о недостатке опыта

N>в софте бывают баги. Синтаксис ссылок помогает их сделать.

Строго наоборот. По хорошему указателей в С++ коде вне отдельных мест, где надо конкретно заниматься адресной арифметикой, быть просто не должно.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[24]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 00:21
Оценка:
Здравствуйте, Marty, Вы писали:

M>Так-то всякие тупые касты в стиле чистой сишечки — это даже не подножка, а когда сбивают с ног и потом ногами еще хреначат то потери сознания.

M>Я так понимаю, ты не осилил в шаблоны со всяким выводом и auto, а теперь, чтобы оправдаться перед собой, тупо называешь всё это "бесовщиной"? Ну-ну
Поди ещё в vim пишет и в консоли компиляет

M>>>Легальными способами сделать нулевую ссылку нельзя

N>>Да ладно, обычный дереференс нулевого указателя.

M>Ну, это да, легально, подловил.

Это не легально.
Безусловно кастить указатель (который по определению может быть NULL) в ссылку (которая NULL быть не может) это баг.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[25]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 00:21
Оценка:
Здравствуйте, nekocoder, Вы писали:

N>Когда ты видишь указатель, ты знаешь что это указатель и что его можно и нужно проверять на nullptr. Когда ты видишь ссылку, ты не знаешь, что это ссылка, не ожидаешь, что в ней может быть nullptr, и не можешь напрямую проверить на nullptr.


А какой это криворучка взял указатель, не проверил его на NULL и разыменовал в ссылку, а?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[25]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 00:24
Оценка: +1
Здравствуйте, nekocoder, Вы писали:

N>Абсолютно. Например недавно столкнулся с безобидным с виду строковым полем в классе, которое оказалось ссылкой, причем ссылкой на нечто очень далекое. Все это конечно некритично, но изучение кода замедляет. С указателем бы сразу было все ясно.


Дай дураку стеклянный член — он и его разобьет
Маньяк Робокряк колесит по городу
Re[17]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 00:27
Оценка:
Здравствуйте, smeeld, Вы писали:

НС>>Тебя попросили привести твой код, а ты почему то вместо этого привел чужой. В чем логика? У тебя нет своего кода?


S>Бро, я никогда не писал хеллоуворлды и велосипеды с нуля.


Бро, слив защитан, узбогойзя
Маньяк Робокряк колесит по городу
Re[23]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 00:28
Оценка: +1 :))
Здравствуйте, Marty, Вы писали:

M>25 лет пользуюсь ссылками, не заметил проблем. Наверное, я делаю что-то не так


Поди читеришь: проверяешь значение указателя перед его разыменованием.
Это нячэсна! Так каждый сможет!!!
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[26]: А С++ то схлопывается...
От: nekocoder США  
Дата: 02.11.19 00:31
Оценка: :))
Здравствуйте, CreatorCray, Вы писали:

CC>А какой это криворучка взял указатель, не проверил его на NULL и разыменовал в ссылку, а?


Какой-то взял, 10 лет назад, когда этот указатель не мог быть null. А потом времена поменялись и он иногда стал становиться null, но несколько лет на это не натыкались. А потом опять что-то поменялось и наткнулись.
Re[26]: А С++ то схлопывается...
От: nekocoder США  
Дата: 02.11.19 00:34
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:

CC>Т.е. ты "не заметил" & в конце декларации?

Декларация в заголовке, ее не видно если специально не лезть. В этом и есть проблема ссылок.

CC>По хорошему указателей в С++ коде вне отдельных мест, где надо конкретно заниматься адресной арифметикой, быть просто не должно.

Ссылка — это указатель, маскирующийся под значение. Лишняя сложность на ровном месте.
Re[25]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 00:45
Оценка:
Здравствуйте, CreatorCray, Вы писали:

M>>Так-то всякие тупые касты в стиле чистой сишечки — это даже не подножка, а когда сбивают с ног и потом ногами еще хреначат то потери сознания.

M>>Я так понимаю, ты не осилил в шаблоны со всяким выводом и auto, а теперь, чтобы оправдаться перед собой, тупо называешь всё это "бесовщиной"? Ну-ну
CC>Поди ещё в vim пишет и в консоли компиляет

Та-а-а-а-а-к, ты что-то имеешь против фара?


M>>>>Легальными способами сделать нулевую ссылку нельзя

N>>>Да ладно, обычный дереференс нулевого указателя.

M>>Ну, это да, легально, подловил.

CC>Это не легально.
CC>Безусловно кастить указатель (который по определению может быть NULL) в ссылку (которая NULL быть не может) это баг.

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

Сишечники вообщые смешные люди — кастуют что ни попадя куда ни попадя, а потом плюсики со строгой типизацией объявляют вселенским злом
Маньяк Робокряк колесит по городу
Re[25]: А С++ то схлопывается...
От: nekocoder США  
Дата: 02.11.19 00:54
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Безусловно кастить указатель (который по определению может быть NULL) в ссылку (которая NULL быть не может) это баг.


Например, указатель — приватное поле, которое инициализируется в конструкторе строго в не-null.
Re[25]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 00:56
Оценка:
Здравствуйте, nekocoder, Вы писали:

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

CC>>Вот это ты сейчас серьёзно?
N>Абсолютно. Например недавно столкнулся с безобидным с виду строковым полем в классе, которое оказалось ссылкой, причем ссылкой на нечто очень далекое. Все это конечно некритично, но изучение кода замедляет. С указателем бы сразу было все ясно.

Чем '*' отличается от '&'? , тем, что ты на '*' тригеришь как на потенциально опасное, а на '&' — нет?

Так-то ссылки в структуре-классе это пидорство. Как и сырые указатели, в основном


CC>>Такое на практике часто бывает когда руки из жопы. Потому что это банальный баг.

N>Внезапно, мир несовершенен и в софте бывают баги. Синтаксис ссылок помогает их сделать.

сишечка плодит их неимоверно больше
Маньяк Робокряк колесит по городу
Re[26]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 00:57
Оценка:
Здравствуйте, Marty, Вы писали:

M>Та-а-а-а-а-к, ты что-то имеешь против фара?

Far != vim

M>С точки зрения компилятора — это таки легально.

Ты какие то странные определения используешь.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[27]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 00:57
Оценка: +3
Здравствуйте, nekocoder, Вы писали:

N>Какой-то взял, 10 лет назад, когда этот указатель не мог быть null.

Любой указатель может быть NULL.
Если есть ожидания то либо сразу делай ссылкой либо ставь assert.
Нет ни того ни другого — говнокод

N> А потом времена поменялись и он иногда стал становиться null, но несколько лет на это не натыкались. А потом опять что-то поменялось и наткнулись.

Дада, а ещё файлы должны всегда существовать (и раньше были) и функции не должны были файлить (и не файлили раньше), и память не кончается никогда (ну не кончалась же раньше!).
Error handling для трусов, да!
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[27]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 00:57
Оценка:
Здравствуйте, nekocoder, Вы писали:

CC>>Т.е. ты "не заметил" & в конце декларации?

N>Декларация в заголовке, ее не видно если специально не лезть. В этом и есть проблема ссылок.

Т.е. ты что то лезешь делать в чужом коде с переменной не зная о ней вообще ничего? Молодец, чо! Не думай, не разбирайся — сразу херачь и в продакшен!
И да, у тебя что, IDE не умеет типы переменных показывать?

CC>>По хорошему указателей в С++ коде вне отдельных мест, где надо конкретно заниматься адресной арифметикой, быть просто не должно.

N>Ссылка — это указатель, маскирующийся под значение. Лишняя сложность на ровном месте.

Эта абстракция — одно из преимуществ С++ перед С, которое позволяет писать более простой, безопасный и чистый код.
Пока к коду не подпускают сишников, которые каменными топорами прорубают себе дыры, строго в соответствии с заветами Паблика Морозова.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.