Решил заняться изучением языка golang. В связи с этим появился вопрос с чего лучше начать? Есть хорошая база по c++. Посоветуйте, пожалуйста, best книги, которые позволили бы быстро и качественно освоить язык. Возможно также курсы/каналы youtube)
P.S. Также было бы интересно услышать мнение про актуальность и перспективность данного языка.
The Go Programming Language за авторством Alan A. A. Donovan и Brian W. Kernighan. Из которых Brian W. Kernighan это K в культовой K&R. Впрочем Спецификация языка точно формализована, хорошо структурирована и вполне достаточна. Напишите пятистрочный HelloWorldWebserver используя только стандартную библиотеку и поймете почему Go популярней C++ в вебразработке.
Благодарю! А на ваш взгляд, на сколько сейчас этот язык "на передовой"? Слышал еще, например, о RUST. Понимаю, что, по направленности, эти языки различаются, но все же
Pro100Chel, понял. Просто недавних статей с общим обзором по языку мало как-то. А читать не актутальную информацию и делать на ее основе какие-то выводы не хочется
impressive17, я следую за Go с первых его дней, когда исходники компилировалась 6c компилятором из Plan9. Язык достаточно простой для понимания, укладывания в голову целиком(в отличии от C++) и иногда мне теперь кажется я знаю о языке все. Ну почти все.)) Становится скучно, хочется нового. Многие первопроходцы Go сейчас посматривают в сторону Rust. Я понимаю, что Rust сложнее и требовательней, круче кривая входа. Это теоретически дает преимущества в скорости, ресурсоемкости и защищенности асинхронного кода. Десктопные поделки очень разумно писать на Rust. Но это теоретически, а на практике вкладывая столько усилий в описание модели данных для компилятора начинаешь забывать об алгоритмических задачах. На Go, production grade сервер/сервис можно написать за минуты, ну часы)) и проверять компиляцией за секунды(очень быстрая компиляция). Код легко рефакторить и поддерживать (очень читаемый), да и выбросить не так жалко. Продуктивность, как со скриптовыми языками. В Rust асинхронный код выведен из ядра синтаксиса языка в библиотеки, принята модель async/await. Это верное архитектурное решение с точки зрения бесплатных абстракций, но попробуйте написать скажем web_socket_chat на Rust и возникает чувство, что у вас в руках неудобный NodeJS который раздражающе долго компилируется.