LINUX.ORG.RU

История изменений

Исправление 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.