KENAPA GAK DEP AJA ?
Pada 2017, pengembangan dep dimulai sebagai percobaan resmi di Go Package Management. Jika percobaan
berhasil, maka dep akan menjadi solusi resmi untuk manajemen paket. dep ini menjadi sangat penting
untuk developer Go, Dep mengadopsi mekanisme manajer paket lain, seperti cargo atau bundler .
dep memang menggunakan dua file konfigurasi — Gopkg.toml dengan dependensi, dan Gopgk.lock dengan hash
dan versi paket. Dependensi disimpan di direktori vendor. Dengan Dep memungkinkan untuk menentukan
secara spesifik nomor versi yang sangat fleksibel dan tangguh untuk dependensi berdasarkan versi yang
diinginkan. Spesifikasi versi yang valid di dep adalah hal-hal seperti 1.5–1.7.0 (yaitu> = 1.5 dan
<= 1.7.0) dan ~ 1.6.0 (yaitu> = 1.6 dan <1.7.0). Pada dep, versi dapat ditentukan lebih
fleksibel dan kuat daripada di modul Go, yang hanya memungkinkan spesifikasi versi minimal yang
diperlukan.
Tim Go mengikuti percobaan dengan cermat, tetapi pada akhirnya tidak dimasukkan dalam standar Go
karena beberapa anggota tidak yakin. Bagaimanapun, prinsip Go lama menyatakan “jika ragu, tinggalkan
saja.” Namun, tim Go terus bekerja secara intensif pada subjek manajemen paket. Salah satu pendukung
utama adalah Russ Cox, yang bertanggung jawab atas konsep-konsep penting untuk modul Go dan
implementasi saat ini.
Intinya, Russ Cox mengatakan bahwa fleksibilitas dan kekuatan dep sulit bagi pengguna untuk mengelola.
Dalam praktiknya, mereka tidak memberikan hasil yang lebih baik daripada pendekatan nomor versi
minimum dari modul Go. Fleksibilitas ini membutuhkan implementasi yang sangat kompleks dari alat
manajemen paket itu sendiri, dengan biaya pemeliharaan dan kinerja. Perbandingan modul dan dep Go akan
melampaui lingkup yang dibahas di sini, tetapi poin paling penting dapat ditemukan di utas Twitter
Russ Cox ini .
Namun, satu hal yang pasti: kerja sama antara komunitas Go dan tim Google Go tidak berhasil dengan
baik. Untuk waktu yang lama, banyak pokok kritik tidak dikomunikasikan kepada komunitas dep dan Go. Di
sisi lain, modul Go dirancang di ruang tertutup Googleplex dan komunitas tidak cukup terlibat. Tim
internal Go juga melihat ini dan menjanjikan upaya yang lebih baik di masa depan. Mugo-mugo lebih
terbuka, leres to mase :)
Read more