[00:22:09] <vlad2> Глядя на такой говнокод хочется просто запретить глобальные переменный нах...
[00:25:37] <vlad2> В смысле я знаю, что запретом не поможешь... но все равно...
[15:47:48] <Kemet> vlad2: а как ты с мусорщиком боролся?
[15:49:13] <мистический_олень> прикольно. Меня скоро пособеседуют в контору где писать на С под РТОСы и АРМы
[15:50:50] <Kemet> мистический_олень: ну тоже дело
[15:51:45] <мистический_олень> вожделенный низкий уровень... =)
[15:52:14] <мистический_олень> по сути же си и с++ это навороченные макроассемблеры. Так их и следует воспринимать
[17:43:20] <vlad2> Kemet: я никак не боролся (кроме, собственно, тоже ликов). Это валексей боролся.
[17:43:43] <vlad2> мистический_олень: C++ это сильно больше, чем просто навороченный макроассемблер.
[19:10:46] <мистический_олень> Да нет, его низкоуровневость не выдрана
[19:10:53] <мистический_олень> Поэтому это макроасм.
[19:32:42] <vlad2> При желании можно писать высокоуровнево. Макроасму и многим другим языкам и не снилось.
[19:35:51] <jordan36957> макросы это "неконтролируемая" вставка текста. Что заменять чем заменять. То есть макросы не контролируются компилятором. В этом есть некое приимущество. #define false random, типа того
[19:37:10] <jordan36957> В си и С++ макросы такие.
[20:49:55] <мистический_олень> капеец
[20:50:05] <мистический_олень> ещё под iOS (Obj-C/C++) зовут, да так агрессивно
[20:54:10] <мистический_олень> в Dream Team ZeptoLab-a (они сделали Cut The Rope)
[20:54:34] <мистический_олень> бред
[22:22:04] <vаlexey> vlad2: ответь плиз, а то у меня совсем нет мозга
[22:22:06] <vаlexey> This is great stuff. I'll probably add it today.

Is the compiler complete (to the Report), or is it a language subset?
[22:22:16] <vаlexey> Это David Evans пишет
[22:22:29] <vаlexey> Который http://oberon07.com/Oberon-07/
[22:22:38] <vаlexey> Ты напиши что ответить - я скопипащу ему.
[22:45:23] <vlad2> Thanks! Yes, the compiler is complete as far as the Report specific interpretation goes - there is no extensions (except "IMPORT JS") and there is no contradictions to the Report but the Report itself describes some things pretty vague.
[22:48:33] <vаlexey> ok
[22:53:36] <vаlexey> дас, когда вот в студии пишешь,там в одном солюшине несколько проектов, вот тогда окончательно понимаешь, что #include, как препроцессорная фигня, отжило свое
[22:54:00] <vаlexey> Ибо приходится include path не только в проекте использующим эти инклюды прописывать, но и в проектах-пользователях
[22:55:10] <jordan36957> А ведь могли добавить нормальные модули в стандарт. Возможно со следующим стандартом...
[22:55:57] <vаlexey> не будет там нормальных модулей (то есть как в Аде), если и будет, то будет огрызок ала Оберон или там D.
[22:57:25] <jordan36957> Ну значит, ёжики, кактусы... :-)
[23:00:48] <jordan36957> Теперь я понял почему Дейкстра ратовал, за исключение гото. Я посмотрел исходник одной игрушки на старом бэйсике (НЕ структурном). Там гото на гото и гото погоняет.
[23:04:53] <vаlexey> :-)
[23:05:04] <vаlexey> Это ты еще в асм с головой не нырял
[23:05:06] <vаlexey> :-)
[23:05:12] <vаlexey> Там до сих пор. Ибо железо так и работает.
[23:08:10] <jordan36957> Я смотрел исходники колибри ос. каляки-маляки. :-) Вся ос написана на асме. Походу суровые гики пилят ос.
[23:08:45] <vаlexey> угу
[23:08:49] <vаlexey> выпиливыени лобзиком
[23:15:49] <jordan36957> Ещё в тему есть сайт os dev, на русском, как писать ось и т.д Там самая ходовая тема это асм vs си.
[23:19:15] <vаlexey> нашли что сравнивать :-)
[23:21:09] <TRUE> так как ты бороля с мусорщиком в Яве?
[23:21:46] <vаlexey> молча. берешь доку оракла (тогда еще сана) и куришь.
[23:21:50] <vаlexey> да, нужен еще бубен
[23:22:42] <TRUE> а как это проявлялось в работе? Сборщик не запускался или что?
[23:23:20] <vаlexey> периодически во время видеозвонка картинка замирала. ибо жабка решила ВНЕЗАПНО мусор собрать.
[23:23:54] <TRUE> не, как проявлялись результаты борьбы
[23:24:12] <vаlexey> так, что она это перестала делать.
[23:26:31] <TRUE> хотя бы откуда начинать в этом разбираться? Какие словосочетания в интернете искать, чтобы найти нужный кусок документации?
[23:27:11] <vаlexey> http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
[23:27:15] <vаlexey> примерно отсюда
[23:27:30] <vаlexey> иногда (часто) выходит только этим обойтись
[23:27:40] <vаlexey> иногда полезно делать пулы объектов
[23:27:52] <vаlexey> а иногда, когда вообще хардкор, имеет смысл прятать через jni
[23:28:39] <TRUE> до пулов объектов я уже созрел. Кое-где уже пытался использовать.
[23:29:17] <vаlexey> Но пулы тоже не всегда спасают. Не спасают когда у тебя 100500 мелких объектов и суммарных их объем исчисляется десятком-другим гигабайт.
[23:29:37] <vаlexey> И все они длительного хранения. Рано или поздно сборщик пойдет прогуляться по ним, и привет.
[23:29:46] <vаlexey> Но на это в жабе есть G1 сборщик :-)
[23:30:17] <vаlexey> короче, та еще камасутра. В плюсах проще работать с памятью в больших проектах :-)
[23:46:35] <jordan36957> А если вызывать сборщик мусора почаще. То есть там где бы в языке без СМ, освобождали память принудительно вызывать сборщик мусора. Так как к тому времени в памяти будет немного объектов, скорость будет быстрее, возможно...
[23:50:44] <vаlexey> Это будут ДИКИЕ тормоза
[23:51:00] <vаlexey> Потому что скорость сборки мусора зависит не от размера мусора, а от общего числа живых (и не живых) объектов.
[23:51:20] <vаlexey> На это напарывается каждый новичок в ЯП со сборщиком мусора :-)
[23:52:01] <jordan36957> Да, до меня дошло. Сборщк мусора всё равно будет перебирать все объекты. Как тогда быть? Альтернатива, переходить на другой язык?
[23:52:28] <vаlexey> Тонкая настройка GC. Смена GC на другой и так далее.
[23:52:37] <vаlexey> В java это все есть. Ибо жизнь заставила.
[23:52:52] <vаlexey> На крайняк - через jni прятать объекты. Будут opque типы.
[23:53:14] <jordan36957> Как с этим в ББ борются?
[23:53:21] <vаlexey> GC они ра-азные бывают. И не бывает GC отлично подходящего под ВСЕ задачи.
[23:53:43] <vаlexey> Никак. ББ не настолько распространен, чтобы там успели наступить на все эти грабли.
[23:54:28] <vаlexey> Ну и это правильно. Если проект среды как ББ, и с уровнем поддержки как ББ сразу пытаться натянуть на все юзкейсы, на все случаи жизни тот же мусорщик сделать, то проект умрет не родившись.
[23:54:39] <vаlexey> Когда-то и у жабы было также.
[23:55:17] <vаlexey> Но после того как оно вышло в продакшн. Причем в продакшн серверов с большой нагрузкой, вот тут то и пришлось впилить вменяемые сборщики мусора. И возможности их смены и настройки. Ну и так далее.