Borgo programlama diline giriş
- Go'dan daha ifade gücü yüksek ama Rust kadar karmaşık olmayan bir uygulama geliştirme dili isteniyor
- Go basit ve sezgisel, ancak zaman zaman daha fazla tip güvenliği sunması isteniyor
- Rust ile çalışmak iyi hissettiriyor (en azından tek iş parçacıklı kod için), ancak fazla kapsamlı ve karmaşık, bazen de yorucu
- Borgo, Go'ya transpile edilen yeni bir dil ve mevcut Go paketleriyle tamamen uyumlu
- Borgo sözdizimi, noktalı virgülün isteğe bağlı olduğu Rust'a benziyor
Başlıca özellikler
- Cebirsel veri tipleri ve desen eşleştirme
nil yerine Option kullanımı
- Birden çok dönüş değeri yerine
Result kullanımı
? operatörüyle hata işleme
Yerelde çalıştırma
- Borgo Rust ile yazıldığı için
cargo gerekiyor
- Geçerli klasördeki tüm
.brg dosyalarını derlemek için:
- Derleyici
.go dosyaları üretir ve bunlar normal şekilde çalıştırılabilir
GN⁺ görüşü
- Rust güçlü bir dil, ancak öğrenme eğrisi dik ve benimseme eşiği yüksek; Borgo ise Rust'ın avantajlarını Go ekosisteminde kullanmayı mümkün kılan ilginç bir deneme gibi görünüyor. Ancak henüz erken aşamada olduğu için ekosisteminin zayıf olması beklenebilir
Option ve Result ile nil ve hata işlemenin iyileştirilmesi, ? operatörüyle hata yönetiminin kolaylaştırılması gibi noktalar, Go geliştiricilerinin sıkça rahatsız olduğu alanları hafifletebilir gibi görünüyor
- Mevcut Go kütüphanelerini aynen kullanabilmek büyük bir avantaj. Ancak Rust sözdiziminin ödünç alınmış olması nedeniyle Go geliştiricilerinin buna alışması zaman alabilir
- Transpile yaklaşımı nedeniyle hata ayıklama veya çalışma zamanı performansı gibi alanlarda yerel Go koduna kıyasla dezavantajlı olma ihtimali var. Büyük ölçekli production koda uygulamak için henüz erken olabilir
- Kotlin'in JVM ekosisteminde payını artırması gibi, Borgo'nun da Go için bir çözüm haline gelebilmesi adına kod kalitesi, geliştirme verimliliği ve öğrenme eğrisi gibi birçok alanda sürekli iyileşmeye ihtiyacı var gibi görünüyor. Gelişimini sürdürürse Go dünyasında cazip bir alternatif olabilir
1 yorum
Hacker News görüşleri
Özet:
implile metot tanımı, kanal ve goroutine söz dizimi,zeroValue()yerleşik fonksiyonu vb.pub/privateanahtar kelimelerinin getirilmesi de olumlu karşılanmış