"Paul Graham'ın 2002’de yazdığı bu makale, programlama dillerinin her birinin hangi sorunu çözdüğünü merak edenler için bir rehber niteliğinde. Farklı programlama dillerinin hangi ihtiyaçları gidermek veya hangi sorunları çözmek üzere oluşturulduğunu anlatan Graham, bu dillerin birbirlerine karşı avantajlarını ve eksikliklerini de gözler önüne seriyor. Bu yazı, programlama dilleri arasındaki ilişkiyi daha iyi anlamak isteyenler için oldukça aydınlatıcı.
---
# Programlama Dillerinin Çözdüğü Sorunlar Üzerine Bir İnceleme (What Languages Fix)
Şubat 2002
Kevin Kelleher, programlama dillerini karşılaştırmanın çok ilginç bir yolunu bulmuş: Her birini 'hangi problemi çözdüğü' üzerinden tanımlamak. Aslında şaşırtıcı olan, kaç tane programlama dilinin bu şekilde ve ne kadar iyi bir şekilde tanımlanabildiği. Hadi gelin bir bakalım:
**Algol**: Montaj dili çok alt seviyede, anlamak zor.
**Pascal**: Algol'deki veri tipleri yeterli değil, daha fazlasına ihtiyaç var.
**Modula**: Pascal, sistem yazılımları için biraz zayıf kalıyor.
**Simula**: Algol, simülasyonlarda pek başarılı sayılmaz.
**Smalltalk**: Simula'da her şey bir obje değil.
**Fortran**: Montaj dili çok alt seviyede, anlamak zor.
**Cobol**: Fortran biraz korkutucu.
**PL/1**: Fortran'da yeterince veri tipi yok.
**Ada**: Var olan tüm diller bir yerlerde hata yapıyor.
**Basic**: Fortran biraz korkutucu.
**APL**: Fortran, diziler üzerinde çok iyi çalışmıyor.
**J**: APL'nin kendine has bir karakter seti var.
**C**: Montaj dili çok alt seviyede, anlamak zor.
**C++**: C de biraz alt seviyede.
**Java**: C++ biraz karışık. Ve Microsoft bizi ezip geçecek.
**C**: Java, Sun tarafından kontrol ediliyor.
**Lisp**: Turing Makineleri, hesaplamaları açıklamak için garip bir yol.
**Scheme**: MacLisp biraz karışık.
**T**: Scheme'de hiç kütüphane yok.
**Common Lisp**: Lisp lehçeleri çok fazla.
**Dylan**: Scheme'de hiç kütüphane yok ve Lisp'in söz dizimi biraz korkutucu.
**Perl**: Shell scriptleri/awk/sed, programlama dillerine benzemiyor.
**Python**: Perl biraz karışık.
**Ruby**: Perl biraz karışık ve Lisp'in söz dizimi biraz korkutucu.
**Prolog**: Programlamanın mantığa yetişmesi zor.""""
---
İlişkili Konseptler: programlama dillerinin karşılaştırılması, programlama dilleri tarafından çözülen problemler, programlama dillerinin evrimi, Algol, Pascal, Modula, Simula, Smalltalk, Fortran, Cobol, PL/1, Ada, Basic, APL, J, C, C++, Java, Lisp, Scheme, T, Common Lisp, Dylan, Perl, Python, Ruby, Prolog, programlama dilinin düzeltmeleri."