nvkv
ну строго говоря я могу и типы вроде int объектами назвать
nvkv
и уже вчера говорилось, в си прекраснейшим образом в структуру можно добавить ссылку на функцию
nvkv
и будет ооп тогда сразу
nvkv
во все поля
Pavel
И что же все так не делают?
Pavel
Чтобы го не изобретать ;)
nvkv
ты ядро линукса на го писать будешь?
Pavel
Врядли, там уровень абстракции не тот
Pavel
Нельзя абстрагироваться от байтов, страничек, айнод, модулей
Pavel
И чтобы мусор сам собирался
Igor
nano - это трэш
Отличная вещь. Юзаю лет 5, зависимость есть. Мышкой копировать можно. Вим не нужен.
Logan
Igor
как мелкий редактор может выжирать память?
Logan
где-то через пару часов он выжирал все
Pavel
Остается заметить что он написан на си и задать вопрос, нет ли тут связи? 😈
nvkv
nvkv
в го жы гарбедж коллектор!
nvkv
как там может память утекать?
Pavel
Прально, только если баг в канпеляторе или программист насильно ее льет.
Logan
как там может память утекать?
ну будет не память утекать, а что-нибудь другое, велика разница? Кстати в ГЦ тоже может память утекать, правильные руки, приставленные к правильному месту - творят чудеса
nvkv
nvkv
слишком тонко?
nvkv
nvkv
хорошо быть вами
Pavel
Просто отличие в том, что если память утекает в ГЦ, то это бага которая фиксится и далее все гошники обновляются и утекать перестает. А если память утекает в си, то это личные проблемы разработчика.
nvkv
nvkv
утекать память может по куче причин никак не связанных с GC
nvkv
например если человек не особенно задумывается, как эта самая Гэца работает
Pavel
> Кстати в ГЦ тоже может память утекать,
я вот на это отвечал
nvkv
или как его память вообще используется
Logan
это сарказм был
этот ответ предназначался не вам, а апологету церкви java :)
Pavel
ко-ко-ко, жава не тормозит!
Logan
Pavel
Вообще говоря если память утекает вне GC то это не утечка :)
nvkv
nvkv
Pavel
Утечка - это неконторолируемый расход памяти по вине GC или менеджера памяти
nvkv
Pavel
А если ты просто создаешь объекты и забываешь их удалить, какая же это утечка? Ты все контролируешь но забыл просто.
nvkv
утечка это когда память была, а потом не стало и хуй знает куда делась, обратно не возвращается, хотя мы очень громко зовём
🏳️ Phil
Давайте поиграем в другую игру. Допустим я собираю метрики в инфлюкс или графану. Есть чтото, что может периодически анализировать не вливая в себя дубль эти данные и чтото делать. Идеально, если это чтото - экспорт статуса, который я уже пуллю еще чемто
Logan
nvkv
nvkv
покажи пожалуйста
nvkv
nvkv
я встречал stop the world без магии, но не на 15 минут, конечно
🏳️ Phil
ой, не в тот чат
Pavel
Ладно тут смотря как интерпретировать, если ты сделал malloc а потом забыл освободить, тоже впринципе можно считать утечкой
nvkv
Pavel
Но если ты работаешь с GC то он сам за тебя сделает free ;)
Logan
Logan
за то и любим ГЦ
nvkv
на самом деле не обязательно
nvkv
ГЦ разные бывают
Pavel
ГЦ работает по своим алгоритмам, он рандомно ничего не делает
nvkv
я не готов в час ночи за ГЦ тереть, но есть нормальные, которые колом только поток поставят
nvkv
nvkv
он сказал неуправляемо
nvkv
и это правда в 99% случаев
Logan
это да, там десятки разных тонкостей - способы и алгоритмы, параметры выборки, количество объектов для обработки, способы зачистки объектов... Вариантов сотни.
Pavel
Ну да тонкости есть, однако это себя оправдывает.
Pavel
Иначе бы так и писали до сих пор все программы на си
nvkv
nvkv
оправдывает где и как?
nvkv
nvkv
в Swift нет GC
nvkv
И слава Богу, что его там нет