October 8th, 2009

moose, transparent

2 царств 1:19

Битов:
"А надписал я подарок Владимиру Путину так: «Командиру от рядового. «Битва», в которой я буду стрелять до конца», имея в виду русский язык, поэзию, литературу."
moose, transparent

эх раз, еще раз (программистское)

Еще Бисмарк заметил, что стандартные библиотеки - как сосиски: приятнее использовать по назначению, не зная в подробностях, как их делают.

В исходниках java.util.Arrays, когда после множества фасадных методов сортировки с разными опущенными аргументами дело доходит до "мяса", до настоящего кода сортировки, его предваряет следующий комментарий:

    /*
     * The code for each of the seven primitive types is largely identical.
     * C'est la vie.
     */

А дальше идет семь совершенно одинаковых копий одного и того же кода квиксорта, отличающихся только типами аргументов и локальных переменных. По две страницы кода на каждую копию. Например, основной метод начинается так (к нему еще есть три вспомогательных, тоже в семи копиях каждый).

    private static void sort1(long x[], int off, int len) { ...
    private static void sort1(int x[], int off, int len) { ...
    private static void sort1(short x[], int off, int len) { ...
    private static void sort1(char x[], int off, int len) { ...
    private static void sort1(byte x[], int off, int len) { ...
    private static void sort1(double x[], int off, int len) { ... 
    private static void sort1(float x[], int off, int len) { ...

C'est la vie.