Bilgisayar programlama dillerinin sayısının fazla olduğu yaygın olarak bilinmektedir. Ancak, pek çok kişi neden bu kadar çok dil bulunduğunu tam olarak anlamakta zorlanır. Sonuçta, kodlama zaten yeterince karmaşık bir süreçtir. Öyleyse, tüm geliştiriciler neden aynı dili kullanmıyor?

Herkes için tek bir bilgisayar programlama dili
Evrensel olarak kullanılacak bir programlama dili geliştirme girişimleri geçmişte yapılmıştır. 1964 yılında IBM tarafından tasarlanan PL/I dili, bir devam sürümüne (örneğin PL/II) asla ihtiyaç duyulmayacak şekilde geliştirildi. O dönemde programlama delikli kartlar kullanılarak yapıldığından, tek ve kapsamlı bir programlama dili geliştirmek yazılım geliştirme sürecini büyük ölçüde basitleştirebilirdi.
PL/I spesifikasyonu üzerinde çalışmalar 1964 yılında başladı ve ilk derleyici 1966’da geliştirilmeye başlandı. Teorik olarak, PL/I dili üç farklı programlama dilinin gücünü birleştirecekti:

- FORTRAN – 1954 yılında geliştirilen bilimsel hesaplamalar için kullanılan dil
- COBOL – 1959’da iş dünyasına yönelik geliştirilen programlama dili
- ALGOL – 1958’de araştırma amaçlı geliştirilen ve yenilikçi paradigmalara sahip olan dil
O dönemde programlama dillerinin isimleri, genellikle hangi alanda kullanıldıklarını doğrudan yansıtıyordu. FORTRAN (Formula Translator), COBOL (Common Business Oriented Language) ve ALGOL (Algorithmic Language) gibi diller, kullanım amaçlarını açıkça belirtiyordu.
Evrensel Programlama Dili İle İlgili Sorun Nedir?
Bu fikir, başlangıçta mantıklı görünüyordu. Üç programlama dilini bir araya getirerek güçlü ve kapsamlı tek bir dil oluşturmak, ilk bakışta çok büyük bir zorluk gibi görünmüyordu. Ancak, bu birleşimi gerçekleştirmek tahmin edilenden çok daha karmaşık bir sürece dönüştü.
Bu teorik yaklaşım, PL/I dilinin oluşturulmasının yalnızca bir geliştirme çabası değil, aynı zamanda büyük ölçekli bir sistem dönüşümü gerektireceğini göz ardı ediyordu. Yeni bir programlama dili oluşturmak, yalnızca geliştiricilerin yeni bir dili öğrenmesini gerektirmekle kalmayacak, aynı zamanda onların FORTRAN, COBOL ve ALGOL dillerini bırakmasını da zorunlu hale getirecekti. Bu da, mevcut kod tabanlarının ve çözümlerin PL/I diline dönüştürülmesini gerektiriyordu.
Bu nedenle, PL/I’nin evrensel bir dil olarak benimsenmesi beklenildiği gibi gerçekleşmedi. IBM, dili yaygınlaştırmak için çaba gösterse de, geliştiriciler alıştıkları dilleri terk etmekte isteksizdi. FORTRAN, COBOL ve ALGOL gibi dillerin hâlihazırda geniş kullanıcı toplulukları vardı ve bu topluluklar, mevcut sistemlerini koruyarak kendi dillerini iyileştirme yolunu seçti.
Programlama dili sayısının çok olmasının nedeni
Yazılım geliştirme sürecinde verimli bir geliştirici olmanın yanı sıra, bir dili yaratıcı biçimde kullanmak da önemlidir. Eğer bir programlama dilinde sınırları zorlayacak özel durumlar varsa, geliştiriciler bunları tespit edip çözüm yolları arayacaktır.
Bir dilin sınırlarını zorlamak, genellikle dilin tasarımcılarının öngöremediği kullanım alanlarını ortaya çıkarır. Bu da, zamanla yeni programlama dillerinin doğmasına yol açar. Bu nedenle, teknoloji nasıl sürekli evrim geçiriyorsa, onu çalıştıran programlama dilleri de aynı şekilde değişir ve gelişir.
Geliştirmek İstediğiniz | Öğrenmeniz Gereken | Gerek olmayan |
Çevrimiçi (web) uygulamalar | HTML, CSS, JavaScript, PHP, ve SQL | Ruby, ASP, Perl, ColdFusion |
Oyun | C, C++, Python, ve DarkBASIC | Ada, Java, Fortran, COBOL |
İş uygulamaları | C, C++, Java, Python ve SQL | Fortran, COBOL |
Bilim ve Mühendislik uygulamaları | Fortran, Pascal, Ada, C++, ve C | BASIC, COBOL, Java |
Askeri, Havacılık, Ulaşım ve Haberleşme uygulamalar | Ada, Python, C, C++ ve SQL | COBOL |
Eğitim Uygulamaları | BASIC, Python, Pascal, Java, C, C++ | Fortran, COBOL |
FORTRAN, John Backus tarafından geliştirilen ve günümüzde hâlâ kullanılan en eski programlama dilidir. Aslında, ilk programlama dili 1843 yılında Ada Lovelace tarafından bir kâğıda yazılmıştır. Bu, modern programlama kavramlarının temelini atan önemli bir adımdı. Ancak, günümüzde yaygın olarak kullanılan programlama dillerinin gelişimi için daha fazla zamana ihtiyaç vardı. FORTRAN, bu sürecin ilk büyük adımlarından biri olarak bilimsel ve mühendislik hesaplamaları için etkili bir araç sundu.
Programlama dillerinden bazı önemli örnekler
Başlangıçta belirli bir amaca hizmet etmek için tasarlanan bazı diller, sundukları esneklik ve yaygın benimsenmeleri sayesinde farklı alanlarda da kullanılmaya başlanmıştır.
- C – 1972 yılında Dennis Ritchie ve Bell Labs, eski dillerin sorunlarını aşmak için C dilini geliştirdi. İlk olarak Unix işletim sistemini çalıştırmak amacıyla kullanıldı. Günümüzde ise neredeyse tüm yazılım ve donanımlarda çalışıyor.
- C++ – 1985 yılında Bjarne Stroustrup, C programlama dilinin özelliklerini geliştirmek ve her alanda kolayca kullanılabilen bir dil oluşturmak amacıyla C++’ı geliştirdi.
- PHP – 1994 yılında Rasmus Lerdorf, kişisel bir projesi için PHP’yi yazdı. Daha sonra dili geliştirerek kamuya açık hale getirdi ve web geliştiricileri PHP’yi yaygın şekilde kullanmaya başladı.
- Go – 2009 yılında Google, kullandığı dillerin belirli görevler için yavaş ve kullanışsız olduğunu fark ederek Go dilini oluşturdu. Daha hızlı performans sunan ve okunması nispeten kolay bir dil geliştirmek istedi.
- JavaScript – 1995 yılında Netscape, web geliştiricilerinin ve tasarımcıların hızlıca etkileşimli özellikler oluşturmasını sağlamak için JavaScript’i geliştirdi. Başlangıçta sadece ön yüz geliştirme için tasarlanan dil, günümüzde hem ön yüz hem de arka yüz geliştirme, hatta mobil uygulamalar için kullanılıyor.yor.
JavaScript ve PHP’nin yanı sıra, Python ve Perl gibi diller de C dilinden türedi. Apple, 2014 yılında Swift’i geliştirerek C, C++ dillerinin yerini almasını hedefledi. Kullanım kolaylığı ile Swift, masaüstü, mobil ve bulut tabanlı uygulamalarda geniş bir kullanım alanı buldu.
Rust’un ortaya çıkışı oldukça ilginç bir kişisel deneyime dayanıyor. 2006 yılında, Graydon Hoare Mozilla’da çalışırken 29 yaşında genç bir programcıydı. Yaşadığı apartmanın 21. katındaki asansör sürekli arızalanıyordu. Bir programcı olarak sorunun nedenini hemen fark etti.
Asansörlerde kullanılan yazılımlar genellikle C++ veya C dilleriyle yazılmıştır ve bu diller, hızlı kod yazma imkânı sunar. Ancak, aynı zamanda bellek yönetimiyle ilgili hataların kolayca ortaya çıkmasına neden olma riski taşır. Bu sorunu çözmek isteyen Hoare, yeni bir programlama dili yazmaya karar verdi. 2023 yılına gelindiğinde, Rust’ı dünya çapında 2.3 milyon programcı kullanıyordu.
Sonuç olarak,
Neden bu kadar çok programlama dili olduğunu sormak, bir tamircinin neden geniş bir alet çantasına ihtiyaç duyduğunu sormaya benzer. Kodlama yapan kişiler, amaçlarına bağlı olarak farklı araçlara ihtiyaç duyar.
Bir İsviçre çakısındaki tirbuşon, basit bir işlevi yerine getirir. Ancak, ergonomik ve özel olarak tasarlanmış bir tirbuşon varken onu kullanmayı tercih etmez miydiniz? Programlama dilleri de aynı mantıkla geliştirilir. Her biri belirli ihtiyaçlara ve koşullara göre tasarlanmış araçlardır. Bazıları genel amaçlı ve esnekken, bazıları belirli bir alan için optimize edilmiştir. Bu yüzden yazılım dünyasında tek bir “mükemmel” dil yerine, farklı problemlere uygun birçok dil vardır.
Kaynaklar ve ileri okumalar:
- Zuckarelli, Joachim. (2024). Why Are There So Many Programming Languages?. 10.1007/978-3-658-42912-6_4.
- Why Are There So Many Programming Languages? Yayınlanma tarihi: 8 Temmuz 2022; Bağlantı: https://www.scienceabc.com
- Why there’s no universal programming language. Yayınlanma tarihi: 11 Temmuz 2023. Bağlantı: Why there’s no universal programming language
Matematiksel
15 yıllık tecrübeme ve swift hariç yukarıda saydığınız dillerin tümünde çalışmış biri olarak diyorum ki, kesinlikle c#
Katılıyorum