1 puan yazan GN⁺ 2025-12-13 | 1 yorum | WhatsApp'ta paylaş
  • Kişisel kod editörü Boo’nun geliştiricisi, projeye kısa bir ara verip yeni bir programlama dili yapma nedenini açıklıyor
  • Boo, insan merkezli klavye gezinmesi ve LSP’nin yerine geçen bir sistem sunan Rust tabanlı bir editör; ticarileştirmeden çok kişisel kullanım amacı taşıyor
  • Tekrarlayan geliştirme sürecinin yaratıcılığı azalttığını düşünüyor ve ilham veren yazılım üretmenin keyfini önemsiyor
  • LEGO bloklarıyla kurma ve The Legend of Zelda: Breath of the Wild örnekleriyle, akılda kalan üretimlerin önemini vurguluyor
  • Başarı formüllerini izlemek yerine kendi ilgisi ve öğrenme odaklı geliştirme felsefesini koruyor; gelecekte Boo’yu kendi yaptığı dille yeniden yazmayı planlıyor

Boo projesi ve geliştirme motivasyonu

  • Boo, yazarın kendisi için yaptığı bir kod editörü projesi; kitlesel başarıdan çok kişisel faydaya odaklanıyor
    • Boo, insan odaklı klavye gezinmesi özelliğine sahip ve LSP(Language Server Protocol) yerine daha hızlı, işletim sistemine daha az yük bindiren bir sistem kullanıyor
    • Şu anda günlük işlerde kullanılabilecek kadar çalışıyor, ancak açık kaynak olarak yayımlama planı yok
  • Boo ve Rio Terminal ikisi de Rust ile yazıldı ve benzer yapı ile dağıtım süreçlerine sahip
    • Bu benzerlikler tekrarlayan iş gibi hissettirdiği için geliştirme keyfini azaltıyor

Üretim ve ilham arasındaki ilişki

  • LEGO bloklarıyla oynama örneği üzerinden, her seferinde farklı bir şey yapabilme özgürlüğünün üretmenin keyfi olduğunu anlatıyor
    • Aynı parçaları tekrar tekrar kullanmak yerine, dışarıdan unsurlar ekleyerek yeni sonuçlar üretme sürecinin ilginin asıl kaynağı olduğunu söylüyor
  • Programlama ne kadar tekrarlı hale gelirse, “vay be” etkisi yaratan ürünlerin ortaya çıkma ihtimali o kadar azalıyor
    • İlham veren yazılımlar yapabilmek için önce ilham almak gerektiğini vurguluyor

Akılda kalan yazılım örnekleri

  • The Legend of Zelda: Breath of the Wild örneğiyle, oyun oynamayan insanlara bile konsol satın aldıran kalite düzeyinden söz ediyor
    • Oynadıktan sonra da uzun süre akılda kalan bir deneyim sunan eserlerin gücünü vurguluyor
  • Bu düzeyde özenle yapılan yazılımların insanlarda duygusal bir izlenim bıraktığını açıklıyor

Boo’ya ara verme ve yeni dil geliştirme

  • Boo, iş amacı taşımayan bir hobi projesi; gelir ya da teslim tarihi baskısı yok
    • VS Code gibi büyük bir proje yapma niyeti de yok ve kendini zorlayarak ilerlemiyor
  • İlham geri geldiğinde devam etmek üzere Boo’ya geçici olarak ara veriyor ve şu anda kendi programlama dilini geliştiriyor
    • Uzun vadede Boo’yu bu dille yeniden yazmayı planlıyor

Geliştirme felsefesi ve tutum

  • Yeni bir dil geliştirmek çok iş gerektiriyor, ancak yazar bunu keyifli bir öğrenme süreci olarak görüyor
    • Binary dosyalar ve derleyiciler konusundaki anlayışını genişletiyor ve kendi temposunda ilerliyor
  • Dışarıdaki başarı formülleri veya tavsiyeleri yerine, kendi düşünce biçimi ve ilgisini merkeze alarak geliştirmeyi sürdürüyor
  • Bu yazının kendisi de Boo kullanılarak yazıldı

1 yorum

 
GN⁺ 2025-12-13
Hacker News yorumları
  • Bugün uyanıp kahve içtiğini ve ailesi uyuyakaldığı için öğleden sonrasının boş geçtiğini yazan gönderiyi görünce, ailesiyle saat farkı nasıl var diye merak ettim. Öğleden sonra uyuyan bir aile ya da akşam kalkıp güne başlayan insanlar olabileceklerini hayal ettim

    • Acaba diğer hobisi anestezi mi diye şaka yaptım. Şekerleme yapan çocuklar olabilir ama yine de boş vaktinin en fazla iki saat kadar olacağını düşündüm
    • Ailesiyle vakit geçirmemeyi sever gibi duran tavır bana biraz garip geldi. Kutlanacak bir şey gibi gelmiyor
    • “Breath of the Wild” gibi örnekler vermesine bakınca sanki başka bir boyuttan bir blog yazısı okuyormuşum gibi geliyor
    • Belki de İspanya'dır. Efsanevi siestaları yüzünden olabilir
  • “Bu editör beni mutlu etmek için var” sözü tazeleyici geliyor. Bugünlerde her yan projenin open source ya da SaaS'a dönüşmesi gerektiğine dair bir baskı var ve bu çoğu zaman yaratıcılığı öldürüyor. Boo ya da Rio gibi deneysel projeler sanki bu özgürlükten doğuyor

    • Open source iyi ama patch isteği almadan yalnızca kodu yayımlamanın da sorun olmadığını düşünüyorum
    • Bugünlerde open source veya SaaS'ın da ötesinde, her şeyin enterprise düzeyinde ölçeğe gitmesi gerektiği havası daha da kötü. Küçük diller, deneyler, self-hosting, DIY ruhu adeta karşı-kültür haline geldi
    • “Beni mutlu etmek için var” sözüne katılıyorum. (Emacs)
  • “Kendim için yaptım” sözü birçok sanatçının yöntemi. Tolkien de öyleydi; çoğu insan önce kendisi için üretir, sonra dünyaya gösterir. Ama çoğu zaman kimsenin ilgisini çekmez ya da ancak öldükten sonra fark edilir. Yine de bu sorun değil. Önemli olan hayal gücünü dışa vurma yönündeki insan içgüdüsü

    • Ben de canvas kütüphanemi bu duyguyla yaptım. Şiiri web sitelerinde yeni bir biçimde ifade etmek için başlamıştım; bir baktım 10 yılı aşkın süredir boş zamanımı kaplıyor. Sonuç bu şiir sayfasında
    • Eskiden öfkeyle yazdığım bir e-posta, bir arkadaşın önerisiyle yerel gazetede görüş yazısı (op-ed) olarak yayımlanmıştı. Birilerinin yazıma önem vermesi beni mutlu etmişti
    • Bir şeyi gerçekten kendin için yapıyorsan, başkalarının bakışını umursamaman gerekir. Ben de eskiden “Başkaları ne düşünür?” diye dert ederdim ama gerçekten kendim için üretmeye başlayınca hissi tamamen değişti
    • Eskiden bir sanatçının kendi vizyonunun peşinden gidebilmesi için patron gerekiyordu. Şimdi destek demokratikleşti ama bunun yerine tıklanma sayısı geçimi belirliyor. Zengin patronların kaybolup paranın kripto ya da yapay zekaya akmasına üzülüyorum
    • “Ancak öldükten sonra fark edilen sanatçı” deyince aklıma bir kulağı eksik Hollandalı ressam geliyor
  • Programlama tekrar eden hale geldikçe 'wow' etkisi azalıyor. Ama yt-dlp gibi birçok farklı siteyi destekleyen projeler istisna. Sayısız veri ayrıştırıcısı yazmak sıkıcı ama sonuçta “her yerde çalışıyor” hissi veriyor

  • İnsanlarda duygu uyandıran yazılım yapıyorum — çoğunlukla öfke. Sonuçta yazılım ikiye ayrılıyor: ya kimse umursamıyor ya da insanlar şikayet edecek kadar çok kullanıyor

    • Örneğin Microsoft Teams ya da Office 365 kesinlikle duygu uyandırıyor ama bu neşe değil
    • DRM yazılımları da aynı. Özellikle Sony BMG rootkit olayı gibi vakalar efsanevi
    • Ben de her gün karşıma çıkan sorunları çözmek için yaptığım araçlarda en iyi kaliteyi yakaladım. Fazla erken genellemeye çalışınca iş yavaşlıyor ve kalite düşüyor
  • Emacs ve Emacspeak bana muazzam duygular veriyor. Her şey tek bir kılavuz gibi; sadece C-h m'ye basınca tüm komutlar hemen çıkıyor. Gizli hiçbir şey yok, HTML belgeleri eşelemek gerekmiyor. Bir şey çalışmazsa Codex'le düzeltip yine istediğimi yaptırıyorum

  • İdeal durumda yazılım geliştirme bir zanaat olarak ele alınmalı. Marangozluk gibi; hem faydalı olabilir hem de sanat olabilir. Ama birçok proje geliştiricilere fabrika işçisi gibi davranıyor. Sorun, kaliteden çok miktarı önceleyen kültür.
    Aynı anda yazılımı yalnızca sanat olarak görmek de pratik değil. Kodun amacı takdir edilmek değil, çalışmaktır. Yine de “zanaatkarlık taşıyan yazılım” ifadesinin kulağa tuhaf gelmesi üzücü

    • Marangozluk da sonuçta üzerine oturmak için sandalye yapar, bakmak için değil. O halde yazılım neden zanaat olarak görülmüyor, anlamıyorum
  • Meta ve Google gibi FAANG şirketleri de insanlarda duygu uyandıran yazılımlar yaptı — öfke, depresyon, bazen de neşe. Ama bu, iyi niyetle başlayan teknolojinin nasıl çarpıtılabileceğini gösteriyor. “Cehenneme giden yol iyi niyet taşlarıyla döşelidir” sözündeki gibi, iyiyi hedeflerken kötüyü üretmek sık görülüyor.
    Knuth'tan alıntıyla, “binlerce bilgisayar bilimcisinin özgürce istediklerini yapmasına izin verin” yaklaşımı ilerlemenin itici gücü. Bell Labs'te olduğu gibi, keşfetme özgürlüğü önemli.
    Bugünlerde insanlar optimizasyona takıntılı ama matematikte zayıf; sonuçta keşfetmeyi bırakmış bir toplum olduk. Bu yüzden ilerlemenin yavaşladığını düşünüyorum

    • Benim bir sözüm var: “Kedileri gütmek istiyorsan, kendin de kedi olmalısın.” Dahileri yönetmek istiyorsan onlar gibi olmalısın. Bazen tek başına birden fazla rolü üstlenmek gerekir
  • Casey Muratori ve Jonathan Blow'dan öğrendiğim bir alışkanlık var; ben de kendime ait küçük dünyalar kurmayı seviyorum. Tek kullanıcısı ve tek muhatabı benim olan projeler bunlar. Son teslim tarihi yok, istek yok, runtime yok; saf keyif alanı

    • “Kendine ait bir dünya kurmak” derken bunun hayali bir coğrafi dünya anlamına gelip gelmediğini soruyor. Tolkien ve Stevenson da böyle başlamıştı
    • Ama Blow ve Casey uzun zamandır ortaya bir sonuç koyamıyor
  • Bugünlerde yazılımların çoğu bende güçlü duygular uyandırıyor

    • Özellikle node_modules görünce sinir oluyorum. Electron tabanlı uygulamaları görünce de “Biz nerede yanlış yaptık?” diye düşünüyorum. Masaüstüne mobil UI koyulmasından da hoşlanmıyorum