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