В последние дни несколько раз натыкался на обсуждения ниши языка Go
Вот краткое резюме:
Go нужен для написания небольших приложений с высокой производительностью при условии относительной легкости написания кода.
C++ производительнее, но очень сложный и надо внимательно следить за памятью
Си тоже производительнее, но тоже надо следить за памятью и тд, хотя синтаксически он беден и прост.
Rust суперсложный.
Java, PHP, Ruby и т.д. - они не такие дубовые синтаксически, как Go, но производительность в большинстве случаев на практике получается намного хуже. И научиться языкам с нуля сложнее.
Go - где-то по середине. Это идеологически как C (такой же бедный), но только туда вкорячено еще чуть-чуть ООП (без наследования), горутины и управление памятью.
Т.е. если нужно писать большой монолит со 100 слоями абстракций - Go подойдет наверно не очень, лучше брать Java.
Если нужно писать сверхпроизводительные вещи, где важны каждый байт и каждый такт - Go подойдет плохо.
Если нужно написать производительный микросервис без лишних заморок или CLI-утилиту - Go будет идеальным выбором. Причем научиться языку очень просто. Как показывает практика, PHP-шника переучить на Go можно прям на ходу.
Вот краткое резюме:
Go нужен для написания небольших приложений с высокой производительностью при условии относительной легкости написания кода.
C++ производительнее, но очень сложный и надо внимательно следить за памятью
Си тоже производительнее, но тоже надо следить за памятью и тд, хотя синтаксически он беден и прост.
Rust суперсложный.
Java, PHP, Ruby и т.д. - они не такие дубовые синтаксически, как Go, но производительность в большинстве случаев на практике получается намного хуже. И научиться языкам с нуля сложнее.
Go - где-то по середине. Это идеологически как C (такой же бедный), но только туда вкорячено еще чуть-чуть ООП (без наследования), горутины и управление памятью.
Т.е. если нужно писать большой монолит со 100 слоями абстракций - Go подойдет наверно не очень, лучше брать Java.
Если нужно писать сверхпроизводительные вещи, где важны каждый байт и каждый такт - Go подойдет плохо.
Если нужно написать производительный микросервис без лишних заморок или CLI-утилиту - Go будет идеальным выбором. Причем научиться языку очень просто. Как показывает практика, PHP-шника переучить на Go можно прям на ходу.