Vladimir
Фишка C именно в эффективном управлении памятью
Vladimir
> @kirilldanshin вот ты на го пишешь? иногда
Kirill
Фишка C именно в эффективном управлении памятью
ага. трижды оно блть эффективное
hamper 𓅝
Насколько я знаю там работать с памятью надо руками, а Go во многих случаях берет это на себя
хех, я на работе на прошлой неделе разок ошибся в гошном коде так что у меня приложение вытекло, oom киллер начал всех мочить и миникластер из 10 серваков лег
Kirill
там оно ручное, а не эффективное
Aleksei
короче, го - современная замена бейсику
Замены бейсику нет и не будет, потому что его надо закопать по глубже и не вспоминать никогда. Язык, в котором циклы делаются с помощью go to
Vladimir
там оно ручное, а не эффективное
и это эффективно, если у тебя прямые руки
Kirill
и это эффективно, если у тебя прямые руки
а в го это эффективно без коробки
hamper 𓅝
О_О да как ты это сделал?
указатель на nil забыл проверить
Kirill
указатель на nil забыл проверить
дык там же паника должна быть, а не утечка
Vladimir
> @kirilldanshin а в го это эффективно без коробки GC - это не эффективно для системного программирования
Vladimir
и много для чего еще
Kirill
> @kirilldanshin а в го это эффективно без коробки GC - это не эффективно для системного программирования
ага. ты это говоришь тому, кто в свободное время на этом ось пилит. расскажи подробнее, а? а я пока за попкорном схожу
Vladimir
> @kirilldanshin в свободное время на этом ось пилит
Vladimir
поздравляю
hamper 𓅝
дык там же паника должна быть, а не утечка
а там хитрый перехват паник был наворочен, так что новая горутина запускалась, а старая еще не успевала закрыться и в итоге они все пожрали
Vladimir
Типа такой секрет, что GC вызывает различные проблемы, несовместимые со многими задачами?
Vladimir
Как руки влияют на GC?
Vladimir
можно
Vladimir
очень легко
Kirill
только на языках с гц тотальный пиздец сделать сложно
hamper 𓅝
вообще я на работе го иногда как замену ноджсу использую, в основном там где нода жрет уж слишком много оперативки
Kirill
дык нода на v8, а v8 не нужен, я для изоморфности сделал биндинги на spidermonkey и ноду выкинул
Aleksei
Как руки влияют на GC?
В го довольно прозрачная работа gc, это не js, поэтому можно писать такой код, чтобы проблем не было
Vladimir
Что такое - прозрачная работа GC?
Aleksei
Vladimir
Например, что это значит?
Aleksei
...можно _легко_ писать такой код...
Нуу, может не легко, но можно))
Kirill
Что такое - прозрачная работа GC?
такая, которая в go. изучи дизайн gc в гошечке, там много интересного.
hamper 𓅝
дык нода на v8, а v8 не нужен, я для изоморфности сделал биндинги на spidermonkey и ноду выкинул
нода мне нравится скоростью с которой там можно готовый работающий проект запилить и получить за это деньги от заказчиков ))
Vladimir
Смысл GC в том что не нужно думать о GC
Kirill
Смысл GC в том что не нужно думать о GC
смысл GC в том, чтобы мусор из памяти убирать, а не в том, чтобы о нем не думать
Aleksei
Например, что это значит?
Что можно взять исходники языка, почитать код gc и понять как нужно писать код, чтобы не было проблем
Vladimir
Да так везде можно сделать
Kirill
Да так везде можно сделать
угу. только это в других языках бесполезно.
hamper 𓅝
с нодовым гц у меня один раз только проблема была, правда в какой то опеределенной версии, потом пофиксилось само
Vladimir
Ну то есть в го нельзя писать нормально, не прочитав код GC, я правильно понял?
Aleksei
нода мне нравится скоростью с которой там можно готовый работающий проект запилить и получить за это деньги от заказчиков ))
В целом согласен, на годе обычно раза в два быстрее код пишется чем на го, но производительность, а особенно стабильность...
Vladimir
Тогда зачем его читать?
Kirill
в го можно писать код нормально, если есть чем думать
Kirill
Тогда зачем его читать?
это уже для микрооптимизаций
hamper 𓅝
А потом еще раз снять денег с заказчика за исправление текущих ресурсов
ну исправления ошибок в течении гарантийного срока часто бесплатно делаются
hamper 𓅝
хотя все от заказчиков зависит
Roman
Тогда зачем его читать?
Чтобы кругозор развивать.
Kirill
я, например, недавно уперся в эффективность конкатенации, так как оптимизировал уже все остальное.
Vladimir
В общем то разговор не очем, иногда нужно управлять памятью руками, как бы сложно это не было
Vladimir
В расте - ничего
W.Ed.
у меня были проблемы в яве из-за сборщика
Kirill
Roman
В расте - ничего
Вы так говорите, словно где-то нельзя аллоцировать память руками
W.Ed.
слишком резкие провалы в фпс в моменты сборки
Aleksei
В общем то разговор не очем, иногда нужно управлять памятью руками, как бы сложно это не было
Ну так для этого и есть раст. Никто же не говорит, что раст не нужен, он нужен, но под определенные задачи. В остальных случаях на раст ты будешь это писать гораздо дольше, а прироста не получишь
Vladimir
> @pragus Вы так говорите, словно где-то нельзя аллоцировать память руками в го можно? может быть и так, но арифметики с указателями точно нет
Vladimir
Аллоцировать можно и в node.js
Vladimir
Только это будет просто буфер
Roman
в яве?
Можно.
Kirill
в яве?
в мотоцикле? [1]
W.Ed.
Можно.
пример?
Vladimir
А чтобы туда положить структуру языка - это отдельная история