Beaucoup d'entre vous ont probablement examiné de près une sorte de Go au moins une fois, mais ont pensé à y passer. Le responsable du cours en ligne "Developer Golang" Anton Telyshev (travaillé chez Mail.ru, Kaspersky Lab, Sberbank) a expliqué pourquoi cet outil justifie vraiment le battage médiatique autour de lui et qui a du sens pour maîtriser Go.
salut! Je suis moi-même passé de "python" et "plus" à Go, comme certains de mes collègues professeurs:
Et maintenant je veux souligner plusieurs raisons pour lesquelles il vaut la peine de maîtriser ce langage.
1. Simplicité et fiabilité de Golang
En gros, vous suivez la visite guidée de Go, ouvrez la spécification de langue et voyez qu'il n'y a que 25 mots-clés et c'est assez simple.
Golang a été créé à l'origine pour remplacer C ++. Les «plus» peuvent brancher divers goulots d'étranglement, écrire du code complexe et performant. Mais en même temps, apprendre le C ++ est long et difficile, surtout comprendre les dernières normes, et la probabilité de «se tirer une balle dans le pied» pour les développeurs novices est assez élevée. Oui, en termes de performances, Go échoue à certains endroits, mais il compense avec un seuil d'entrée plus bas.
2. Un logiciel complexe et intéressant est développé sur Go
D'après mes observations, il y a maintenant deux tendances. La première est que dans Go, vous collectez des services qui transfèrent JSON d'un endroit à un autre - cela se trouve principalement dans les grandes entreprises, ces tâches ne sont pas toujours particulièrement complexes et sont souvent résolues avec des outils prêts à l'emploi écrits pour vous. Et la deuxième tendance est que Go a occupé une niche de choses qui sont généralement écrites en C ++: un backend productif, des mathématiques, un traitement de données, une logique métier clé non triviale. En général, ce qui était auparavant posé sur les épaules des «plus», .Net ou Java, essaie maintenant de se coucher sur Go. Souvenons-nous du même Docker ou Kubernetes.
3. Les plus grandes entreprises utilisent de plus en plus Golang
Si vous allez à HeadHunter, dans les meilleures entreprises Go, vous pouvez trouver Avito, qui est presque complètement passé de PHP à Golang, OZON, qui est complètement sur Go, Wildberries, qui fonctionne en C ++ / Rust and Go, ainsi que Joom et Mail.ru (Mail , Delivery Club, etc.). Comme nous pouvons le voir, la plupart d'entre eux sont désormais des marchés. D'ailleurs, Mail.Ru peut être qualifié de pionnier de Go: à un moment donné, Mail a été réécrit de C à Go, et easyjson à lui seul en vaut la peine pour sa contribution à la communauté.
4. La tendance «réécrire pour aller». Mais en même temps, il n'y a pas de bibliothèques Go pour tout.
Comme avant tout, par exemple, a été réécrit de Perl vers Python, maintenant tout est réécrit de Python vers Go. Et bien qu'il n'y ait pas de bibliothèques pour tout, vous pouvez contribuer à la communauté si vous le souhaitez. Par exemple, implémentez quelque chose pour l'apprentissage automatique ou une autre bibliothèque pour configurer, travailler avec des images, etc., etc., etc. Bien qu'il existe de nombreuses bibliothèques dans Go, son écosystème n'est toujours pas aussi riche que dans d'autres langues.
5. Tendance des microservices
Les monolithes des grandes entreprises commencent à se désintégrer et il devient impossible de prendre en charge d'énormes systèmes écrits dans une seule langue. Go est idéal pour créer des microservices, donc la demande de tels développeurs ne fera qu'augmenter.
6. Les développeurs sont peu nombreux et chers
Bien sûr, il s'agit d'un argument controversé, car chaque trimestre, la situation change et de plus en plus de spécialistes nouvellement créés se disputent les postes initiaux. Pourtant, les développeurs Middle / Senior Go ont tendance à réclamer des salaires plus élevés que les spécialistes d'autres langues.
Pour résumer, je pense que Golang est en effet une technologie prometteuse à la fois en termes de rationalisation du processus de développement et en termes de carrière.
La seule raison pour laquelle je conseillerais d'attendre avec Go est si vous le considérez comme votre langue maternelle.
Le principal problème pour un débutant est qu'il y a des choses dans Go qui sont encore un peu plus basses que dans le même Python ou tout autre langage interprété. Vous devez réfléchir au fonctionnement de la mémoire, au planificateur, à la façon de ne pas se tirer une balle dans le pied par endroits - généralement les débutants ne savent pas ces choses. Si vous apprenez, grosso modo, le C ++, alors vous naviguez calmement dans les pointeurs, dans la magie de la programmation de bas niveau.
Il en va de même pour notre cours en ligne «Golang Developer. Professionnel » s'adresse à ceux qui connaissent déjà la programmation. Ceux qui viennent étudier peuvent être divisés en trois catégories:
- 3- , , , . Middle/ Senior , .
- , DevOps-, , Go. , . — Go- .
- Go- 1 , . Go, .
Nous avons essayé de rendre le cours profond et utile, pas celui du «capitaine». Le programme de 35 webinaires couvre toutes les connaissances nécessaires au développement et au déploiement. De plus, à chaque flux, nous mettons à jour les exemples, supprimons ce qui n'est plus pertinent et ajoutons des tendances utiles. Il y a beaucoup de matériel à maîtriser - webinaires, résumés, pratiques, critiques d'enseignants, littérature et articles recommandés. Soit dit en passant, nous avons des étudiants qui se réinscrivent au cours pour parcourir de nouveaux sujets et consolider leurs anciennes connaissances.
Dans les trois premiers modules, les tâches pratiques ne sont pas liées les unes aux autres, elles sont axées sur l'apprentissage par l'élève à utiliser chaque technique. Dans les modules suivants, vous écrirez systématiquement votre microservice, qui fera partie du portefeuille.
Si vous envisagez de maîtriser Golang, je vous invite à passer un test d'introduction à notre cours. Les cours commencent le 27 août, mais vous pouvez rejoindre le groupe en septembre. Nous vous attendons chez OTUS!