Ana içeriğe geç

Kitap 14 · Özet sayfa

Programlama Dilleri

Geliştiricilerin yazdığı diller, her birinin neyle bilindiği ve en çok nerede karşınıza çıktığı.

01Assembly Dili
Assembly dili, komutları bir işlemcinin makine koduna neredeyse bire bir karşılık gelen ve mov, add gibi kısa anımsatıcılarla yazılan düşük seviyeli bir dildir.
  • Her assembly komutu genellikle tek bir makine komutuna karşılık gelir.
  • x86-64, ARM64 veya RISC-V gibi her CPU mimarisinin kendi assembly dili vardır.
  • Assembler, assembly metnini ikili makine koduna dönüştürür.
02BashBourne Again Shell
Bash, çoğu Linux sisteminde varsayılan Unix kabuğu ve betik dilidir; komutları etkileşimli yazmak ve görevleri betiklerle otomatikleştirmek için kullanılır.
  • Bash, 1989'da yayımlanan bir Unix kabuğu ve betik dilidir.
  • Çoğu Linux sisteminde varsayılan komut satırıdır.
  • Pipe'lar, değişkenler, döngüler ve fonksiyonlar programları birbirine yapıştırır.
03C
C, belleğe doğrudan erişim sağlayan, derlenen ve düşük seviyeli bir programlama dilidir; işletim sistemlerinde, sürücülerde ve gömülü yazılımlarda kullanılır.
  • C doğrudan makine koduna derlenir; bu da onu hızlı ve öngörülebilir kılar.
  • Bellek, malloc ve free gibi fonksiyonlarla elle yönetilir.
  • Sınıfları, istisnaları ve çöp toplayıcısı yoktur.
04C#
C#, çöp toplamalı .NET çalışma ortamında çalışan, statik tipli, nesne yönelimli bir dildir; web arka uçları, masaüstü uygulamalar ve oyunlar için kullanılır.
  • C# statik tiplidir ve nesne yönelimlidir; birçok fonksiyonel özelliğe de sahiptir.
  • Kod, .NET çalışma ortamının makine koduna çevirdiği Ara Dile (IL) derlenir.
  • Bellek bir çöp toplayıcı tarafından yönetilir.
05C++
C++, C'yi sınıflar ve şablonlarla genişleten; bellek ve performans üzerinde düşük seviyeli kontrolü koruyan, derlenen ve statik tipli bir dildir.
  • C++ yerel makine koduna derlenir ve performans üzerinde ince ayarlı kontrol sunar.
  • Yordamsal, nesne yönelimli ve genel programlama stillerini destekler.
  • Bellek, çöp toplayıcı yerine kapsam tabanlı RAII ve akıllı işaretçilerle yönetilir.
06Clojure
Clojure, JVM'de çalışan modern ve dinamik bir Lisp lehçesidir; değiştirilemez veriyi, fonksiyonel programlamayı ve REPL tabanlı geliştirmeyi öne çıkarır.
  • Clojure, JVM üzerinde çalışan ve Java kütüphanelerini kullanabilen bir Lisp lehçesidir.
  • Çekirdek veri yapıları değiştirilemez ve kalıcıdır.
  • Kod veri olarak yazıldığı için makrolar dili genişletebilir.
07COBOLOrtak İşletme Odaklı Dil
COBOL (Common Business-Oriented Language), iş verisi işlemek için 1959'da tasarlanmış bir dildir; hâlâ kritik bankacılık ve kamu sistemlerini çalıştırır.
  • COBOL, 1959'dan kalma bir iş programlama dilidir.
  • İngilizceye benzeyen sözdizimi, programcı olmayanların okuyabilmesi için tasarlandı.
  • Programların identification, environment, data ve procedure bölümleri vardır.
08Dart
Dart, Google'ın yerel koda ve JavaScript'e derlenen, statik tipli ve çöp toplamalı dilidir; en çok Flutter uygulamalarının dili olarak bilinir.
  • Dart, sağlam null güvenliğine sahip, nesne yönelimli ve statik tipli bir dildir.
  • Yerel koda önceden derlenir; web için JavaScript veya WebAssembly'ye derlenir.
  • Geliştirme sırasındaki JIT derleme, hızlı hot reload sağlar.
09Elixir
Elixir, Erlang sanal makinesinde çalışan, hataya dayanıklı ve yüksek eşzamanlılıklı sistemler kurmasıyla bilinen, dinamik ve fonksiyonel bir dildir.
  • Elixir, Erlang sanal makinesi BEAM üzerinde çalışır ve Erlang koduyla birlikte çalışabilir.
  • Hafif süreçler ve mesajlaşma, devasa eşzamanlılığı pratik hale getirir.
  • Denetçiler başarısız olan süreçleri yeniden başlatır; bu da sistemlerin kendiliğinden toparlanmasına yardımcı olur.
10Erlang
Erlang, Ericsson'da telekom santralleri için geliştirilen fonksiyonel bir dildir; devasa eşzamanlılık, hata toleransı ve kesintisiz çalışma için tasarlandı.
  • Erlang, kesintisiz çalışması gereken telekom sistemleri için Ericsson'da geliştirildi.
  • Hafif süreçler mesajlaşarak haberleşir ve bellek paylaşmaz.
  • OTP denetçileri, "çökmesine izin ver" felsefesini izleyerek başarısız süreçleri yeniden başlatır.
11F#
F#, .NET için fonksiyonel öncelikli, statik tipli bir dildir; tip çıkarımlı özlü kodu, .NET ekosistemine ve C# kütüphanelerine tam erişimle birleştirir.
  • F#, .NET üzerinde çalışan, fonksiyonel öncelikli ve statik tipli bir dildir.
  • Güçlü tip çıkarımı sayesinde kodun çoğu tip açıklaması gerektirmez.
  • Ayırt edici birleşimler ve örüntü eşleme, veriyi net ve güvenli biçimde modeller.
12FortranFormula Translation
Fortran, 1957'de IBM'de bilim ve mühendislik hesapları için geliştirilen ilk yaygın yüksek seviyeli dildir; yüksek performanslı hesaplamada hâlâ kullanılır.
  • Fortran, bilimsel hesaplama için 1957'de IBM'de geliştirildi.
  • İlk yaygın yüksek seviyeli dildi.
  • Modern standartlar modüller, dizi işlemleri, OOP ve paralellik ekler.
13Go
Go, sadelik ve hızlı derleme için tasarlanmış; çöp toplama ve goroutine'lerle yerleşik eşzamanlılık sunan, derlenen ve statik tipli bir dildir.
  • Go, kurulması gereken ayrı bir çalışma ortamı olmadan tek bir yerel çalıştırılabilir dosyaya derlenir.
  • Statik tiplidir ve çöp toplamalıdır; özellik kümesi bilinçli olarak küçüktür.
  • Goroutine'ler ve kanallar eşzamanlı programları yazmayı kolaylaştırır.
14Haskell
Haskell, tembel değerlendirme kullanan, saf fonksiyonel ve statik tipli bir dildir; anlatımı güçlü tip sistemi ve matematiksel kesinlikteki koduyla bilinir.
  • Haskell saf fonksiyoneldir: yan etkiler, IO gibi tipler aracılığıyla tip sisteminde izlenir.
  • Tembel değerlendirme kullanır; değerleri yalnızca gerektiğinde hesaplar.
  • Statik tip sistemi çoğu tipi çıkarır ve paylaşılan davranış için tip sınıfları kullanır.
15Java
Java, Java Sanal Makinesi için bayt koda derlenen, statik tipli ve nesne yönelimli bir programlama dilidir; programlar birçok platformda çalışabilir.
  • Java, JavaScript ile ilişkili değildir; benzer ad tarihsel bir pazarlama kararıdır.
  • Kod, Java Sanal Makinesi (JVM) üzerinde çalışan bayt koda derlenir.
  • Statik tiplidir ve güçlü biçimde nesne yönelimlidir.
16Julia
Julia, bilimsel ve sayısal hesaplama için yüksek seviyeli, dinamik tipli bir dildir; Python kadar kolay yazılıp C kadar hızlı çalışmayı hedefler.
  • Julia, bilimsel ve sayısal hesaplama için hızlı ve dinamik bir dildir.
  • 2012'de duyuruldu ve 2018'de 1.0 sürümüne ulaştı.
  • LLVM üzerinden JIT derleme, C'ye yakın hız sağlar.
17JVMJava Virtual Machine
JVM, Java bytecode'unu çalıştırır; böylece derlenmiş bir program her işletim sisteminde çalışır. Kotlin, Scala ve Clojure da bu bytecode'a derlenir.
  • JVM, Java bytecode'unu çalıştırır; derlenmiş bir program her işletim sisteminde çalışır.
  • Belleği bir garbage collector ile yönetir ve sık çalışan kodu bir JIT derleyiciyle hızlandırır.
  • Kotlin, Scala, Clojure ve Groovy de JVM bytecode'una derlenir.
18Kotlin
Kotlin, JVM üzerinde çalışan, Java ile sorunsuz uyum sağlayan, özlü ve statik tipli bir dildir; Android ve sunucu tarafı geliştirmede yaygın kullanılır.
  • Kotlin JVM bayt koduna derlenir ve Java ile tam uyumlu çalışır.
  • Tipler varsayılan olarak null olamaz; bu da null işaretçi hatalarını önlemeye yardımcı olur.
  • Güçlü tip çıkarımı ve özlü sözdizimiyle statik tiplidir.
19Lua
Lua, başka uygulamalara gömülmek üzere tasarlanmış küçük ve hızlı bir betik dilidir; oyun betikleri, eklentiler ve yapılandırma için popülerdir.
  • Lua, başka uygulamaların içine gömülmek üzere tasarlanmış minik bir betik dilidir.
  • Tablolar; diziler, eşlemeler ve nesneler için tek, esnek veri yapısıdır.
  • Lua'da diziler geleneksel olarak 1 numaralı dizinden başlar.
20MATLABMatrix Laboratory
MATLAB, MathWorks'ün matris tabanlı sayısal hesaplama dili ve ortamıdır; mühendisler ve bilim insanları tarafından veri analizi ve simülasyon için kullanılır.
  • MATLAB, sayısal ve matris tabanlı hesaplama için bir dil ve ortamdır.
  • 1970'lerin sonunda başladı; MathWorks onu 1984'ten beri satıyor.
  • Toolbox'lar ve Simulink, kontrol ve sinyal işleme gibi mühendislik alanlarına hizmet eder.
21Objective-C
Objective-C, Smalltalk tarzı mesajlaşma ekleyen nesne yönelimli bir C üst kümesidir ve Swift gelmeden önce macOS ile iOS uygulamalarının ana diliydi.
  • Objective-C, Smalltalk tarzı nesneler ve mesajlaşma ekleyen, C'nin katı bir üst kümesidir.
  • Metot çağrıları, köşeli parantezlerle yazılan ve çalışma zamanında yönlendirilen mesajlardır.
  • Swift'ten önce macOS ve iOS geliştirmenin ana diliydi.
22Perl
Perl, metin işleme ve yerleşik düzenli ifadeleriyle ünlü, olgun ve dinamik bir betik dilidir; uzun süre sistem yönetiminde ve web betiklerinde kullanıldı.
  • Perl, metin işleme için geliştirilmiş dinamik bir betik dilidir.
  • Düzenli ifadeler çekirdek sözdiziminin parçasıdır.
  • $, @ ve % gibi sigil'ler skaler değerleri, dizileri ve hash'leri işaretler.
23PHPPHP: Hypertext Preprocessor
PHP, web geliştirme için tasarlanmış, sunucuda çalışarak HTML sayfaları üreten ve tarayıcı isteklerini yanıtlayan, dinamik tipli bir betik dilidir.
  • PHP sunucuda çalışır ve tarayıcıya yalnızca HTML ya da JSON gibi çıktısını gönderir.
  • Dinamik tiplidir; isteğe bağlı tip bildirimleri ve katı tip modu sunar.
  • Bellek otomatik yönetilir ve her isteğin sonunda serbest bırakılır.
24PowerShell
PowerShell, Microsoft'un yönetimi otomatikleştirmeye yönelik komut satırı kabuğu ve betik dilidir; komutlar arasında düz metin yerine nesneler aktarır.
  • PowerShell, ilk olarak 2006'da yayımlanan Microsoft'un kabuğu ve betik dilidir.
  • PowerShell 7 açık kaynaktır ve Windows, macOS ve Linux'ta çalışır.
  • Cmdlet'ler Get-Process gibi Fiil-İsim adları kullanır.
25Programlama Dili
Programlama dili, bilgisayarın yerine getirebileceği talimatları yazmak için kesin kuralları olan biçimsel bir dildir; Python, JavaScript, Java ya da C gibi.
  • Bir programlama dilinin talimat yazmak için kesin kuralları (sözdizimi) ve anlamları (anlambilim) vardır.
  • Programlar derlenir, yorumlanır ya da bir sanal makine için bytecode'a derlenir.
  • Diller, donanıma yakın düşük seviyeden yüksek seviyeye kadar uzanır.
26Python
Python, okunaklı sözdizimiyle bilinen; veri bilimi, otomasyon ve web arka uçlarında yaygın kullanılan, genel amaçlı ve dinamik tipli bir programlama dilidir.
  • Python, kod bloklarını girintiyle tanımlar; bu da kodun görsel olarak tutarlı kalmasını sağlar.
  • Dinamik ama güçlü tiplidir ve isteğe bağlı tip ipuçlarını destekler.
  • Bellek, referans sayımı ve çöp toplama ile otomatik yönetilir.
27R
R, istatistik ve veri analizi için bir programlama dili ve ortamıdır; araştırmalarda veri görselleştirme, istatistiksel modeller ve raporlar için kullanılır.
  • R, özellikle istatistik, veri analizi ve grafikler için tasarlanmıştır.
  • İşlemler vektörleştirilmiştir; açık döngüler olmadan vektörlerin tamamına uygulanır.
  • Veri çerçeveleri, tablo verisi için temel yapısıdır.
28Ruby
Ruby, geliştirici mutluluğu için tasarlanmış, okunaklı sözdizimi ve Ruby on Rails web çatısıyla tanınan, dinamik ve nesne yönelimli bir dildir.
  • Ruby, okunabilirlik ve geliştirici mutluluğuna odaklanan dinamik, nesne yönelimli bir dildir.
  • Sayılar ve nil dahil Ruby'deki her şey bir nesnedir.
  • Bloklar ve üst programlama, özlü ve anlatımı güçlü kod yazmayı mümkün kılar.
29Rust
Rust, sahiplik kurallarını derleme zamanında denetleyerek çöp toplayıcı olmadan bellek güvenliği sağlayan, derlenen ve statik tipli bir sistem dilidir.
  • Rust, C ve C++ ile kıyaslanabilir performansla yerel makine koduna derlenir.
  • Sahiplik ve ödünç alma kuralları, çöp toplayıcı olmadan bellek güvenliği sağlar.
  • Derleyici güvenli kodda veri yarışlarını (data race) önler; bu da eşzamanlılığı daha güvenli kılar.
30Scala
Scala, nesne yönelimli ve fonksiyonel programlamayı birleştiren, statik tipli bir JVM dilidir; veri mühendisliğinde ve arka uç sistemlerinde yaygın kullanılır.
  • Scala JVM üzerinde çalışır ve Java kütüphanelerini doğrudan kullanabilir.
  • Nesne yönelimli ve fonksiyonel programlamayı tek dilde birleştirir.
  • Case sınıfları, trait'ler, örüntü eşleme ve değiştirilemez koleksiyonlar temel özelliklerdir.
31Swift
Swift, güvenlik ve hız için tasarlanmış, derlenen ve statik tipli bir dildir; çoğunlukla Apple platformları için uygulama geliştirmede kullanılır.
  • Swift, Apple platformlarında uygulama geliştirmenin ana dilidir.
  • Statik tiplidir ve isteğe bağlı tipleri (optional) sayesinde eksik değerler açıkça belirtilir.
  • Bellek, izleyici bir çöp toplayıcıyla değil, Otomatik Referans Sayımı (ARC) ile yönetilir.
32Visual Basic
Visual Basic, Microsoft'un yeni başlayanlara uygun dil ailesidir; klasik Visual Basic, VB.NET ve Office'i makrolarla otomatikleştiren VBA'yı kapsar.
  • Visual Basic, Microsoft'un yeni başlayanlara uygun diller ailesidir.
  • 1991'deki Visual Basic 1.0, görsel Windows uygulaması geliştirmeyi popüler yaptı.
  • 2002'den gelen VB.NET destekleniyor, ama artık yeni dil özellikleri almıyor.
33Zig
Zig, elle bellek yönetimi sunan ve gizli kontrol akışı içermeyen, C'nin daha basit ve güvenli bir halefi olmayı hedefleyen düşük seviyeli bir sistem dilidir.
  • Zig, C'ye modern ve daha basit bir alternatif olarak konumlanan bir sistem dilidir.
  • Bellek, fonksiyonlara aktarılan açık ayırıcılarla elle yönetilir.
  • comptime, makrolara güvenmek yerine Zig kodunu derleme zamanında çalıştırır.
Software Dictionary'den 33 terim. Ayrıntılı açıklamalar, örnekler ve sık sorulan sorular için: softwaredictionary.org/tr/kutuphane/languages

Kitaba dönİpucu: Bir kopyasını saklamak için yazdırma penceresinde “PDF olarak kaydet”i seçin.

Daha fazla

Ayarlar