6 alasan untuk menguasai Golang dan 1 alasan untuk tidak melakukannya





Banyak dari Anda mungkin pernah melihat lebih dekat sejenis Go setidaknya sekali, tetapi berpikir untuk beralih ke sana. Kepala kursus online "Golang Pengembang" Anton Telyshev (bekerja di Mail.ru, Lab Kaspersky, Sberbank) memberi tahu mengapa alat ini benar-benar membenarkan sensasi di sekitarnya dan siapa yang masuk akal untuk menguasai Go.



Halo! Saya sendiri beralih ke Mulai dari "python" dan "plus", seperti beberapa rekan guru saya:







Dan sekarang saya ingin menyoroti beberapa alasan mengapa penting untuk menguasai bahasa ini.



1. Kesederhanaan dan keandalan Golang



Pada dasarnya, Anda melalui tur Go, buka spesifikasi bahasa dan lihat bahwa itu hanya memiliki 25 kata kunci dan cukup sederhana.



Golang awalnya dibuat untuk menggantikan C ++. "Plus" dapat menyambungkan berbagai leher botol, menulis kode yang rumit dan berperforma tinggi. Tetapi pada saat yang sama, mempelajari C ++ itu lama dan sulit, terutama memahami standar terbaru, dan kemungkinan "menembak diri sendiri" untuk developer pemula cukup tinggi. Ya, dalam hal kinerja, Go gagal di beberapa tempat, tetapi itu menebusnya dengan ambang masuk yang lebih rendah.



2. Perangkat lunak yang kompleks dan menarik dikembangkan di Go



Menurut pengamatan saya, sekarang ada dua kecenderungan. Yang pertama adalah bahwa di Go Anda mengumpulkan layanan yang mentransfer JSON dari satu tempat ke tempat lain - ini terutama ditemukan di perusahaan besar, tugas-tugas ini tidak selalu rumit dan sering diselesaikan dengan alat siap pakai yang ditulis untuk Anda. Dan tren kedua adalah bahwa Go telah menempati ceruk hal-hal yang biasanya ditulis dalam C ++: backend produktif, matematika, pemrosesan data, logika bisnis non-trivial kunci. Secara umum, apa yang sebelumnya diletakkan di pundak "plus", .Net atau Java, sekarang mencoba meletakkan di Go. Mari kita ingat Docker atau Kubernetes yang sama.



3. Perusahaan terbesar semakin banyak yang menggunakan Golang



Jika Anda pergi ke HeadHunter, di perusahaan Go teratas, Anda dapat menemukan Avito, yang hampir sepenuhnya beralih dari PHP ke Golang, OZON, yang sepenuhnya ada di Go, Wildberries, yang berfungsi di C ++ / Rust and Go, serta Joom dan Mail.ru (Mail , Klub Pengiriman, dll.). Seperti yang bisa kita lihat, kebanyakan dari mereka sekarang adalah pasar. Ngomong-ngomong, Mail.Ru bisa disebut sebagai pelopor Go: pada suatu waktu, Mail ditulis ulang dari C ke Go, dan easyjson sendiri layak untuk kontribusinya bagi komunitas.



4. Tren "rewrite to Go". Tetapi pada saat yang sama, tidak ada perpustakaan Go untuk semuanya.



Seperti sebelumnya, semuanya, misalnya, ditulis ulang dari Perl ke Python, sekarang semuanya ditulis ulang dari Python ke Go. Dan meskipun tidak ada perpustakaan untuk semuanya, Anda dapat berkontribusi kepada komunitas jika Anda mau. Misalnya, terapkan sesuatu untuk pembelajaran mesin atau pustaka lain untuk mengonfigurasi, bekerja dengan gambar, dll., Dll., Dll. Meski ada banyak perpustakaan di Go, ekosistemnya masih belum sekaya bahasa lain.



5. Tren layanan mikro



Monolit di perusahaan besar mulai hancur, dan menjadi tidak mungkin untuk mendukung sistem besar yang ditulis dalam satu bahasa. Go sangat bagus untuk membuat layanan mikro, jadi permintaan untuk pengembang semacam itu hanya akan bertambah.



6. Pengembang sedikit dan mahal



Tentu saja, ini adalah argumen yang kontroversial, karena setiap kuartal situasinya berubah dan semakin banyak spesialis baru yang bersaing untuk mendapatkan posisi awal. Namun, ada kecenderungan bahwa developer Go Menengah / Senior mengklaim gaji yang lebih tinggi daripada spesialis dalam bahasa lain.



Ringkasnya, menurut saya Golang memang teknologi yang menjanjikan, baik dari segi perampingan proses pembangunan maupun dari segi karir.
Satu-satunya alasan saya menyarankan untuk menunggu dengan Go adalah jika Anda menganggapnya sebagai bahasa pertama Anda.


Masalah utama bagi pemula adalah bahwa ada hal-hal di Go yang masih sedikit lebih rendah daripada di Python yang sama atau bahasa interpretasi lainnya. Anda harus berpikir tentang bagaimana memori bekerja, penjadwal, bagaimana tidak menembak diri Anda sendiri di tempat - biasanya pemula tidak mengetahui hal-hal ini. Jika Anda belajar, secara kasar, C ++, maka Anda dengan tenang menavigasi petunjuk, dalam keajaiban pemrograman tingkat rendah.



Begitu juga kursus online kami β€œPengembang Golang. Professional ” ditujukan bagi mereka yang sudah terbiasa dengan pemrograman. Mereka yang datang untuk belajar dapat dibagi menjadi tiga kategori:



  • 3- , , , . Middle/ Senior , .
  • , DevOps-, , Go. , . β€” Go- .
  • Go- 1 , . Go, .


Kami mencoba membuat kursus itu dalam dan berguna, bukan "kapten". Program webinar 35 mencakup semua pengetahuan yang diperlukan dalam pengembangan dan penerapan. Dan selain itu, dengan setiap aliran kami memperbarui contoh, menghapus apa yang tidak lagi relevan, dan menambahkan tren yang berguna. Ada banyak materi untuk dikuasai - webinar, abstrak, praktik, review dari guru, literatur dan artikel yang direkomendasikan. Omong-omong, kami memiliki siswa yang mendaftar ulang ke kursus untuk membahas topik baru dan mengkonsolidasikan pengetahuan lama.



Pada tiga modul pertama, tugas-tugas praktik tidak berhubungan satu sama lain, melainkan difokuskan pada pembelajaran siswa untuk menggunakan teknik masing-masing. Dalam modul berikut, Anda akan secara konsisten menulis layanan mikro Anda, yang akan menjadi bagian dari portofolio.



Jika Anda berpikir untuk menguasai Golang, saya mengundang Anda untuk mengikuti tes pengantar kursus kita. Kelas dimulai pada 27 Agustus, tetapi Anda dapat bergabung dengan grup selama September. Kami menunggu Anda di OTUS!



All Articles