C ailesi programlama dillerinin listesi - List of C-family programming languages

Başarısı nedeniyle C programlama dili ve türevlerinden bazıları, C ailesi programlama dilleri çok çeşitli programlama paradigmalarını, kavramsal modelleri ve çalışma zamanı ortamlarını kapsar.

DilYıl başladıOluşturan (at)YorumlarReferanslar
E1997Mark S. Miller, Dan Bornstein (Elektrik Toplulukları)İle tasarlandı güvenli bilgi işlem akılda tutularak, esas olarak nesne yönelimli hesaplama modeline sıkı sıkıya bağlı kalınarak gerçekleştirilir.
C1969-1973Dennis Ritchie (Bell Laboratuvarları )Bir geliştirmesiydi Ken Thompson 's B dili.
Ratfor1974Brian Kernighan (Bell Laboratuvarları)C melezi ve Fortran, C derleyicilerine kolay erişimi olmayan ortamlar için bir ön işlemci olarak uygulanmıştır.
C kabuğu /tcsh1978Bill Joy (Kaliforniya Üniversitesi, Berkeley )Komut dosyası dili ve standart Unix kabuğu.
C ++1979Bjarne Stroustrup (Bell Laboratuvarları )1983'te "C with Classes" olarak adlandırıldı ve C ++ olarak yeniden adlandırıldı; geleneğinde statik nesne oryantasyonunun yeniden uygulanması olarak başladı Simula 67, ve standardizasyon ve geniş kullanım sayesinde kapsayacak şekilde büyüdü genel programlama orijinal nesne yönelimli köklerinin yanı sıra.[1]
AMPL1985Robert Fourer, David Gay ve Brian Kernighan (Bell Laboratuvarları )O bir cebirsel modelleme dili bir komut dosyası dilinin öğeleriyle.
Amaç-C1986Brad Cox ve Tom LoveAğırlıklı olarak temel alan nesne yönelimli dinamik bir dildir. Smalltalk. Özgün geliştiriciler tarafından gevşek bir şekilde tanımlanmış fiili bir standart kitaplık, artık büyük ölçüde OpenStep FoundationKit.[1]
C *1987Düşünme Makinelerinesne odaklı, veri paralel üst kümesi ANSI C
Perl1988Larry DuvarıSistem yönetimi, metin işleme ve web sunucusu görevleri için yaygın olarak kullanılan komut dosyası dili.[kaynak belirtilmeli ]
Java1991James Gosling (Sun Microsystems )Oluşturma şekli Meşe, ve 1995'te halka yayınlandı. Bu, ağırlıklı olarak Objective-C'den esinlenen bir OODL tabanlı, ancak bir şekilde C ++ tabanlı bir sözdizimi ile. Aynı zamanda kendi kendi bayt kodu, dil belirtiminin standart bir parçası. VM tarafından zorunlu kılınan bir özellik olan güçlü bir şekilde yazılmıştır.[kaynak belirtilmeli ]
Argo1991John E. DavisGörüntü / ekran yönetimi, klavye girişi, tuş haritaları vb. Gibi etkileşimli uygulamaların gerektirdiği özellikleri sağlayan güçlü bir tercümana sahip bir kitaplık.[2]
SAC1994(Almanya)Kalkınma Almanya, Kanada ve Birleşik Krallık'taki çeşitli kurumlara yayıldı. C sözdizimi ile işlevsel dil.[3]
Alef1995Phil Winterbottom (Bell Laboratuvarları)Sistem programlama için oluşturuldu Bell Labs'tan Plan 9 işletim sistemi; 1995'te yayınlandı ancak sonunda terk edildi. İçin önemli bir dil desteği sağladı eşzamanlı programlama.[4]
Limbo1995Limbo, Alef'i başardı ve Cehennem Plan9'da Alef kullanıldığı gibi.
PHP1995Rasmus LerdorfSunucu tarafı HTML komut dosyası dili olarak yaygın şekilde kullanılır. C benzeri sözdizimi.
ECMAScript1995Brendan Eich (Netscape )Mocha ve LiveScript olarak oluşturulan, 1995'te duyurulan, gelecek yıl JavaScript. Öncelikle bir komut dosyası dili Web sayfası geliştirmede olduğu gibi çok sayıda uygulama ortamında da kullanılır. Adobe Flash programı ve QtScript. Başlangıçta temel alınsa da Şema ve Kendisi öncelikle bir prototip tabanlı nesne odaklı dayalı bir sözdizimine sahip dil Java[5][kaynak belirtilmeli ]
C--1997Simon Peyton Jones, Norman Ramseytemelde çok yüksek seviyeli diller için derleyiciler tarafından oluşturulur
C #1999Anders Hejlsberg (Microsoft )"Cool" adı altında oluşturulmuştur, sözdizimsel olarak Java'ya çok benzer, ancak Smalltalk benzeri birleşik tip sistem.
Ch2001Harry ChengKabuk programlama ve sayısal hesaplama için uzantılara sahip bir C / C ++ betik dili.[6][7]
D2001Walter Bright (Dijital Mars )C ++ tabanlı, ancak Java ve C # gibi diğer C benzeri dillerden özelliklere sahip uyumsuz bir sözdizimi ile.
eC2004Jérôme Jacovella-St-Louis (Ecere)Açık kaynaklı bir çapraz platform SDK olan Ecere SDK projesinin bir parçası olarak geliştirilen nesne yönelimli özellikler (C ++ 'dan esinlenerek), özellikler, dinamik modüller ve yansıma ekleyen süper bir C kümesi.
Siklon2001Greg Morrisett (AT&T Labs )C dilinin güvenli bir lehçesi olması amaçlanmıştır. Sistem programlama için bir araç olarak C'nin gücünü ve rahatlığını kaybetmeden, C programlarında endemik olan arabellek taşmalarını ve diğer güvenlik açıklarını önlemek için tasarlanmıştır.
LSL2003?İçin düzenlendi İkinci hayat yapan sanal dünya Linden Laboratuvarı.
Sincap2003Alberto DemichelisHafif bir betik dili
Git2007Rob Pike, Ken Thompson, ve Robert Griesemer (Google )2009'da kamuoyuna piyasaya sürülen, hızlı derlemeler, Java benzeri sözdizimi ile eşzamanlı bir dildir, ancak nesne yönelimli özellikler ve güçlü yazım.
OpenCL C2009elma, Khronos GrubuOpenCL, çeşitli hesaplama cihazlarında (ör.GPU'lar, DSP'ler) çalışacak programları yazmak için C programlama dilinin değiştirilmiş bir alt kümesini belirtir.
C02010Rob Arnold (CMU)İşaretli işaretçiler ve sınırlar denetimli dizilerle güvenli bir C alt kümesi. İçin oluşturuldu CMU giriş bilgisayar kursları.[8]
Swift2014Chris Lattner (elma )Swift, herhangi bir C kitaplığını içe aktarabilir, isteğe bağlı olarak C türlerini Swift nesnelerine eşlemek için C başlıklarına açıklama ekleyebilir[9] ve kitaplıkları Swift modülleri olarak içe aktarın.[10] Swift, Apple'ın Objective-C çalışma zamanını destekleyen platformlarda Objective-C ile iki yönlü köprü kurmaya sahiptir. Objective-C'nin aksine, Swift şu anda C ++ birlikte çalışmayı desteklemiyor veya Swift türlerini C yapıları olarak açığa çıkarmıyor.
AWK1977Alfred Aho, Peter Weinberger & Brian Kernighan (Bell Laboratuvarları )Metin işleme için tasarlanmıştır ve genellikle bir veri çıkarma ve raporlama aracı olarak kullanılır.
BitC2006Johns Hopkins ÜniversitesiResmi program doğrulamasını desteklemeyi amaçlar.
LPC1995Lars PensjöOrijinal olarak MUD üzerinde inşa etmeyi kolaylaştırmak için geliştirildi LPMuds. Oyun geliştirme için tasarlanmış olmasına rağmen, esnekliği çeşitli amaçlar için kullanılmasına yol açmıştır.
Turna balığı1994Fredrik HübinetteC.'ye benzer bir sözdizimine sahip, yorumlanmış, genel amaçlı, yüksek seviyeli, çapraz platform, dinamik bir programlama dili.
Tohum72005Thomas MertesGenişletilebilir bir genel amaçlı programlama dili.
İşleme2001Casey Reas Benjamin FryElektronik sanatlar, yeni medya sanatı ve görsel tasarım toplulukları için oluşturulmuş bir açık kaynak programlama dili ve entegre geliştirme ortamı (IDE).
Böl-C1993?C programlama dilinin paralel bir uzantısı.
Birleşik Paralel C2003?Büyük ölçekli paralel makinelerde yüksek performanslı bilgi işlem için tasarlanmış C programlama dilinin bir uzantısı.
Cilk1994MIT Bilgisayar Bilimleri LaboratuvarıÇok iş parçacıklı paralel hesaplama için tasarlanmış genel amaçlı programlama dili.
Şapel2009Cray Inc.Genel olarak paralel bilgisayarların ve özelde Cray Cascade sisteminin programlanabilirliğini geliştirmeyi amaçlar.
Kale2006Sun LabsSun Microsystems tarafından DARPA'nın Yüksek Verimli Hesaplama Sistemleri projesinden sağlanan fonla oluşturulan, yüksek performanslı bilgi işlem için deneysel bir programlama dili.[11]
Agora1993?Yetkilendirmeye değil, yalnızca mesaj geçişine dayanan yansıtıcı, prototip tabanlı, nesne yönelimli bir programlama dili.
BCPL1966Martin RichardsProsedürel, zorunlu ve yapılandırılmış bir bilgisayar programlama dili.
B1969Ken ThompsonSistem ve dil yazılımı gibi yinelemeli, sayısal olmayan, makineden bağımsız uygulamalar için tasarlanmıştır.
Nim2008Andreas RumpfZorunlu, çok paradigmalı, derlenmiş bir programlama dili.
Nemerle2003Andreas RumpfOrtak Dil Altyapısını (.NET / Mono) kullanan platformlar için tasarlanmış genel amaçlı, yüksek düzeyli, statik olarak yazılmış bir programlama dili.
ApeScript??Yorumlanmış bir prosedürel dinamik tipli dil.
Amiga E1993Wouter van OortmerssenBir dizi dilden birçok özelliğin bir kombinasyonu, ancak temel kavramlar açısından orijinal C programlama dilini en yakından takip eder.
Lite-C2007Atari IncC ++ dilinin bazı öğeleriyle birlikte C dilinin sözdizimi alt kümesini kullanan, multimedya uygulamaları ve kişisel bilgisayar oyunları için bir programlama dili.
Newsqueak1980'lerin başıRob PikeEtkileşimli grafik kullanıcı arabirimleriyle uygulama yazılımı yazmak için eşzamanlı bir programlama dili. Newsqueak'in sözdizimi ve anlambilimi C dilinden etkilenir, ancak eşzamanlılığa yaklaşımı esinlenmiştir. CSP.[12]
Kesinlikle C değil (NXC)2006John Hansenİçin üst düzey bir programlama dili Lego Mindstorms NXT. Not eXactly C'nin kısaltması olan NXC, bir assembly dili olan Next Byte Codes'a dayanmaktadır. NXC, C gibi bir sözdizimine sahiptir. Düzenleyiciyi, tuğla ile arayüz oluşturma araçlarını ve derleyiciyi entegre eden, ancak daha fazla dili destekleyen BricX IDE'nin bir parçasıdır.[13]
Oldukça C Değil (NQC)~1998David BaumBir gömülü sistemler programlama dili, uygulama programlama arabirimi (API) ve yerel bayt kodu derleyici araç seti Lego Mindstorms RCX platformu, Cybermaster ve LEGO Spybotics sistemleri. Cihazın yerine geçmesi amaçlanmıştır. LabVIEW tabanlı ROBOLAB IDE. Öncelikle C dilini temel alır ancak izin verilen maksimum alt yordam ve değişken sayısı gibi belirli sınırlamaları vardır. Daha sonra ile değiştirildi NXC Mindstorms NXT platformu için geliştirilmiş gelişmiş bir sürüm.[14]
Meşe1991James Gosling (Sun Microsystems )Başlangıçta Sun Microsystems set üstü kutu projesi için oluşturulmuş bir programlama dili. Dil daha sonra Java'ya dönüştü.
PROMAL1985Sistem Yönetim OrtaklarıMS-DOS, Commodore 64 ve Apple II için C benzeri bir programlama dili.
Handel-C1996Oxford Üniversitesi Bilgisayar LaboratuvarıDüşük seviyeli donanımı hedefleyen, en çok FPGA programlamasında kullanılan yüksek seviyeli bir programlama dili. C'nin zengin bir alt kümesidir.
Dart oyunu2013Lars Bak ve Kasper Lund (Google )C tarzı sözdizimine sahip, sınıf tabanlı, tek miras, nesne yönelimli bir dil.
CINT1997-1999?Masaharu GotoC / C ++ 'ın yorumlanmış bir sürümü, BeanShell'in Java'nın yorumlanmış bir sürümü olması gibi.
Cg2002NvidiaC programlama diline bağlı olarak ve aynı sözdizimini paylaşmalarına rağmen, C'nin bazı özellikleri değiştirildi ve Cg'yi grafik işleme birimlerini programlamaya daha uygun hale getirmek için yeni veri türleri eklendi. Bu dil yalnızca GPU programlaması için uygundur ve genel bir programlama dili değildir.
R1993Ross Ihaka ve Robert Gentlemanİstatistiksel hesaplama ve grafikler için bir programlama dili ve yazılım ortamı.
Hile2014Julien Verlaguet, Alok Menghrajani, Drew Paroski (Facebook )HipHop Sanal Makinesi (HHVM) için bir programlama dili.
Cazibe1996?RTL / 2, Pascal ve C dillerine benzerlik gösteren ve kendine ait bazı benzersiz özellikleri içeren, nesne yönelimli bir bilgisayar programlama dili.
Claire1994Yves CaseauKural işleme yeteneklerine sahip üst düzey, işlevsel ve nesneye yönelik bir programlama dili.
Noop2009Googleİyi programlama pratiğini sözdizimsel olarak teşvik ederken, "eski" ve "yeni" dillerin en iyi özelliklerini harmanlamaya çalışır.
Neko2005Nicolas Cannasse (Motion-Twin )Dinamik olarak yazılmış üst düzey bir programlama dili
Axum2009MicrosoftActor modeline dayalı, alana özgü eşzamanlı programlama dili.
Pas, paslanma2010Graydon Hoare (Mozilla )Herkesi güvenilir ve verimli yazılım geliştirmeye teşvik eden bir dil.
TypeScript2012MicrosoftJavaScript'in üst kümesi.
Umple2008Ottawa ÜniversitesiHem nesneye yönelik programlama hem de sınıf diyagramları ve durum diyagramları ile modelleme için bir dil.
TOM (nesne yönelimli programlama dili)1990'lar?Objective-C'den öğrenilen derslere dayanan, nesne yönelimli bir programlama dili.
Telescript1990Marc PoratNesne yönelimli bir programlama dili.
Fantom2005Brian Frank ve Andy FrankJVM veya CLR veya JavaScript'in üstünde çalışan kurumsal sistemler oluşturmada pragmatizmi vurgulayan boş olabilen farkındalıklı bir tip sistemle eşzamanlı nesne yönelimli, işlevsel, aktör.
nesCnesC ("NES-see" olarak telaffuz edilir), TinyOS'un yapılandırma konseptlerini ve yürütme modelini somutlaştırmak için tasarlanmış C programlama dilinin bir uzantısıdır. TinyOS, çok sınırlı kaynaklara sahip sensör ağ düğümleri için tasarlanmış olay odaklı bir işletim sistemidir.[15]
HolyC2005Terry A. DavisTerry'nin kendi işletim sistemi için bir C lehçesi TempleOS. En dikkate değer değişiklikler, bağımsız değişken geçişi, değişken türü adlandırma (işaretsiz karakter yerine U8, int yerine I32 vb.), Kod yapısı ("main () işlevi yoktur. İşlevler dışındaki herhangi bir kod başlatma sırasında çalıştırılır , sırayla "[16]), #define'ın kaldırılması ve kaçış karakteri olarak '$' kullanılması gibi önişlemcinin bazı kısımlarının switch deyimi yapısı ve ikamesi.
Zig2015Andrew KelleySağlam, optimum ve yeniden kullanılabilir yazılım sağlamak için genel amaçlı bir programlama dili ve araç zinciri.[17]

Referanslar

  1. ^ a b "C Ailesi". linuxfinances.info. Alındı 2015-12-30.
  2. ^ "S-Lang Kitaplığı Bilgi Sayfası".
  3. ^ "Arşivlenmiş kopya" (PDF). Arşivlenen orijinal (PDF) 2016-03-05 tarihinde. Alındı 2015-05-11.CS1 Maint: başlık olarak arşivlenmiş kopya (bağlantı)
  4. ^ "Alef Dili Başvuru Kılavuzu".
  5. ^ "Bölüm 4. JavaScript Nasıl Oluşturuldu". konuşanjs.com. Arşivlenen orijinal 2020-02-27 tarihinde. Alındı 2020-06-13.
  6. ^ "Bilimsel Sayısal Hesaplama".
  7. ^ "platformlar arası Ch Shell Programlama".
  8. ^ http://reports-archive.adm.cs.cmu.edu/anon/2010/CMU-CS-10-145.pdf
  9. ^ https://github.com/apple/swift-evolution/blob/master/proposals/0044-import-as-member.md
  10. ^ https://github.com/apple/swift-evolution/blob/master/proposals/0038-swiftpm-c-language-targets.md
  11. ^ "Project Fortress: Wiki: Ana Sayfa - Kenai Projesi". Arşivlenen orijinal 2013-01-12 tarihinde. Alındı 2015-05-11.
  12. ^ http://cdn.oreillystatic.com/en/assets/1/event/45/Go%20Presentation.pdf
  13. ^ "NXC - Tam anlamıyla C değil".
  14. ^ "NQC - Pek C Değil".
  15. ^ GitHub - tinyos / nesc: Master nesc deposu., TinyOS, 2019-03-05, alındı 2019-03-17
  16. ^ "Temple İşletim Sistemi". 2017-03-25. Arşivlenen orijinal 2017-03-25 tarihinde. Alındı 2019-04-16.
  17. ^ "Zig Programlama Dili".