« Tüm yayınlar

Mitchell Hashimoto: Ghostty, Zig ve Terminal Protokolleri Üzerine

HashiCorp kurucusu Mitchell Hashimoto, Ghostty terminal emülatörünü neden Zig ile yazdığını, PTY protokolünün sınırlarını ve yeni ekran/buton protokolü fikirlerini anlatıyor.

Vagrant, Terraform ve Vault gibi araçların arkasındaki isim Mitchell Hashimoto, HashiCorp'tan ayrıldıktan sonra Ghostty adlı terminal emülatörünü geliştirmeye başladı. Röportajda, GPU programlama, masaüstü sistem programlama ve Zig dilini öğrenmek istediği için bu projeye yöneldiğini; on beş yıllık CLI geliştirme deneyimine rağmen terminallerin iç işleyişini gerçekten anlamadığını fark ettiğini anlatıyor. Ghostty başlangıçta özel bir beta olarak arkadaş çevresinde kullanılmış, zamanla genel kullanıma açılmış.

Hashimoto, terminallerin tarayıcı veya masaüstü gibi her işi yapan platformlara dönüşmemesi gerektiğini, metin tabanlı uygulamaların kendine özgü avantajları (hız, kolay etkileşim, net güvenlik modeli) olduğunu savunuyor. PTY protokolünün yapılandırılmamış bayt akışı ve kaçış dizilerine dayanan bant içi sinyalleşmesini temel bir sorun olarak görüyor; PowerShell'in yapılandırılmış veri yaklaşımını örnek gösteriyor. İki somut protokol önerisi var: sınırsız sayıda arka plan ekranı oluşturmayı sağlayan bir n-ekran API'si ve OSC 8 köprü protokolüne benzer, geçmişe kaydırıldığında bile çalışan bir buton protokolü.

Wayland'i inceleyip PTY protokolünü tamamen değiştirmeyi denediğini ama bundan vazgeçtiğini belirtiyor; terminaller için artık bir standartlar kurulunun olmadığını, son yirmi yılın standardizasyonunun en popüler terminallerin ne yaptığına dayandığını söylüyor. Açık kaynak bakımcılığı konusunda ise kullanıcılara hiçbir yükümlülüğü olmadığını ama iyi yazılım üretme hedefinin kendisini sorumluluk hissettirdiğini vurguluyor - bazı günler sorun çözmeye, bazı günler ise büyük vizyona odaklandığını anlatıyor.