ny_quant: (Default)
[personal profile] ny_quant
Пришлось поучаствовать в собрании, которое созвал market risk, во главе с некой индуской, судя по голосу довольно молодой, но уже конечно директор. Сначала они прямо на меня наехали, хотя я в том что их интересовало сбоку-припеку. Пришлось привлечь умных квантов, которые конкретно в теме. Англичанин, француз и итальянец. Мне вообще нравится этот интернационал.

Сначала все шло хорошо. Англичанин бодро отчитывается по всем пунктам в том духе, что мол проходите мимо, не на что смотреть. Немного смело как по мне, но с учетом того, что всем нужно было только чтоб она отстала и не мешала работать - нормально. В какой-то момент индуска перехватывает инициативу и начинает с диким апломбом высказывать свои умные соображения и глубокие озабоченности. По молчанию квантов я почувствовал, что в "комнате" нарастает напряжение и раздражение. В какой-то момент она заехала в область, за которую отвечаю именно я, и понесла полную чушь, объясняя всем присутствующим как у нас тут всё чревато. Тут мне малость сорвало резьбу. Я её довольно бесцеремонно перебил и рассказал как оно устроено на самом деле, после чего мы перешли к следующему пункту повестки.

В конце собрания она у меня спросила устраивают ли меня полученные разъяснения. Я сказал что да, и что у меня и ксива по этому поводу написана, можете почитать. Она была очень разочарована. Явно хотела выявить серьёзные недостатки в работе и возглавить процесс их искоренения.

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

Недоброжелатели наверное скажут, что "you can take the guy out of Russia etc.", и наверное будут правы. Просто это не всегда так уж плохо.

Date: 2021-10-29 11:08 pm (UTC)
From: [identity profile] ta-conversation.livejournal.com
Обычное требование для перемственности кода. Signed and unsigned arithmetics — два разных типа мышления. У Вас они могут совместно функционировать без проблем, а кто-то может забываться и путаться.

Да и вообще, никаких int. Только uint64_t, uint32_t, uint16_t, uint8_t :-)

Date: 2021-10-30 12:23 am (UTC)
From: [identity profile] ny-quant.livejournal.com

Счетчик цикла. Какое там может быть мышление. Казалось бы. Однако он иногда идёт задом наперед...

Date: 2021-10-30 12:37 am (UTC)
From: [identity profile] ny-quant.livejournal.com

Но вообще-то я давно ушёл из большого ССекса

Date: 2021-10-30 08:21 am (UTC)
From: [identity profile] ta-conversation.livejournal.com
В частности, для этого и пишут software development guidelines :-)

Date: 2021-10-31 03:17 am (UTC)
From: [identity profile] inoyau (from livejournal.com)
наоборот, никаких unsigneds!

https://google.github.io/styleguide/cppguide.html#Integer_Types

Date: 2021-10-31 08:58 pm (UTC)
From: [identity profile] ny-quant.livejournal.com

Да, это выяснилось тогда же. Чувак немного смутился.

Date: 2021-11-02 09:31 am (UTC)
From: [identity profile] http://users.livejournal.com/sorcerer_/
Да, да, я помню как выглядят десериалайзеры и прочие архиваторы на Жабе, где уже дебилы однажды решили: no unsigned. Слава богу в C/++ есть char, это спасает от идиотов.)

Date: 2021-11-02 08:12 pm (UTC)
From: [identity profile] ta-conversation.livejournal.com
"try not to mix signedness" — основной посыл.
Всё остальное — исторически сложившееся. Почему именно так — мне не очень интересно, но поскольку приведённые Вами Разъяснения очевидно предназначены для слабых в теории и неопытных программистов, то можно сделать некоторые предположения ;-)

Date: 2021-11-02 09:55 pm (UTC)
From: [identity profile] inoyau (from livejournal.com)
ну да: если вы неопытный и используете signed - то у вас нет сердца, а если опытный и unsigned - то нет мозгов.

Date: 2021-11-02 11:02 pm (UTC)
From: [identity profile] ta-conversation.livejournal.com
Я Вас, если Вы не поняли, и не пытался оскорбить. "Для слабых в теории и неопытных" — не потому, что signed, а по тому, как и что объясняется. Более того, есть области, где удобно работать с signed. При этом предпочтительно явно определять границы значений и работать с int64_t, int32_t, int16_t, int8_t.

Но Вы, похоже, об embedded не имеете никакого представления, если позволили себе такую специфическую форму оскорбления.

Date: 2021-11-02 11:45 pm (UTC)
From: [identity profile] inoyau (from livejournal.com)
Это из Черчилля - If you’re not a liberal when you’re 25, you have no heart. If you’re not a conservative by the time you’re 35, you have no brain.

в смысле, если опытный, то какая разница как и что поясняется, unsigned ints это явно не то место, которое стоит защищать от opinionated style guide writers.

Upd, обычно, говорят, что из Черчилля. кто знает откуда на самом деле.
Edited Date: 2021-11-02 11:48 pm (UTC)

Date: 2021-11-06 10:18 am (UTC)
From: [identity profile] ta-conversation.livejournal.com
Я понял, что Вы перефразировали, но я удивился, как Вы это сделали.

>>в смысле, если опытный, то какая разница как и что поясняется.

С этим можно согласиться, но это не эквивалентно тому,, что Вы выразили своей фразой.

>>unsigned ints это явно не то место, которое стоит защищать от opinionated style guide writers.

"try not to mix signedness" есть важное требование в смысле переемственности кода. Signed and unsigned arithmetics — это два разных типа мышления. Кто-то может забываться и путаться, поэтому устанавливать требования стиля для больших раношерстных и долгоиграющих компаний — естественно.

Если продукт ориентирован на знаковый ввод-вывод, то общий стиль вполне может быть signed. Но в мире, где доминируют two's-complement ALU, общий стиль unsigned arithmetics — это вполне себе естественный образ натаскивания неопытных программистов. И от них, строго говоря, очень полезно требовать объяснять в письменном виде, зачем им понадобился signed int: чтобы чётко чувствовали разницу межлу carry и overflow, помнили о sign extension, etc.

Так что наезд ХЭБа на своего собеседника по пьянке — с некоторой стороны малообоснован.

Disclaimer: я вступил в дискуссию с ХЭБом не по кастовой принадлежности, но по старости лет.



Profile

ny_quant: (Default)
ny_quant

January 2026

S M T W T F S
    123
45 6 7 8 9 10
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 11th, 2026 06:13 pm
Powered by Dreamwidth Studios