?

Log in

No account? Create an account

Previous Entry | Next Entry

rabotka2
На прошлой работе в форексе был один токой высокий лобастый дядька в очках, говорящий тонким голосом.

Он там лет десять разрабатывал одну из главных систем чтоб типа запускать трейды в ней, а потом отслеживать, какой глобальный урон инвестбанку ты принесла своей деятельностью. Или чтоб твой манагер мог посмареть в твои "книги" с помощью этой проги и сказать: "Ты саш женщина неплохая, но сильно мухлюешь, вот как у тибя евродоллар упал, а ведь товарищи это видят" и т.д.

Так вот этот высокий лобастый изобрел там какой-то хитрый способ округлять числа. Ну сами понимаете, все что связано с rates постоянно умножаецца или там делицца на дроби, от чего получаюцца еще более крупные дроби. Было пять и девять десятых миллиарда, стало шесть миллиардов. Кароче там токой сложный механизм был, что округлить число занимало небось 500 машинных циклов, а то 800. Поэтому этот лобастый дядька очень переживал и требовал, чтоб каждую циферку округляли не более чем один раз. Вообще. А округлив, полученное число с бережностью надо было хранить всю оставшуюся жизнь в этой программе.

Программа эта была написана в це-плюс и интерфейс у нее был в вин-32. То есть кто помнит, как винтовз 1.3 выглядело, вот так и эта прога выглядела.

Но речь не об этом, а о округлении. Поскольку лобастый дядька очень переживал за свои округленные миллиарды, пред ним рано или поздно встала следующая проблема. Нужно было проверить, действительно ли округленное число есть настоящий математический номер, или там фигня какая вроде буквы "Ю", которая вроде и похожа на 10, но все же не 10. И к этому надо добавить, что округляя числа, дядька заботливо переводил их в текст, чтобы красиво отформатировано было, с запятой. А переводить обратно в число нельзя, потеряецца округление, а сново округлять нельзя.

Мне надо было залезть в ихний код чтобы кое-что там узнать, мне дали доступ. И в первом же классе, который я открыла, я увидела, как наш дядька проверяет число ли это. Проверяет он так: если первая буква не "1", не число. Если первая буква не "2", не число. Если первая буква не "3", не число. И так до буквы "0". Потом такой же проверки подвергаецца вторая буква, потом третья и т.д. Особые оговорки (и довольно сложные) там были для точек и запятых, естественно.

"А где говорицца, что если вообще нет букв, то тоже не число?" - спрашиваю я. "Как это нет букв?" - оскорбился дядька. "Ну вот так, юникодовое число 0, например? Ведь это же буква, но при этом не А и не Б и не В и не Д т.д." - "Так не может быть!" - говорит дядька.

"А черточка означает тире или минус, в твоей системе?" - "Черточки в моей системе нельзя". Ну хорошо. Токо положительные числа можно, значит. А ноль - положительное или отрицательно число? Не знает. Вроде положительное. Ну тогда, говорю, есть ли одно и то же число 0 и -0? "Минус ноль не бывает". Да полно этих минус нолей, целый миллион, говорю. И, говорю, если ноль равен минус нулю, то тогда он не может быть положительным. А если не равен, то тогда ноль минус минус ноль не должно быть ноль, а оно ноль, как же так то?

Короче потом эту систему было решено демонтировать, и чтоб мы за две недели полностью заместили ее функциональность (которую дядька 15 лет делал), но я к тому времени уже свалила оттуда в новый банк.


Comments

( 4 comments — Leave a comment )
konevin wrote:
6th Jan, 2015 22:05 (UTC)
Вот на эту тему моя любимая статья,рекомендую-http://people.umass.edu/klement/imp/imp.html
nasha_sasha wrote:
6th Jan, 2015 22:15 (UTC)
О, я люблю такое!
konevin wrote:
6th Jan, 2015 22:28 (UTC)
Я читаю это каждый день в поезде, трамвае,в очередях...потом смотрю на людей вокруг...боже,как вы блять ещё живёте и не страдаете. Каждую станицу эту я читаю годами каждый день и пишу мелкими буквами рядом ...и зачёркиваю...ну и умру,не понявши ничего. Но я сражался т е жил!
nasha_sasha wrote:
6th Jan, 2015 22:36 (UTC)
Да, я именно такими же глазами часто смарю вокруг на Людей etc.
( 4 comments — Leave a comment )