January 22nd, 2006

bird

melnikoff против Раскина

... американские студенты проваливают даже простейшие тесты по анализу структурированной информации. Раньше я был уверен, что это враньё, имеющее целью очернить образ пусть и не сильно умных, но не тупых как валенок американских студентов. Сегодняшнему сообщению я охотно поверил. Потому что вот она, в моих руках, книга человека, злобно и воинственно пропагандировавшего производство интерфейсов, позволяющих человеку, не обладающему головным мозгом вообще, использовать технику для своих нужд. Причём, что особенно огорчительно, он таких интерфейсов за свою жизнь произвёл и внедрил на территории СШП довольно значительное количество. И я верю, что люди, пользующиеся с детства такими интерфейсами (не только за компьютером, а вообще везде, по жизни), в принципе не могли вырасти умственно полноценными. И точка.

Не то чтобы я был совсем несогласен, но очевидны перегибы. Например, результаты анализа затрат на использование интерфейса определённо полезны: избавление от лишней рутины, наоборот, помогает развитию ума, а не мозолей на пальцах. Или другой характерный пример - когда начало набора в области, где выделен текст, заменяет набранным содержимое выделения - достаточно нелепая операция, которую от полного искоренения спасает только возможность отката изменений. Попадание в узкую полоску меню в окне или широкую на краю экрана - тоже оптимизация сложности попадания в область экрана (хотя и увеличение количества перемещений, если окно не на весь экран). Ну и так далее. Всё это, по сути, не имеет никакого отношения к тому, требуется ли использование мозга: мозг нужен для того чтобы применять его к _содержимому_, а проблемы интерфейса - как препятствие в виде закрытой двери, когда требуется талант гинеколога чтобы клеить обои через замочную скважину - вместо того чтобы войти через дверь и сделать свою работу штатным способом.

Но когда Раскин переходит к конструктивной части и в качестве предела конструктивизма выдвигает Canon Cat - тут начинается полный ужас. И вот тут я согласен - пропагандировать идеи которые хорошо выглядят, но работать заведомо не будут - например, что "именем файла является его содержимое" - глубочайшая диверсия.

Виноват ли Apple со своим интерфейсом в оном оглуплении?
bird

/лытдыбр/ мороз и солнце

Сочетание немного спавших морозов и отмены школьных занятий на ближайшую неделю привело к тому, что в магазинах сейчас безумные очереди и даже тележки кончились.
bird

gcc и оптимизация

Одно из наиболее странных свойств gcc - оптимизация по принципу "или всё, или ничего". Чтобы пользоваться отладчиком, оптимизацию надо выключить. Но при этом он начинает генерировать такой код, что хоть святых выноси - восемь mov на одно значение вместо одного, сохранение значения из регистра в стек с тем чтобы тут же прочитать его из стека в регистр, и тому подобные ужасы. Чтобы получить более-менее нормальный код, надо дать хотя бы -O, но тогда начнётся смещение выполняемых действий относительно меток строк и пошаговая отладка станет невозможной. Ладно, для свежеиспечённого изделия такое понятно, но ведь gcc скоро стукнет 20 лет. Неужели за это время никто не озаботился проблемой качества кода на нижних уровнях оптимизации? Любой коммерческий компилятор (даже Borland'овский) справляется с этим значительно лучше gcc.

Collapse )

Только не надо говорить, что отладчик - сакс. Луговского слышали, всё понятно. Отладчик - рулез, если использовать его по назначению. Например, по срабатыванию breakpoint'а двигаться дальше сделав отладочную печать, или проверять условие и при его невыполнении возобновлять выполнение. (Второе не является watchpoint, по крайней мере в смысле gdb.) Есть ещё много вариантов, которые не сводятся к тупому втыканию в экран. Хотя и оно иногда полезно - чтобы наткнуться на проблему которую не замечал в упор из-за "замыленного глаза".

Насколько сложно было бы сделать в gcc нормальную промежуточную оптимизацию, действующую в пределах одной строки? И стоит ли оно возни? Смотря на коммерческие компиляторы я думаю, что стоит. И в чём загвоздка?
bird

BC31+XP

Три раза подряд запустить графическое приложение под Borland C 3.1 (c EGAVGA.BGI) достаточно для зависания Windows XP.

Не дадут поностальгировать.