KAPiTaN OS: Linux Üzerinde Türkçe Bir Komut Katmanı
Terminal, bir geliştiricinin sahip olduğu en güçlü araçlardan biridir ve aynı zamanda en az davetkâr olanlardan biridir. Her komut bir İngilizce kelimenin kısaltmasıdır. List, ls olur; remove, rm olur; change directory, cd olur. Ana diliniz İngilizceyse, bunu fark etmeden özümsersiniz. Değilse, terminal zaten dik olan bir kavramın üzerine ikinci bir çeviri katmanı ekler. KAPiTaN OS'u Türkçe konuşanlar için o engeli azaltmak amacıyla inşa ettim ve bana bir dil katmanının nerede durması gerektiği hakkında çok şey öğretti.
KAPiTaN OS açık kaynak bir proje; tanıdık bir Linux tabanının üzerinde oturan Türkçe komut katmanı olan bir Linux dağıtımı. Hedef dar ve bilinçli: Türkçe konuşan bir öğrencinin veya yeni bir geliştiricinin, altta yatan sistemi olmadığı bir şeymiş gibi göstermeden, ana dildeki komutlarla shell'i kullanmasına izin vermek.
Dil Engeli Neden Gerçek
Bu yolculuğun başındaki insanlarla konuştuğumda, sürtünme nadiren mantıktır. Dosyaları ve klasörleri, süreçleri ve izinleri anlıyorlar. Onları yavaşlatan şey, her etkileşimin hâlâ edinmekte oldukları bir kelime dağarcığıyla aracılı olması. Problem hakkında düşünmeye başlayamadan önce kafalarında çeviri yapıyorlar. O bilişsel vergi, hiç ödemek zorunda kalmamış birine görünmezdir ve bazı insanların ilginç kısımlara gelmeden sessizce vazgeçmesini sağlayacak kadar büyüktür.
KAPiTaN OS, o ilk vergiyi kaldırmak için var. Bir acemi bir Türkçe fiil yazıp sistemin yanıt vermesini izleyebilirse, terminal yabancı bir ülke gibi hissettirmeyi bırakır ve bir araç gibi hissettirmeye başlar. Kazanç, uzmanlar için verimlilik değil. Birinin devam etmesi ile birinin çekip gitmesi arasındaki fark.
İnce Bir Katman, Duvarlarla Çevrili Bir Bahçe Değil
Temel tasarım kararı, Türkçe komut katmanını ince ve dürüst tutmaktı. Türkçe fiiller, altta yatan Linux komutlarına eşlenir ama onları gizlemez. Bir Türkçe komut çalıştırdığınızda, altta aynı davranış, aynı bayraklar, aynı çıktıyla yine gerçek sistemi çalıştırıyorsunuz. Katman bir çeviridir, bir yedek değil.
Bu, taviz vermeyi reddettiğim bir ilkeydi. Linux'un pürüzlü kenarlarını yumuşatan ve kendi icat ettiği dünyayı sunan daha dostane, basitleştirilmiş bir shell inşa etmek kolay olurdu. Ama o yol bir tuzak yaratır. İnsanlar KAPiTaN'ı öğrenir ve Linux'u öğrenmez ve normal bir makinenin başına oturdukları an — işte veya bir sunucuda — yine kaybolurlar. Duvarlarla çevrili bir bahçe size bahçeyi öğretir, dışarıdaki dünyayı değil.
Bu yüzden katman kasıtlı olarak şeffaftır. Gerçek komutlar her zaman görünür ve her zaman erişilebilirdir. Türkçe kelimeler, yürümeyi seçebileceğiniz bir köprüdür; sizi bir tarafta hapseden bir duvar değil.
Yalan Söylemeden Fiilleri Eşlemek
Türkçe fiilleri komutlara eşlemek, deneyene kadar önemsiz görünür. Doğal dil belirsizdir ve Linux komutları kesindir ve temiz bir eşleme her ikisine de saygı göstermelidir. İyi bir eşleme, bir Türkçe konuşanın doğal olarak başvuracağı fiili kullanır, onu gerçekten o şeyi yapan komutla hizalar ve zekice olma dürtüsüne direnir. Mesele tanıma, şiir değil.
Kendime tuttuğum kural, katmanın sistemin ne yaptığı konusunda asla yalan söylememesiydi. Bir Türkçe komut, daha dostane görünmek için sessizce bayraklar ekler veya varsayılanları değiştirirse, yanlış bir zihinsel model öğretir ve kullanıcı ham Linux'a dokunduğu an şaşırır. Bu yüzden eşleme sadık kalır. Türkçe fiil, bir kapıdaki bir etikettir ve kapının arkasında tam olarak beklediğiniz oda, değişmeden, vardır.
Eğitim Açısı
KAPiTaN OS ile gerçekten önemsediğim şey eğitim yolu. İdeal yörünge şu: bir acemi engeli düşürdüğü için Türkçe komutlarla başlar, terminalde rahatlar ve sonra, gerçek komutlar her zaman görünür olduğu için, onları kademeli olarak özümseyerek (osmosis) edinir. Türkçe katman, çıkarılmak üzere tasarlanmış destek tekerlekleridir, kalıcı bir koltuk değneği değil.
Şeffaflığın bu kadar önemli olmasının nedeni bu. Gerçek sistemi gizleyen bir öğrenme aracı, iyi bir ilk saat ve kötü bir ilk yıl için optimize eder. İlk saatin biraz daha zor olmasını, gerçek komutlar her zaman görünürken tercih ederim; böylece gerçek akıcılığa giden yol açık kalır. Hedef hiçbir zaman insanları KAPiTaN'da tutmak değildi. KAPiTaN'ı, onları kendi yollarından çıkarmak için kullanmaktı.
Benzer Bir Şey İnşa Eden Birine Söyleyeceklerim
Mevcut bir sistemin üzerine bir erişilebilirlik veya yerelleştirme katmanı inşa ediyorsanız, her şeyi soyutlama cazibesi güçlüdür ve genellikle yanlıştır. Bir öğrenen için yapabileceğiniz en saygılı şey, tavanı düşürmeden engeli düşürmektir. Girişi nazik yapın, gerçek şeyi görünür tutun ve insanların ona doğru büyümesine güvenin. KAPiTaN OS tam da bu nedenle açık kaynaktır: katman incelenebilir, fork'lanabilir ve dürüst olmalı çünkü öğrettiğini iddia eden bir aracın bunu gerçekten yapacağına güvenilmesinin tek yolu budur.