aynı isimde "go" başlığı da var
şükela:  tümü | bugün sorunsallar (1)
22 entry daha
  • project euler hack edilip veritabanındaki kat ettiğimiz aşama bilgileri sıfırlanınca f#'ı bırakıp sıfırdan go ile başladım. kodlarken c'den çok pascal hissiyatı veriyor (sözdizimi, temel fonksiyonları vs). sonradan merak edip kısaca araştırdım. zaten tasarımcıları c'den sonra en fazla pascal/modula/oberon (kısaca: niklaus wirth) ailesinden etkilendiklerini söylemişler.

    genel olarak tasarımındaki pragmatik, sonuç odaklı yaklaşımı beğendim mesela public/private ayrımını fonksiyon isminin ilk karakterinin büyük küçük harf olmasıyla yapması buna güzel bir örnek. generics eksikliği geliştiricileri tarafından da kabul ediliyor ama "doğru yapmanın yolunu henüz bulamadık" diyerek şimdilik erteleniyor.

    modül sistemini ve tasarım tercihlerini çok beğendim. paket isimlendirme ve erişim mantığı. github'dan paket import edebilme vs.

    kurgusal bir stream'den okuma mantığıyla çalışan concurrency modeli (kanallar) enfes. bir benzeri d'de de vardı. bu işin en sorunsuz yolu o.

    hata denetimini exception kullanmamak suretiyle opt-out yerine opt-in yapmış olması belli senaryolarda anlaşılabilir (örn: mobil uygulama, web vs). ama kritik uygulamalarda (finans, nükleer santral, battlestar galactica), programcının özellikle denetlemeyi hatırlamadıkça kodun "hata yokmuş gibi" devam etmesi problem. belki doğru tasarımla aşılabilir ama ek efor gerektirdiği kesin.

    basit matematik problemleriyle gittiğimden oop eksikliğinin, daha doğrusu salt interface tabanlı ve hiyerarşisiz kodlama mantığını deneme şansım olmadı. hatta şu anda string'den aldığım slice'ın içi niye sıfır dönüyor gibi şeylerle cebelleşiyorum. ama eksik gördüğüm kısımlarına rağmen beğendiğimi söyleyebilirim.

    tooling çok iyi. package manager'ından tut da, formatting, documentation, linting vs hepsi hazır geliyor. geliştirici dünyasında kendi package manager'ı olmayan yazılımı dövüyorlar.

    visual studio'yu çok sevdiğimden go için ide arayışımda liteide'yi buldum yeni başlayan için gayet başarılı. atom kullananlar için de go-plus ve atom-runner eklentileriyle baya kullanışlı hale geliyor.
214 entry daha
hesabın var mı? giriş yap