April 6th, 2005

fatherland

Сталинистское

образ Сталина в Computer Science:

От:Rolf-Thomas Happe (rthappe@leonce.mathematik.uni-freiburg.de)
Тема:Re: Stalin and Freedom
Группы новостей:comp.lang.functional
Дата:1999/04/17

In article <371777A9.A78FB4F7@info.unicaen.fr> Jerzy Karczmarczuk writes:
Jeffrey Mark Siskind:
> Stalin, an optimizing compiler for Scheme, is free and open source. It is
[...]
Would you mind explaining your choice of the name "Stalin"?
I tried to look it up on your Web pages, I didn't find anything.

I am of Polish origin and I am afraid to touch it.
Perhaps the internal documentation provides the clues, but
the tar.Z file takes 15M.

Indeed, the internal doc (stalin-0.7/README) expands the acronym:

Stalin - a STAtic Language ImplementatioN
Finally, a Lisp compiler that does what it should...

(Stalin does global compile-time analysis of a single Scheme source
file, provided the code stays away from Scheme's dynamic features:
LOAD, EVAL, and the like.)

rthappe
--------------------------------

Еще к какой-то из статей про сборку мусора был препослан эпиграф -
"Одна смерть - трагедия, миллион смертей - статистика"
fatherland

Про ксенофобию

Тут и тут идут баталии за и против. Выдвигаются и задвигаются всякие высокие морали. Расскажу историю -

Я живу в Старом Петергофе, там находится ЛГУ и студгородок, вокруг - деревня (в буквальном смысле этого слова), в которой, в числе прочих, живет довольно много цыган.

Всякие мелкие криминальные проблемы с ними были всегда, но в нынешнем бардаке они возросли (как говорят - я в студгородке сам уже давно не живу). Разумеется, проблемы не только с цыганами, но с местными гопниками проще, а цыгане очень неплохо стоят друг за друга в том числе и в суде (и "около" суда), что помимо прочего добавляет им борзости.

Ну проблему можно решать по разному - в данном случае ее решили вполне ксенофобски - просто обнесли студгородок высоким бетонным забором и поставили проходную. Чтобы никакие вообще чужие не ходили. Говорят - помогло. Впрочем злые языки говорят, что целью строительства забора было освоение бюджетных средств, в чем наверняка тоже очень много правды. Одно другому не мешает.

Я это к чему - "нексенофобское" решение проблмы состоит очевидно в том, чтобы тоже взять да постоять за себя - то есть после какой-нибудь истории - собраться толпой и пойти бить морды и ломать мебель. По поводу чего естественно пойдут крики про "цыганские погромы" (и, что интересно, кричащие будут совершенно правы).
fatherland

Свояки и чужаки.


Еще о "ксенофобии":


Cобственно говоря, выступающие в данном случае с позиций общечеловеков maxim_sokolov и
sorex не понимают, что "чужой" от "своего" отличается не тем, что он "похож" или "непохож", а тем,
что со "своими" меня связывают разнообразные (обычно - взаимные) обязательства, а с "чужими" - нет.


Поэтому то, что я буду должен (или не должен, но проявлю добрую волю) терпеть от своего,
я вполне вероятно не буду терпеть от чужого. Как пишет sorex</lj>
- "Очень жаль, что Вы не понимаете, что такое ксенофобия. О ней я написал выше.
Я понимаю, что опрятный европеец сходных чувств у Вас не вызывает...".


Вот очень правильно подмечено - в том и дело, что терпеть ни "неопрятного беженца", ни
"опрятного европейца" я не обязан (в отличие, кстати, на самом деле, от бомжей, которые - свои).
Но "опрятный европеец" не вызывает негативных ощущений и потому - вполне приемлем. В отличие от.


Как следствие - если не хочется терпеть "неопрятного бомжа" - то его следует попытаться отмыть и
социализировать, тогда как "неопрятному беженцу" следует просто дать пинка под зад в направлении
границы. Я несколько утрирую, для ясности.


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

fatherland

Еще про GC.

По поводу длинного трендежа "за GC" и за латентность GC:

Такая мысля - вот сейчас в моей писанине гуй и собственно "умная" часть - разные процессы, которые
сообщаются через канализацию. Причины к тому были чисто технические ("умная" часть делалась
так, чтобы взаимодействовать с разными мордами - соответственно - это самое простое решение).

Пользы с этого немеряно:
1) можно писать на разных языках
2) легко тестировать и воспроизводить баги - поскольку достаточно протокола pipe
3) падеж одной компоненты не разваливает другую
4) и морда и "ум" - вышли single threaded, что сильно упрощает жизнь.
etc.

Но есть еще одно преимущество - паузы GC  в одной из половинок не тормозят вторую. Более того -
поскольку они разделены - и сами кучи поменьше, а GC плохеет по мере роста кучи.

Вопрос - какго хрена в JVM (и вообще) принято валить все на threads внутри одного процесса? Почему
бы не завести в JVM понятие процессов - то есть - совершенно независимых ниток, каждая из которых имеет
свою кучу и в принципе не может напрямую общаться с другими через данные?