> -- Comdiv писал(а):
> Неужели Thunderbird, написанный на С++?
В XUL без JavaScript ничего не обходится. Он постоянно в фоне что-то делает, начинает сборку мусора, потом сообщение вылезает, что скрипт долго не отвечает, и там какой-нибудь JavaScript указан.

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

Я слышал это много раз, но никогда не видел. Зато я видел, как работал Хакинтош 10.4.10 (когда TGC ещё не поддерживался в движке Objective-C) на 512Mb RAM. И я вижу, как загоняет в ноль современное железо Windows 10 на 4Гб RAM, где помешательство на .NET на своём пике. Я вижу, как жрут батарею Андроиды и как — BlackBerry и iOS. Я вижу, как работает J2EE сервер и как работает AWS. Мне понятно, как получаются дикие фризы, когда программы по очереди ходят собирать мусор и вязнут в соревновании за страницы памяти. Они делают это снова и снова. Это же как вечный двигатель наоборот!

Я сыт по горло этими постоянными играми «вот там трассирующий сборщик мусора плохой, но здесь-то точно хороший». Может быть, совпадение, но мне почему-то постоянно не везёт, всё сплошь плохие попадаются, и мне это надоело. Надоело держать в уме, сколько на компьютере сейчас запущено программ со сборкой мусора и хватит ли ресурсов для ещё одной. И не хочу, чтобы в эти игры играли пользователи моих программ. Хочу делать программы, которые работают и не парят мозг своим вечным двигателем наоборот. Пусть там каждая пауза будет по делу, а не чтобы втихушку сгладить програмные ошибки взаимного владения.