История изменений
Исправление tp_for_my_bunghole, (текущая версия) :
Google не продвигает языки программирования. Google продвигает свой browser, это их бизнес, не языки програмирования.
Golang не был готов для реального использования в больших проектах до версии 1.1 В той версии появился race detector - http://blog.golang.org/race-detector
Golang раскидывает горутины по потокам(threads) ОС. Это среда для возникновения race conditions. Race detector позволяет отслеживать это в «рантайме»(runtime). Идея состоит в написании тестов которые предположительно могут вызвать race conditions, и отслеживание ошибок используя этот race detector. Рутинная исследовательская работа после написания большой программы.
В Ерланг такой проблемы в языке нет, потому что «переменные» в Erlang невозможно изменять. Хотя вроде бы в некотором софте могут быть проблемы такого рода, в db Mnesia, как сообщают.
Говорят что в языке Rust определяют race conditions уже на этапе компиляции. Надо будет посмотреть на язык. Хотя те кто над ним работают всегда напоминают что Rust это «work in progress», о стабильности пока речи нет.
В Go функции высокого порядка(high order functions, anonymous functions, closures), и возможно другие средства которые усложняют работу сборщика мусора. По крайней мере в Node.js так, где часто основная задача нахождение утечек памяти в асинхронном коде который и без утечек разбирать по частям трудно.
В Erlang каждый процесс имеет свой отдельный GC.
Исходная версия tp_for_my_bunghole, :
Google не продвигает языки программирования. Google продвигает свой browser, это их бизнес, не языки програмирования.
Golang не был готов для реального использования в больших проектах до версии 1.1 В той версии появился race detector - http://blog.golang.org/race-detector
Golang раскидывает горутины по потокам(threads) ОС. Это среда для возникновения race conditions. Race detector позволяет отслеживать это в «рантайме»(runtime). Идея состоит в написании тестов которые предположительно могут вызвать race conditions, и отслеживание ошибок используя этот race detector. Рутинная исследовательская работа после написания больщой программы.
В Ерланг такой проблемы в языке нет, потому что «переменные» в Erlang невозможно изменять. Хотя вроде бы в некотором софте могут быть проблемы такого рода, в db Mnesia, как сообщают.
Говорят что в языке Rust определяют race conditions уже на этапе компиляции. Надо будет посмотреть на язык. Хотя те кто над ним работают всегда напоминают что Rust это «work in progress», о стабильности пока речи нет.
В Go функции высокого порядка(high order functions, anonymous functions, closures), и возможно другие средства которые усложняют работу сборщика мусора. По крайней мере в Node.js так, где часто основная задача нахождение утечек памяти в асинхронном коде который и без утечек разбирать по частям трудно.
В Erlang каждый процесс имеет свой отдельный GC.