Странно. В принципе, сильно заумный денежный тип делать смысла нет - все равно все варианты учесть не получиться. Хватило бы 64-битного целого деленного на степень десятки, как это в дельфи сделано, и точной арифметики, выражаемой операторами, а не методами. Но без перегрузки останется только надется, что архитекторы языка в sun слезут с иглы и сделают :)
Я видел гораздо более сложные денежные типы, например, биржевые котировки иногда нужно обображать как 5 3/4. Плюс, проценты ещё бывают сложные, тут по-любому точности не хватит. 64-битное целое - это просто детский сад.
Столько в Sun Microsystems не курят, чтобы ввести перегрузку операторов:) В этом вся соль языка, чтобы не было возможносте, которые сделали бы код непонятным.
Сложные проценты и прочие хитрости обычно для каждого проекта свои, их наверно на уровень языка вытаскивать не стоит. Но тот пример, что там приведен - потеря точности при вычитании двух чисел - встречаться должен очень часто, чтобы для таких случаев сделать отдельный тип.
Перегрузка операторов может и излишество, но язык без простого денежного типа - это какое-то безумие.
Универсальный язык должен предоставлять фундаментальные типы данных, денежный тип, безусловно, к таковым не относится.
Возможно, для Delphi это и имело смысл, чтобы быстро клепать бизнес-приложения. Но где сейчас Borland-то? А для любого серьёзного приложения лучше сразу свой тип для денег создавать.
no subject
Date: 2006-08-03 07:16 pm (UTC)Но без перегрузки останется только надется, что архитекторы языка в sun слезут с иглы и сделают :)
no subject
Date: 2006-08-03 07:22 pm (UTC)Столько в Sun Microsystems не курят, чтобы ввести перегрузку операторов:) В этом вся соль языка, чтобы не было возможносте, которые сделали бы код непонятным.
no subject
Date: 2006-08-03 07:29 pm (UTC)Перегрузка операторов может и излишество, но язык без простого денежного типа - это какое-то безумие.
no subject
Date: 2006-08-03 07:43 pm (UTC)Возможно, для Delphi это и имело смысл, чтобы быстро клепать бизнес-приложения. Но где сейчас Borland-то? А для любого серьёзного приложения лучше сразу свой тип для денег создавать.