C# ve TypeScript’in tasarımcısı Anders Hejlsberg’den çıkarılan 7 ders
Hejlsberg’in 40 yıllık kariyerinde tekrarlanan örüntü:
hızlı geri bildirim > zarafet, uyumluluk ve pragmatizm > saflık, şeffaf tavizler > opak kararlar
1. Hızlı geri bildirim neredeyse her şeyden daha önemlidir
- İlk 64KB kısıtları döneminden beri hızlı çalıştırma ve hata kontrolü kritik oldu
- Hem Turbo Pascal hem de TypeScript, artımlı denetim ve anlık geri bildirimi vurguladı
- Yavaş geri bildirim → geçici çözümler artar, geliştirici güveni düşer
→ deneyi ve refactoring’i teşvik eder, üretkenliği en üst düzeye çıkarır
2. Yazılımı ölçeklendirmek = kişisel tercihleri geri plana koymak
- Bireysel projelerden takım ve büyük ölçekli projelere geçerken edinilen farkındalık
- C#’ın başarı etkenleri: VB’ye yakınlık + C++ gücü + Windows pragmatizminin bir arada olması
- Teorik saflıktan çok, daha fazla insanın anlayıp bakımını yapabileceği kodu öncelemek
→ çeşitliliği kabul etmek uzun vadeli başarının anahtarıdır
3. TypeScript’in JavaScript’in yerini almak yerine onu genişletmesinin nedeni
- Mevcut JS ekosistemini, araçlarını ve alışkanlıklarını atmak mümkün değildi
- Tamamen değiştirmek yerine kademeli iyileştirme (tip ekleme) seçildi
- Büyük ölçekli uygulamaların ihtiyaç duyduğu statik analiz ve refactoring’i mümkün kıldı
→ gerçekçi uzlaşmalar, yenilikten daha büyük ilerleme getirebilir
4. Açık kaynağın başarısında ana unsur görünürlüktür (visibility)
- 2014’te TypeScript GitHub’a taşındıktan sonra PR’lar, issue’lar ve tartışmalar açık hale geldi
- Karar süreçleri, tavizler ve öncelikler şeffaf biçimde ortaya kondu
→ kullanıcı güveni ↑, anlayışa dayalı katkılar ↑
→ yalnızca kodu değil, “neden böyle yapıldığını” da paylaşmak önemlidir
5. Derleyiciyi JavaScript ile sürdürmekten neden vazgeçildi
- JS tabanlı self-hosted derleyici → performans sınırları (tek iş parçacığı, büyük projelerde yavaşlık)
- Go’ya taşınarak anlamı ve quirks korunurken native performans ve paralelleştirme kazanıldı
- Rust gibi yeni diller yerine davranış tutarlılığı ve uyumluluk en üstte tutuldu
→ yıkıcı değişim yerine istikrarlı evrim tercih edildi
6. Yapay zeka odaklı geliştirme ortamında en önemli şey grounding’dir
- Yapay zekada üretimden çok doğruluk ve kısıtlar önemlidir
- Tip denetleyici ve refactoring araçları, yapay zeka kod doğrulaması için guardrail görevi görür
- Güçlü tip sistemi = yapay zeka çıktısındaki makul görünen hataları önleme
→ yapılandırılmış kod, yapay zeka çağında verimli incelemenin anahtarıdır
7. Açık iş birliğinin neden önemli olduğu
- Açık tartışmalar ve karar geçmişi = kurumsal hafızanın korunması
- Aranabilir bağlam → yeni katılanların onboard edilmesini kolaylaştırır, uzun vadeli evrimi mümkün kılar
- Kapalı sistemlerin aksine ortak bilginin birikmesini ve aktarılmasını sağlar
→ sistemin sürdürülebilirliğini ve uyum yeteneğini güçlendirir
1 yorum
Gerçekten de Hejlsberg hocamız..💜