Ты сказал "На го тоже вытесняющая многозадачность.", оказалось что нет, но "про это все знают". Разговариваем дальше
Вытесняющая многозадочность в Go происходит в 5-случаях: 1. Система сама расставляет точки останова 2. Когда ты вызываешь GoShed 3. При локах 4. Net/IO 5. Системный вызов
Справедливости ради, такой селект про который я говорил не залепит ничего, потому что это IO операция и она нормально хавается даже event loop ом в twisted или там ноде
А вот обработка результата такого селекта - типа парсинг - может залепить все кроме эрланга
Поэтому тут вопрос в том, чем ты готов пожертвовать. В го не хотят жертвовать производительностью, а в эрланг не хотят жертвовать залипанием на одном процессе.
Ну вот пришла тебе миллионная строка в сокет - надо парсить. И нету там ни IO, ни системных вызовов, ни локов ни вызовов GoShed. Система сама расставит точку останова? Может быть да, я честно говоря не знаю
Поэтому тут вопрос в том, чем ты готов пожертвовать. В го не хотят жертвовать производительностью, а в эрланг не хотят жертвовать залипанием на одном процессе.
Ну вот пришла тебе миллионная строка в сокет - надо парсить. И нету там ни IO, ни системных вызовов, ни локов ни вызовов GoShed. Система сама расставит точку останова? Может быть да, я честно говоря не знаю
Ну тут как напишешь. Может быть много нюансов, если честно.
Ну на мой взгляд против багов помогает строгая типизация (даже такая тупая как в Го) + тесты. Чисто из моего опыта. А вот как помогают супервизоры и многозадачность я не улоловил. Если скинешь примеры буду благодарен.
Ну на мой взгляд против багов помогает строгая типизация (даже такая тупая как в Го) + тесты. Чисто из моего опыта. А вот как помогают супервизоры и многозадачность я не улоловил. Если скинешь примеры буду благодарен.
разговор не про против багов. разговор про то, что у тебя на проде баг и ты спишь спокойно. вернее более спокойно