Size: a a a

2021 April 25

t

ttldtor in codingteam
где проголосовать против? Где проголосовать против препроцессора?
источник

t

ttldtor in codingteam
Нет демократии, нихера нет
источник

t

ttldtor in codingteam
блядство одно
источник

t

ttldtor in codingteam
а, гм, возможно #embed и не пройдёт
источник

c

codingteam@cjr in codingteam
Minoru
не вставится в стандарт? ;)
источник

c

codingteam@cjr in codingteam
Minoru
блин, а я только что узнал, что атомики в плюсах реализованы через шаблон, позволяющий вообще что угодно сделать атомарным
источник

t

ttldtor in codingteam
хотя, если этот пропосал не примут, то автор может объявить комитет в расизме. Как это обычно делают сейчас
источник

c

codingteam@cjr in codingteam
Minoru
причём если тип-содержимое не умещается ни в один атомарный тип, предоставляемый платформой, то плюсы просто воткнут туда лок и будут *делать вид*, что всё атомарно
источник

t

ttldtor in codingteam
хотят атомик блоки кода ещё сделать
источник

t

ttldtor in codingteam
ну, чтобы вообще
источник

c

codingteam@cjr in codingteam
Minoru
и вот с одной стороны вот это вот «любой тип», «если что воткнём лок» — это типичная попытка плюсов усидеть на всех стульях сразу. Ничем хорошим не закончится. Добавили байтик, структурка перестала умещаться в 64 байта — и всё, прощай производительность. И фиг уследишь, если не гоняешь тесты на производительность. Только метрики из продакшена подскажут
источник

c

codingteam@cjr in codingteam
Minoru
а с другой — прикольно, что можно написать маленькую структурку, обернуть в std::atomic — и она вся уляжется в одну атомарную операцию. А вот в Расте так нельзя (без unsafe)
источник

t

ttldtor in codingteam
Ну, думать надо же
источник

t

ttldtor in codingteam
я вообще не понимаю языки, где программиста язык убеждает, что думать не надо
источник

t

ttldtor in codingteam
и я про реализацию
источник

c

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

c

codingteam@cjr in codingteam
Minoru
потом я в первом модуле добавляю в структурку поле, и атомтичность второго модуля ломается
источник

c

codingteam@cjr in codingteam
Minoru
я что, должен думать про все модули сразу?
источник

t

ttldtor in codingteam
то есть, ты когда пишешь модуль, от которого зависят другие, то ты не думаешь про все возможности его использования?
источник

c

codingteam@cjr in codingteam
Minoru
и в данном случае Раст как раз не убеждает, он просто не даёт достаточно мощной абстрации, чтобы вляпаться в вышеописанную проблему
источник