"Ну хоть какие-то моральные устои у нас должны быть!"
(из разговора)
Алгоритмическая инвариантность относительно результата.
Например, я хочу сделать два кодогенератора DG2A и DG2J, один должен выдавать код на языке ActionScript второй на Java. Так вот, я утверждаю, что алгоритмы работы кодогенератора и в первом и во втором случае должны быть одинаковы, это должен быть один и тот же алгоритм! Он не может зависеть от желаемого вида результата. Если ты подстраиваешь алгоритм под конкретные нужды - ты меняешь изначальную идею.
С философской точки зрения это объяснить очень просто. Алгоритм - это идея. Конкретный результат - это материальное воплощение идеи. Алгоритм один, реализаций может быть множество, но все их объединяет одно и то же - общая идея. Этакий Платоновский идеализм получается.)
No comments:
Post a Comment