Михаил Орлов, не хочется разводить оффтоп, но не могу согласиться по некоторым моментам, поэтому поясню свою позицию. В моём понимании "баг" это что либо приводящее к сбою в работе. К примеру некорректное подключение скриптовых интерпретаторов к событиям объекта WinHttpRequest, которое приводит к краху процесса. Давнишний баг, который так и не пофиксили. Но опять же считать это багом интерпретатора тоже, наверное, не совсем верно. Так как там беда кроется в нестандартной организации интерфейса обработчика событий. На некоторых билдах 10-ки были замечены "баги" при работе с объектом InternetExplorer.Application Связь с объектом отваливалась после вызова метода Navigate. Хотя в VB6 объект продолжал работать стабильно. К чему я веду ? К тому что если бы объявление переменной "Dim a" или ,к примеру, функция деления работала в половине случаев правильно, а в половине нет, то такой вариант я бы посчитал "багом". Кстати не так давно видел обсуждение на каком-то форуме, о том, что функции FormatCurrency и FormatDateTime возвращают разные результаты на системах с разным языком. Разработчик был не в курсе, что эти функции региональнозависимые от функции SetLocale. Считать это "багом" ? Не думаю. Считать "фичей"... Тоже как-то странно.
По обоим критериям получается, что и Execute("A=1"), и дублирование имён функций - баги, т. к. в документации их нет, польза сомнительна, а потенциальный вред понятен
Не поверите, но иногда возникает необходимость в подмене функций в готовом модуле. И тогда такая возможность оказывается очень полезна. По поводу документации, сразу вспомнилась история про американскую пенсионерку, которая "посушила" кота в СВЧ печке, а потом предъявила иск страховой компании за то, что получила жаркое вместо кота и выиграла суд. С тех пор инструкции к забугорной бытовой технике по толщине с небольшую книгу. Потому что компании приходится расписывать, что их прибор нельзя засовывать в .... ковырять им в ...., а не то .... и ой ой ой
Я к тому, что - ну нельзя ж всё расписывать. Поэтому исходят из логики - что не запрещено, то разрешено. Например ни кто не запрещает в именах переменных и функций в VBS использовать не только латиницу,
Dim [переменная]: [переменная] = 1
но сказать, что это сплошь и рядом написано - не видел.
Вообще по поводу "feature" в английском переводе "feature" переводится как "особенность". Я не против "американизмов", но слово "особенность", лично мне - ближе.
P.S Сейчас по работе приходится иметь дело с USB токенами, устройствами криптографии. Работа с ними осуществляется через Сишные библиотеки с функциями написанными по стандарту PKCS11. В этом стандарте расписано какие функции и с какими именами должна содержать библиотека, какие данные должны возвращать и какие параметры получать на вход каждая функция. НО ! У меня сейчас на столе лежит 3 класса устройств и 3 библиотеки для работы с ними. И У КАЖДОЙ есть своя "багофича" при реализации функций ПО ОБЩЕМУ стандарту PKCS11, будь он не ладен ! )
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !