İçeriğe atla

C tabanlı programlama dilleri listesi

Bu makaledeki diller, C programlama diliyle ilgili veya ondan türetilmiş dillerdir. Kabaca C ailesi dilleri, bir bloğun sınırlarını belirtmek için küme parantezi kullanan C benzeri sözdizimi olan dillerdir. C ailesi, jenerik, işlevsel ve nesnel tabanlı programlama gibi değişik programlama paradigmaları içerir. Ayrıca hem makine dili, hem de sanal makine çalıştırma ortamı (İng. runtime environment) bulunmaktadır.

Kabaca kronolojik sırayla her dilin bâzı temellerini sıralayan listesi aşağıdadır.

DilOluşum târihiOluşturulduğu kurumYorumlar
Alef1995Phil Winterbottom (Bell Labs)Sistem programlama için Bell Laboratuvarları işletim sistemi Plan 9'dan geliştirilmiş olan bu dil, 1995'te yayınlanmış, fakat sonuçta bırakılmıştır. Paralel programlama için hatırı sayılır destek vermektedir.
C shell/tcsh1970'lerin sonuBill Joy (UC Berkeley)Komut dizisi dili ve standart Unix shell.
C1969-1973Dennis Ritchie (Bell Labs)Ken Thompson'un B dili'nin geliştirilmişidir.
C#1999Anders Hejlsberg (Microsoft)"Cool" adı altında yazılan bu dil, sözdizimi açısından Smalltalk'a benzer birleştirilmiş bir tip sistemi (İng. unified type system) olmasına rağmen Java'ya çok benzer.
C++1979Bjarne Stroustrup (Bell Labs)"C with Classes" (sınıflı C) olarak adlandırılan ve 1983'te C++ yeniden adlandırıldı. Simula 67 benzeri şekilde sâbit nesneye yönelimin yeniden gerçekleştirmesiyle başladı, standardizasyon ve yaygın kullanım sâyesinde generik programlamayla berâber nesnel tabanlı kökleri içerir oldu.
D?Walter Bright (Digital Mars)C++'a dayanan bu dilin C uyumlu bir sözdizimi olmayıp Java ve C-sharp gibi başka C benzeri dillere benzer tarafları vardır.
ECMAscript1995Brendan Eich (Netscape)Mocha ve LiveScript olarak oluşturulan bu dil, 1995'te duyuruldu ve bir yıl sonra JavaScript sevkedildi. Öncelikle Web sahifesi geliştirmesinde ve Adobe Flash ile QtScript çevrelerinde kullanılan bir komut dilidir. C ve Java sözdizimine dayanmasına rağmen birinci derecede Self ve Scheme'e dayanan bir işlevsel programlama dilidir.
Go2007Rob Pike, Ken Thompson ve Rob Griesemer (Google)2009'da halka sunuldu. Hızlı tercümeleri olan paralel bir programlama dili olan bu dil, Java benzeri sözdizimi olan, fakat nesnel tabanlı özellikleri bulunmayan ve güçlü yazılmıştır.
Java1991James Gosling (Sun Microsystems)Önce Oak olarak adlandırılan dil, 1995'te halka sunuldu. Nesnel tabanlı dinamik dil tabanlı olup çokça Objective-C tarafından esinlenilerek yazılmış olan bu dil, sözdizimi açısından biraz C++'a benzemektedir. Ayrıca dil belirtimlerinin standart bir bölümü olarak kendi byte koduna tercüme edilir. Sanal makinece gerekli olduğundan güçlü yazılmış (İng. strongly typed) olma özelliğine sâhiptir.
Limbo?Alef'in yerine geçen Limbo, Alef'in Plan9'da kullanıldığı gibi İnferno'da kullanılmaktadır.
LSL2003?Second Life sanal dünyası için Linden Lab tarafından yazılmıştır.
NQC (Pek C Sayılmaz)~1998David BaumLego Mindstorms RCX 1.x platformu gömülü sistemlerinde kullanılın bir programlama dili olup yavaşçaLabVIEW'e dayanan ROBOLAB IDE'nin yerine geçmek için hazırlandı. Daha sonra Mindstorms NXT platformu için daha gelişmiş bir sürüm olan NXC (tam tamına C değil) ile değiştirildi.
Objective-C1986Brad Cox ve Tom LoveNesnel tabanlı dinamik bir dil olup ağırlıklı olarak Smalltalk'a dayanır. Asıl geliştiricileri tarafından gevşekçe tanımlanmış bilfiil standart kütüphâne olarak yazılmış olan bu dilin yerine bugün genelde OpenStep FoundationKit'in varyasyonları geçmiştir.
Perl1988Larry WallSistem yönetimi, metin işleme ve Web sunucu görevleri için yaygın olarak kullanılan komut dili.
PHP1995Rasmus LerdorfSunucu tarafında yaygın olarak kullanılan bir HTML Komut dili olarak kullanılır. Perl benzeri sözdizimi vardır.
Ratfor1974Brian Kernighan (Bell Labs)C ve Fortran'ın melezi olup C derleyicilere kolay erişemeyen çevreler için ön-işlemci olarak yazılmıştır.
Rust2006Graydon HoareRust paralel-aktör (İng. concurrent-actor) stiline ağırlık verir.
SAC1994(Almanya)Geliştirmesi Almanya, BK ve Kanada'daki birkaç kuruma yayılmış olup C sözdizimi olan işlevsel bir dilidir.
Vala2006Jürg Billeter, Raffaele SandriniVala, GNOME geliştiricilerini desteklemek için C'ye nesneler ekler.
JavaScript1995Brendan EichJavaScript, yaygın olarak web tarayıcılarında kullanılmakta olan dinamik bir programlama dilidir.

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Programlama dili</span>

Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

<span class="mw-page-title-main">GNU Compiler Collection</span>

GNU Compiler Collection, GNU Projesi tarafından üretilen ve çeşitli programlama dillerini destekleyen bir derleyici sistemidir. GCC, GNU araç zincirinin önemli bir parçasıdır. Henüz tamamlanmamış GNU işletim sisteminin resmî derleyicisi olmanın yanı sıra, diğer birçok modern Unix benzeri işletim sistemleri tarafından standart derleyici olarak benimsenmiştir. GCC, çok çeşitli işlemci mimarilerine taşınmış; ticari, perakende ve kapalı kaynak yazılım geliştirme ortamlarında yaygın bir araç olarak konuşlanmıştır. Windows'ta GCC kodlarını derlemek ve çalıştırmak için Cygwin, MinGW ve Tiny C Derleyici (TCC) gibi derleyiciler kullanılabilir.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

Fortran, özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama dilidir.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

<span class="mw-page-title-main">ALGOL</span> programlama dil ailesi

ALGOL(; adı ALGOrithmic Language'in kısaltmasından gelmektedir), ilk olarak 1958 yılında geliştirilen bir zorunlu bilgisayar programlama dili ailesidir. ALGOL diğer birçok dili büyük ölçüde etkilemiş ve Association for Computing Machinery (ACM) tarafından otuz yıldan uzun bir süre ders kitaplarında ve akademik kaynaklarda kullanılan algoritma tanımlaması için standart yöntem olmuştur.

Kaynak kodu, yazılımı oluşturan yazıdır. Kaynak kod, herhangi bir yazılımın işlenip makine diline çevrilmeden önce insanların okuyup üzerinde çalışabildiği programlama diliyle yazılmış halidir. Kaynak kod bir tümleşik geliştirme ortamında açılabilir, derlenebilir, çalışabilir kaynak kod dosyalarının tümü birleştirilip, hedef bilgisayarlarda kullanılabilir hale getirilebilir.

Objective-C, C'nin üzerine yazılmış, yansımalı, nesne yönelimli bir programlama dilidir. ObjC, Objective C ve Obj-C olarak da anılır.

<span class="mw-page-title-main">Makine dili</span>

Makine dili, mikroişlemci ya da mikrodenetleyici gibi komut işleme yeteneğine sahip entegrelerin işleyebilecekleri, yapısına göre değişebilen ama genellikle her biri 8 adet 0-1'den (bit) ibaret komutlardan oluşan dile verilen addır. Her bir komutun mnemonic olarak adlandırılan bir tanımı ve işlem kodu olarak adlandırılan bir sayı karşılığı vardır. Mnemonic'ler, op kodun ne işe yaradığını hatırda tutmaya yarar. Örneğin Z-80 mikroişlemcisinde bir alt yordamı çağırmak için kullanılan komutun mnemonic'i Call NNdir ve program yazarken Call NN mnemonic'inin işlem kodu olan "205" sayısı programa konur. Yani bir makine dili program 205 14 45 195 22 15 gibi ardışık sayılardan, daha doğrusu bu sayıların binary karşılığı olan 0 ve 1'lerden oluşur.

<span class="mw-page-title-main">Nesne yönelimli programlama</span> nesne kavramına dayalı programlama paradigması

Nesne yönelimli programlama veya kısaca NYP, Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

Yorumlanan programlama dili bilgisayar programlamada yazılan programların çalışabilmeleri için kaynak kodlarının bir yorumlayıcı tarafından yorumlanması gerektiğini ifade etmektedir. "Interpreted programming language" olarak da geçmektedir.

<span class="mw-page-title-main">Programlama</span> bilgisayar probleminin orijinal formülasyonundan çalıştırılabilir bilgisayar programlarına yönlendiren süreç

Programlama ya da diğer adı ile yazılımlama, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanımla programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir.

Yorumlayıcı, yazılımı kısım kısım ele alarak doğrudan çalıştırır. Yorumlayıcılar standart bir çalıştırılabilir kod üretmezler. Yorumlama işlemi aşama aşama yapılmadığı için genellikle ilk hatanın bulunduğu yerde programın çalışması kesilir.

Betik dili, betik yorumlamak için yazılmış özel çalışma-zamanı sistemlerinin yorumlayabileceği programlama dilleridir. Diğer programlama dilleri ile yazılan kodlar makine koduna çevrilip çıkan program doğrudan çalıştırılırken betik kodları interpreter tarafından doğrudan okunur ve yorumlanarak işlemler yorumlayıcının kendisi tarafından yapılır.

Yazılım tasarımı, bir sorunun yazılım çözümü için, sorun giderme ve planlama aşamasıdır. Yazılımın özellikleri kararlaştırıldıktan sonra yazılım geliştiricileri sorun için bir çözüm geliştirir. Bu aşama mimarisel görünüm kadar, alt düzey algoritma gerçeklemeyi de içerir. Yazılım tasarımı için programlamanın ilk aşaması da diyebiliriz. Programlama işlemine başlamadan önce mutlaka ön çalışma yapmak ve programın nasıl işleyeceğini ortaya koymak gerekir. Programlama makine dili veya yüksek seviyeli bir programlama dili kullanılarak yapılır.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

Vala, C kodu üreten ve GObject sistemini kullanan nesne yönelimli bir programlama dilidir.