17 puan yazan GN⁺ 2025-11-10 | 1 yorum | WhatsApp'ta paylaş
  • Onu 2012’de TypeScript üzerinde çalışmaya iten neden, JavaScript’in büyük, çok geliştiricili kod tabanlarında yeterince ölçeklenememesiydi; milyonlarca satırlık gevşek tipli kodla uğraşan ekiplerin sistem karmaşıklığını yönetmek için araçlara ihtiyacı vardı
  • 2025 itibarıyla TypeScript, GitHub’da en çok kullanılan dil oldu; ilk kez JavaScript ve Python’u geride bıraktı ve yalnızca bu yıl bir milyondan fazla geliştirici TypeScript ile katkı yapmaya başladı (yıllık %66 artış)
  • TypeScript’in başarısının temel nedenlerinden biri, statik tip sisteminin yapay zeka kod üretimiyle uyumlu olması; yapay zeka büyük miktarda kod verisinden öğrenip üretim yaparken tipler, güvenilirliği ve bakım kolaylığını artıran bir doğruluk denetleyicisi görevi görüyor
  • Derleyici Go ile yeniden yazılarak 10 kat performans artışı elde edildi; iyileşmenin yarısı yerel çalıştırmadan, diğer yarısı ise paylaşımlı bellek eşzamanlılığından geldi; mevcut davranış tamamen korunarak topluluk uyumluluğu sürdürüldü
  • Yapay zeka çağında IDE’ler yalnızca geliştiriciler için değil, ajanlar için de bir ortama dönüşüyor; TypeScript’in yapısal tip sistemi, ajanların güvenli biçimde refaktör etmesi ve kod tabanını deterministik olarak akıl yürüterek anlaması için temel sağlıyor

TypeScript’in doğuşu ve hedefi

  • 2012’de JavaScript zaten web’in merkezindeydi, ancak büyük ölçekli geliştirme için uygun ölçeklenebilirlikten yoksundu
    • Ekipler milyonlarca satırlık gevşek tipli kod dağıtıyordu ve sistemler karmaşıklaştıkça akıl yürütmek zorlaşıyordu
    • TypeScript’in hedefi JavaScript’in yerini almak değil, tipler, araçlar ve refaktör özellikleri ekleyerek büyük ölçekli geliştirmeyi mümkün kılmaktı
  • Anders, “JavaScript topluluğunun %25’i ilgi gösterirse başarılı olur” diye düşünüyordu, ancak bugünkü seviye beklentilerini çok aştı
    • “Her gün bu kadar çok insanın buna bağımlı olduğunu görmek şaşırtıcı. Tüm ekip buna şaşırıyor”

TypeScript’in temel özellikleri

  • JavaScript’in tip tabanlı bir üst kümesidir ve normal JavaScript’e derlenir
    • Statik tip denetimi, arayüzler, generic’ler ve modern dil özellikleri ekler
    • Derleme sırasında tip bilgisi kaldırılır; böylece JavaScript’in çalıştığı her yerde çalışır
  • Geliştiricilerin kullanma nedenleri:
    • Çalışma zamanından önce tip hatalarını yakalama
    • IDE otomatik tamamlama ve refaktör deneyimini iyileştirme
    • Ekipler arasında büyük kod tabanlarının bakımını mümkün kılma
    • Framework’ler ve yapay zeka destekli araçlarla sorunsuz entegrasyon
  • Başlıca kullanım alanları: frontend framework’leri (React, Angular, Vue), backend sistemleri (Node.js, Deno), SDK’lar, tasarım sistemleri ve güçlü tiplere ihtiyaç duyan yapay zeka tabanlı ajan framework’leri
Reklam

TypeScript’in pazar hakimiyeti

  • 2025 itibarıyla neredeyse tüm modern frontend framework’leri (React, Next.js, Angular, SvelteKit) varsayılan olarak TypeScript ile iskelet proje oluşturuyor
    • Sonuç: daha güvenli kod tabanları, daha iyi otomatik tamamlama ve sabaha karşı 3’te yapılan undefined hata ayıklama seanslarında azalma
  • “Sihir, TypeScript’i JavaScript gibi hissettirirken ona süper güçler vermekti”

Derleyicinin yeniden yazılması

  • TypeScript başlangıçta kendi kendini barındıran bir yapıya sahipti (TypeScript ile yazılmıştı); bu da taşınabilirliği ve üzerinde oynamayı kolay tutuyordu
    • Ancak sonunda performans sorun haline geldi
    • “Kendi kendini barındırmaktan vazgeçmek acı vericiydi ama artık daha fazla performans çıkaramayacağımızı biliyordum”
  • C# ve başka diller denendikten sonra seçim Go oldu
    • 10 kat performans artışı elde edildi: yarısı yerel çalıştırmadan, yarısı paylaşımlı bellek eşzamanlılığından
    • “10 katı görmezden gelemezsiniz”
  • Yeni derleyici, mevcut derleyicinin birebir kopyası; hatalar bile aynı
    • “Topluluğun hiçbir şeyi atmasına gerek yok”
  • Davranışı korurken performansı iyileştirme felsefesi, geliştiricilerin TypeScript’e güvenmesinin nedenlerinden biri
    • Birkaç yılda bir tamamen yeniden yazmak yerine, uyumluluğu koruyan evrimsel bir sistem
    Reklam

Açık kaynak felsefesi

  • Anders, açık kaynağı doğal seçilimi yansıtan bir ekosistem olarak görüyor
    • “Açık kaynak büyük bir deneydi. Kimse finansman işini tam çözemedi ama işte buradayız. Her zamankinden daha büyük ve ortadan kaybolmayacak. Bu, koda yakalanmış evrim”
  • Octoverse verileri bunu destekliyor: geliştiriciler 2025’te yaklaşık 1 milyar commit push etti (yıllık %25 artış)
    • 1,12 milyar commit genel ve açık kaynak depolara gönderildi
  • TypeScript deposu, 12 yıllık issue’lar, pull request’ler ve tasarım notlarıyla dilin evriminin yaşayan bir arşivi
    • “GitHub’da 12 yıllık tarih yakalanmış durumda. Hepsi aranabilir. grep yapılabilen bir evrim bu”

Yapay zeka çağında TypeScript neden gelişiyor?

  • Octoverse 2025’in en çarpıcı verilerinden biri: yapay zeka dil tercihlerini değiştiriyor
    • Geliştiriciler, yapay zeka destekli kodlamayı daha güvenilir ve bakımı daha kolay hale getiren tipli dillere yöneliyor
  • Anders şöyle açıklıyor: “Bir yapay zekanın bir dilde kod yazma yeteneği, o dili ne kadar çok gördüğüyle orantılıdır. Yapay zeka büyük bir yeniden üretim makinesidir ve biraz da dışa taşır. Yapay zeka JavaScript, Python ve TypeScript’i inanılmaz derecede çok gördüğü için bu dillerde iyi kod yazar. Yeni diller gerçekten dezavantajlıdır”
  • Veri aşinalığı ile TypeScript’in statik tip sistemi birleşince, dil yapay zeka öncelikli iş akışları için benzersiz derecede uygun hale geliyor
    • “Yapay zekaya 500 bin satır kodu çevirmesini söylerseniz halüsinasyon görebilirsiniz. Ama ondan bu çeviriyi deterministik şekilde yapacak bir program üretmesini isterseniz güvenilir sonuç alırsınız. Tiplerin çözmek için yaratıldığı sorun tam da bu”
    Reklam
  • Ana mesaj: İnsanların ve makinelerin birlikte kod yazdığı bir dünyada tipler bürokrasi değil, doğruluk denetleyicisidir

IDE’den ajana

  • Büyük dil modellerinin yükselişi, “geliştirici aracı” kavramının anlamını değiştiriyor
    • IDE’ler yalnızca geliştiriciler için değil, ajanlar için de bir ortama dönüşüyor
  • “Yapay zeka önce bir yardımcı olarak başladı. Artık işleri o yapıyor ve siz denetliyorsunuz. Yapay zekanın bizim gibi bir IDE’ye ihtiyacı yok. Onun servislere ihtiyacı var. Bu yüzden Model Context Protocol çalışması ilginç”
  • Octoverse raporu bu dönüşümü “Yapay zeka yalnızca kodu değil, seçimleri de yeniden şekillendiriyor” diye tanımlıyor
  • TypeScript gibi tipli diller, ajanların güvenli biçimde refaktör yapması, anlamsal sorgulara yanıt vermesi ve kod tabanı üzerinde deterministik şekilde akıl yürütmesi için gereken yapıyı sağlıyor
  • “Amaç, yapay zeka iş akışlarını yeterli determinizm içinde kutulamak; böylece raydan çıkmadan faydalı kalmalarını sağlamak”

Evrilmeye devam eden bir dil

  • Turbo Pascal’dan C#’a ve şimdi TypeScript’e uzanan Anders’in çalışmaları onlarca yıla yayılıyor
    • Etkileyici olan şey tutarlılık: karmaşık yazılımlar üzerinde akıl yürütmeyi kolaylaştıran diller inşa etmek
  • “Fark yaratan bir şey üzerinde çalışmaktan daha tatmin edici bir şey yok. TypeScript değişmeye devam ediyor ama hep aynı noktaya dönüyor: geliştiricilerin niyetlerini açıkça ifade etmelerine yardımcı olmak
  • Bu açıklık, 2025’te her saniye bir yeni geliştiricinin GitHub’a katılmasını ve bunların giderek daha büyük bir kısmının TypeScript ile başlamasını açıklıyor olabilir
  • TypeScript’in hikayesi yalnızca dil tasarımıyla ilgili değil, evrimle ilgili
    • JavaScript’in ölçeklenebilirliği için pratik bir çözüm olarak başlayan proje, geliştiricilerin ve artık yapay zekanın birlikte kod yazma biçiminin temellerinden biri haline geldi

1 yorum

 
vb6ko 2025-11-11

Elbette yapay zekanın bir dili çok görmüş olması ve bu yüzden o dilde iyi olması da önemli bir unsur.
Bunun da ötesinde, bence ts içindeki inline type gibi şeyler güzel.
Yapay zekanın doğası gereği, kodlama tarafında attention’ın nasıl öğrenildiğini bilmiyorum ama
muhtemelen yakında duran tipleri daha iyi koruyordur, öyle değil mi?
Aksi halde içeride bir araç kullanıp type definition’ları okuyarak context’e (prompt’a) bir kez daha eklemek gerekirdi.
Bu açıdan iyi olabileceğini düşünüyorum.