- Dalam percakapan dengan Nathan, Max, dan Antonio, para co-founder Zed, ada pertanyaan tentang alasan di balik pilihan teknis, pentingnya Rust, dan niat untuk memiliki stack teknologi sendiri.
- Mereka menjawab pertanyaan-pertanyaan itu sekali lagi dan membagikan kembali versi percakapan berdurasi satu jam yang telah disunting.
Dari Atom ke Zed: Perjalanan 10 Tahun
- Tiga pendiri itu telah bekerja bersama selama sekitar 10 tahun, dan setelah mengembangkan Atom mereka memutuskan untuk membuat Zed.
- Visi Zed adalah penyempurnaan dari visi awal Atom yang lebih matang dan terarah, dengan pilihan teknis yang sangat terkait dengan visi tersebut.
- Pilihan teknis seperti Rust, akselerasi GPU, dan CRDTs penting untuk mencapai tujuan Zed.
Pilihan Teknis dan Visi
- Visi Zed adalah menciptakan editor teks yang ringan sekaligus menyediakan fitur IDE saat dibutuhkan.
- Pada masa pengembangan Atom, karena keterbatasan teknis saat itu dan kurangnya kematangan teknis dari para pengembang, visi ini tidak dapat diwujudkan sepenuhnya.
- Munculnya Rust membuka peluang untuk mengatasi keterbatasan-keterbatasan tersebut.
Batasan Atom dan Awal Baru
- Selama pengembangan Atom, masalah kinerja muncul karena keterbatasan JavaScript dan keterbatasan teknologi web.
- Pada tahun 2017, setelah merasakan keterbatasan platform yang ada, mereka memutuskan untuk memulai Zed dari awal.
- Mereka bermaksud meningkatkan kinerja melalui Rust dan akselerasi GPU.
Dampak Rust
- Rust menyediakan abstraksi tingkat tinggi sekaligus performa yang sangat baik.
- 'Abstraksi biaya nol' Rust berperan penting dalam pengembangan editor teks.
- Walau C++ atau C juga dapat mencapai performa serupa, Rust memberikan pengalaman pengembangan yang lebih mudah dan aman bagi para pengembang.
Pentingnya Kepemilikan Stack Penuh
- Tim Zed memiliki seluruh stack teknisnya sendiri, mulai dari tree-sitter hingga GPUI, kerangka kerja antarmuka pengguna yang diakselerasi GPU.
- Kepemilikan stack penuh adalah pilihan sengaja, karena memungkinkan kontrol penuh terhadap performa dan fitur.
Menyeimbangkan Abstraksi Sempurna dan Urgensi
- Penting untuk membangun hanya apa yang dibutuhkan, sebesar kebutuhan, dan meninjau ulang ketika diperlukan berdasarkan pembelajaran yang didapat.
- Pada bagian yang esensial, mereka menginvestasikan waktu yang cukup untuk memastikan kualitas dan performa yang tinggi.
Hubungan Antara Alat Pengembang dan Teknologi
- Pengguna alat pengembang cenderung lebih memperhatikan teknologi, dan teknologi yang dipakai memengaruhi performa serta fitur yang diberikan ke pengguna.
- Zed yang ditulis dengan Rust membuat para pengembang lebih mudah berkontribusi, sehingga partisipasi komunitas meningkat.
Opini GN⁺
- Proses pengembangan Zed menunjukkan seberapa pentingnya pilihan teknis terhadap visi dan performa produk. Pemilihan bahasa pemrograman modern seperti Rust membuktikan bahwa produktivitas pengembang dan performa produk dapat ditingkatkan secara bersamaan.
- Kepemilikan penuh atas stack teknis membuat tim Zed lebih fleksibel dalam optimalisasi kinerja dan pengembangan fitur, yang berperan menentukan dalam pembuatan editor teks berkinerja tinggi.
- Untuk alat pengembang, teknologi yang digunakan dapat berpengaruh lebih besar pada pengalaman pengguna akhir dan dapat memengaruhi bagaimana Zed diterima oleh komunitas pengembang. Penggunaan Rust menjadikan kontribusi ke Zed lebih menarik bagi para pengembang, yang berdampak positif pada pertumbuhan dan perkembangan produk.
1 komentar
Komentar Hacker News
Kerangka UI yang kustom bisa terasa menyenangkan saat ini, tetapi bisa menjadi masalah saat menerapkan aksesibilitas. Menerapkan aksesibilitas di kerangka UI kustom tanpa menurunkan performa tidaklah mudah, dan memerlukan pekerjaan yang kompleks per platform. Karena Zed menempatkan diri bukan sekadar editor biasa, tetapi sebagai alat kolaborasi, maka penting agar dapat digunakan oleh seluruh anggota tim pengembang.
Peringatan mengenai lisensi yang harus disetujui sebelum menggunakan text editor Zed. Konten pengguna diklasifikasikan sebagai 'User Content' dan hanya dikirim ke lingkungan saat berbagi proyek saat berkolaborasi dengan pengguna Zed. Akses terhadap konten pengguna dibatasi Zed hanya untuk debugging dan peningkatan solusi.
Zed editor terlihat sangat menjanjikan, tetapi tidak dapat digunakan karena tidak mendukung host jarak jauh/container. Fitur serupa di VSCode penting untuk alur kerja saya, dan saya lebih suka memakai Mac sebagai portal untuk menulis kode di VM dan container. Ini meningkatkan pemisahan proyek dan postur keamanan.
Wawancara yang sangat baik yang memberi banyak insight tentang cara para pengembang memecahkan masalah. Saya banyak merenungkan cara memandang pengembangan dari sudut pandang yang berbeda-beda.
Saya tidak menggunakan Zed, tetapi pernah melihat José Valim memakainya saat menyajikan sesi coding secara langsung. Saya lebih sering menggunakan VSCode, tetapi fitur 'Find All' di Zed terasa sangat mengesankan. Mirip dengan VSCode yang membuka panel hasil dan menampilkan snippet dari semua berkas yang cocok, Zed memungkinkan Anda mengedit langsung snippet tersebut di tempat itu, berbeda dengan VSCode yang mengharuskan Anda mengklik hasil untuk membuka berkas lalu mengeditnya.
Zed tidak berjalan di Windows atau Linux. Mohon beritahu bila ini bisa berjalan di platform tersebut.
Wawancara ini sangat bagus dan membuat saya kagum dengan pemikiran di balik konsep gold-plate. Karya terbaik biasanya muncul pada percobaan kedua atau setelahnya. Saya penasaran apakah ada rencana agar konfigurasi Zed dapat ditulis dengan skrip. Saya belum banyak menggunakan Zed, tetapi ada alat seperti Neon yang bisa membantu pengguna VSCode dan Atom.
Saya sudah mencoba Zed dan merasakan kemiripan dengan VSCode. Fitur multiplayer-nya lebih baik daripada live share, tetapi agar orang mau beralih dari yang lain, dibutuhkan lebih banyak lagi. Jika bisa menggantikan XCode, saya akan lebih condong menggunakan Zed. Saya merasa tidak nyaman memakai XCode dan ingin pengalaman pengembangan iOS yang serupa dengan Android Studio.
Saya lebih memilih aplikasi native, namun saat ini tetap harus memakai VSCode. Saya kecewa melihat VSCode menyedot terlalu banyak daya hanya karena kursor berkedip. Zed terlihat ringan dan cepat, tetapi saya sudah terbiasa dengan dukungan Jupyter Notebook serta pengembangan jarak jauh dari Mac ke box Ubuntu, jadi VSCode sangat membantu. Saya berharap pengembang terus melanjutkan sampai Zed mendukung alur kerja Anda.
Saya sudah memeriksa halaman About Zed dan fitur live coding-nya tampak berguna. Ini pasti proyek yang menarik bagi pengembang dan memungkinkan membuat algoritma, optimasi performa, pemrograman GPU, dan sebagainya. Namun saya ragu apakah benar-benar perlu editor teks lain yang tidak bisa menyamai secara fungsional Vim dan multiplexer terminal.