В последние дни несколько раз натыкался на обсуждения ниши языка Go



Вот краткое резюме:



Go нужен для написания небольших приложений с высокой производительностью при условии относительной легкости написания кода.



C++ производительнее, но очень сложный и надо внимательно следить за памятью



Си тоже производительнее, но тоже надо следить за памятью и тд, хотя синтаксически он беден и прост.



Rust суперсложный.



Java, PHP, Ruby и т.д. - они не такие дубовые синтаксически, как Go, но производительность в большинстве случаев на практике получается намного хуже. И научиться языкам с нуля сложнее.



Go - где-то по середине. Это идеологически как C (такой же бедный), но только туда вкорячено еще чуть-чуть ООП (без наследования), горутины и управление памятью.



Т.е. если нужно писать большой монолит со 100 слоями абстракций - Go подойдет наверно не очень, лучше брать Java.



Если нужно писать сверхпроизводительные вещи, где важны каждый байт и каждый такт - Go подойдет плохо.



Если нужно написать производительный микросервис без лишних заморок или CLI-утилиту - Go будет идеальным выбором. Причем научиться языку очень просто. Как показывает практика, PHP-шника переучить на Go можно прям на ходу.