Seznam programovacích jazyků rodiny C - List of C-family programming languages

Vzhledem k úspěchu programovacího jazyka C a některých jeho derivátů programovací jazyky rodiny C pokrývají širokou škálu programovacích paradigmat, koncepčních modelů a běhových prostředí.

Jazyk Rok začal Vytvořil (at) Popis/komentáře Reference
BCPL 1966 Martin Richards Procedurální, imperativní a strukturovaný počítačový programovací jazyk. v
B 1969 Ken Thompson Navrženo pro rekurzivní, nečíselné aplikace nezávislé na stroji, jako je systémový a jazykový software.
C 1969-1973 Dennis Ritchie ( Bell Labs ) Byl zvýšení Ken Thompson ‚s B jazyka .
Ratfor 1974 Brian Kernighan (Bell Labs) Hybrid C a Fortran , implementovaný jako preprocesor pro prostředí bez snadného přístupu ke kompilátorům C.
AWK 1977 Alfred Aho , Peter Weinberger a Brian Kernighan ( Bell Labs ) Navrženo pro zpracování textu a obvykle se používá jako nástroj pro extrakci a vykazování dat.
C shell / tcsh 1978 Bill Joy ( UC Berkeley ) Skriptovací jazyk a standardní unixový shell .
C ++ 1979 Bjarne Stroustrup ( Bell Labs ) Pojmenován jako „C s třídami“ a v roce 1983 přejmenován na C ++; začalo to jako reimplementace statické objektové orientace v tradici Simula 67 a díky standardizaci a širokému využití se rozrostlo tak, aby zahrnovalo generické programování i jeho původní objektově orientované kořeny.
Newsqueak počátku 80. let minulého století Rob Pike Souběžný programovací jazyk pro psaní aplikačního softwaru s interaktivními grafickými uživatelskými rozhraními. Syntaxe a sémantika Newsqueaku je ovlivněna jazykem C, ale jeho přístup k souběžnosti byl inspirován CSP .
AMPL 1985 Robert Fourer , David Gay a Brian Kernighan ( Bell Labs ) Algebraické modelovací jazyk s prvky skriptovací jazyk.
PROMÁLNÍ 1985 Společníci pro správu systémů Programovací jazyk podobný C pro MS-DOS, Commodore 64 a Apple II.
Cíl-C 1986 Brad Cox a Tom Love Objektově orientovaný dynamický jazyk založený převážně na Smalltalku . Volně definovaná de facto standardní knihovna původními vývojáři byla nyní do značné míry vytlačena variacemi na OpenStep FoundationKit.
C* 1987 Myšlení strojů Objektové data-paralelní nadmnožinu ANSI C .
Perl 1988 Larry Wall Skriptovací jazyk široce používaný pro správu systému, zpracování textu a úlohy webového serveru.
Dalekohled 1990 Marc Porat Objektově orientovaný programovací jazyk.
Jáva 1991 James Gosling ( Sun Microsystems ) Vytvořeno jako Dub a vydáno pro veřejnost v roce 1995. Jedná se o OODL založené na inspiraci silně Objective-C, i když se syntaxí založenou poněkud na C ++. Kompiluje se také do vlastního bajtkódu , což je standardní část jazykové specifikace. Je silně typovaný, což je funkce, kterou vynucuje virtuální počítač.
Slang 1991 John E. Davis Knihovna s výkonným tlumočníkem, který poskytuje vybavení vyžadované interaktivními aplikacemi, jako je správa displeje/obrazovky, vstup z klávesnice, mapy kláves atd.
Split-C 1993 ? Paralelní rozšíření programovacího jazyka C.
Agora 1993 ? Reflektivní, prototypový, objektově orientovaný programovací jazyk, který je založen výhradně na předávání zpráv a nikoli na delegování.
VAK 1994 (Německo) Vývoj se rozšířil do několika institucí v Německu, Kanadě a Velké Británii. Funkční jazyk se syntaxí C.
Štika 1994 Fredrik Hübinette Interpretovaný, univerzální, na vysoké úrovni, multiplatformní, dynamický programovací jazyk se syntaxí podobnou syntaxi C.
Cilk 1994 Laboratoř MIT pro informatiku Univerzální programovací jazyk určený pro vícevláknové paralelní výpočty.
Alef 1995 Phil Winterbottom (Bell Labs) Vytvořeno pro programování systémů podle plánu 9 z operačního systému Bell Labs ; byla vydána v roce 1995, ale nakonec byla opuštěna. Poskytovalo značnou jazykovou podporu pro souběžné programování .
Předpeklí 1995 Limbo uspěl u Alefa a používá se v Infernu, protože Alef byl použit v Plan9.
PHP 1995 Rasmus Lerdorf Široce používán jako skriptovací jazyk na straně serveru. C-jako syntaxe.
ECMAScript 1995 Brendan Eich ( Netscape ) Vytvořeno jako Mocha a LiveScript, oznámeno v roce 1995, dodáno příští rok jako JavaScript . Především skriptovací jazyk používaný při vývoji webových stránek a také řada aplikačních prostředí, jako je Adobe Flash a QtScript . Ačkoli je zpočátku založen na Scheme a Self , je to především objektově orientovaný jazyk založený na prototypech se syntaxí založenou na Javě .
LPC 1995 Lars Pensjö Původně vyvinut s cílem usnadnit budování MUD na LPMuds . Ačkoli byl navržen pro vývoj her, jeho flexibilita vedla k tomu, že byl používán pro různé účely.
C-- 1997 Simon Peyton Jones , Norman Ramsey Generováno hlavně kompilátory pro velmi vysoké jazyky.
E 1997 Mark S. Miller , Dan Bornstein (Electric Communities) Navrženo s ohledem na zabezpečené výpočty , dosahované především přísným dodržováním objektově orientovaného výpočetního modelu.
C# 1999 Anders Hejlsberg ( Microsoft ) Vytvořeno pod názvem „Cool“, je syntakticky velmi podobné Javě, i když s unifikovaným typovým systémem podobným Smalltalk .
Ch 2001 Harry Cheng Skriptovací jazyk AC/C ++ s rozšířeními pro shell programování a numerické výpočty.
D 2001 Walter Bright ( digitální Mars ) Založeno na C ++, ale s nekompatibilní syntaxí s vlastnostmi z jiných jazyků podobných C, jako je Java a C#.
Cyklón 2001 Greg Morrisett ( AT&T Labs ) Má být bezpečným dialektem jazyka C. Je navržen tak, aby se zabránilo přetečení vyrovnávací paměti a dalším zranitelnostem, které jsou v programech C endemické, aniž by došlo ke ztrátě výkonu a pohodlí C jako nástroje pro programování systému.
VAK 2001 Cameronův projekt Single Assignment C (SA-C) je navržen tak, aby jej bylo možné přímo a intuitivně přeložit do obvodů, včetně FPGA.
Cg 2002 Nvidia Na základě programovacího jazyka C a přestože sdílejí stejnou syntaxi, byly některé funkce jazyka C upraveny a byly přidány nové datové typy, aby byla Cg vhodnější pro programování grafických procesorových jednotek. Tento jazyk je vhodný pouze pro programování GPU a není obecným programovacím jazykem.
LSL 2003 ? Vytvořeno pro virtuální svět Second Life společností Linden Lab .
Veverka 2003 Alberto Demichelis Lehký skriptovací jazyk.
Unified Parallel C 2003 ? Rozšíření programovacího jazyka C určené pro vysoce výkonné počítače na paralelních počítačích velkého rozsahu.
eC 2004 Jérôme Jacovella-St-Louis (Ecere) Super sada C přidávající objektově orientované funkce (inspirované C ++), vlastnosti, dynamické moduly a reflexe vyvinuté jako součást projektu Ecere SDK, open-source multiplatformní SDK.
Semeno 7 2005 Thomas Mertes Rozšiřitelný univerzální programovací jazyk.
BitC 2006 Univerzita Johna Hopkinse Cílem je podpora formálního ověření programu.
Pevnost 2006 Sun Labs Experimentální programovací jazyk pro vysoce výkonné počítače, vytvořený společností Sun Microsystems s financováním z projektu DARPA High Productivity Computing Systems.
Ne přesně C (NXC) 2006 John Hansen Programovací jazyk na vysoké úrovni pro Lego Mindstorms NXT . NXC, což je zkratka pro Not eXactly C, je založen na Next Byte Codes, montážním jazyce. NXC má syntaxi jako C. Je součástí ID BricX, které integruje editor, nástroje pro propojení s cihlami a překladač, ale podporuje více jazyků.
Jít 2007 Rob Pike , Ken Thompson a Robert Griesemer ( Google ) Vydán pro veřejnost v roce 2009, je to souběžný jazyk s rychlými kompilacemi, syntaxí podobnou Javě, ale bez objektově orientovaných funkcí a silného psaní .
OpenCL C 2009 Apple , Khronos Group OpenCL specifikuje upravenou podmnožinu programovacího jazyka C pro psaní programů pro běh na různých výpočetních zařízeních (např. GPU, DSP).
C 0 2010 Rob Arnold (CMU) Bezpečná podmnožina C s zkontrolovanými ukazateli a poli zkontrolovanými hranicemi. Vytvořeno pro úvodní počítačové kurzy CMU .
Rychlý 2014 Chris Lattner ( Apple ) Swift může importovat libovolnou knihovnu C, volitelně opatřenou záhlavím C mapovat typy C na objekty Swift a importovat knihovny jako moduly Swift. Swift má obousměrné překlenutí s Objective-C na platformách, které podporují běhové prostředí Objective-C společnosti Apple. Na rozdíl od Objective-C Swift aktuálně nepodporuje spolupráci C ++ ani nevystavuje typy Swift jako struktury C.
Kaple 2009 Cray Inc. Cílem je zlepšit programovatelnost paralelních počítačů obecně a zejména systému Cray Cascade.
Nim 2008 Andreas Rumpf Imperativní, víceparadigmatický, kompilovaný programovací jazyk.
Nemerle 2003 Andreas Rumpf Univerzální statický typový programovací jazyk určený pro platformy využívající infrastrukturu Common Language Infrastructure (.NET/Mono).
ApeScript ? ? Interpretovaný procedurální dynamický jazyk.
Amiga E 1993 Wouter van Oortmerssen Kombinace mnoha funkcí z řady jazyků, ale co se základních pojmů nejvíce drží původního programovacího jazyka C.
HolyC 2005 Terry A. Davis Dialekt jazyka C pro Terryho vlastní operační systém TempleOS . Nejvýznamnějšími změnami jsou předávání argumentů, pojmenování typů proměnných (U8 místo znaku bez znaménka, I32 místo int atd.), Struktura kódu („Neexistuje žádná funkce main (). Jakýkoli kód mimo funkce se spustí po spuštění , v pořadí "), přepněte strukturu příkazu a nahrazení některých částí preprocesoru, jako je odstranění #define a použití '$' jako znaku escape.
Lite-C 2007 Atari Inc. Programovací jazyk pro multimediální aplikace a osobní počítačové hry využívající podskupinu syntaxe jazyka C s některými prvky jazyka C ++.
Not Quite C (NQC) ~ 1998 David Baum An vestavěné systémy programovací jazyk, rozhraní pro programování aplikací (API) a nativní bytecode kompilátoru sadu nástrojů pro Lego Mindstorms platformě RCX, Cybermaster a LEGO Spybotics systémů. Je zamýšlen jako náhrada za ROBOLAB IDE na bázi LabVIEW . Je primárně založen na jazyce C, ale má specifická omezení, jako je maximální povolený počet podprogramů a proměnných. Později nahrazen NXC , vylepšenou verzí vytvořenou pro platformu Mindstorms NXT.
Dub 1991 James Gosling ( Sun Microsystems ) Programovací jazyk vytvořený původně pro projekt set-top boxu Sun Microsystems. Z jazyka se později vyvinula Java.
Handel-C 1996 Oxford University Computing Laboratory Programovací jazyk na vysoké úrovni, který cílí na hardware nízké úrovně, nejčastěji používaný při programování FPGA. Je to bohatá podmnožina C.
Šipka 2013 Lars Bak a Kasper Lund ( Google ) Objektově orientovaný jazyk s jednoduchou dědičností založený na třídě se syntaxí ve stylu C.
CINT 1997-1999? Masaharu Jdi Interpretovaná verze C/C ++, hodně ve způsobu, jakým je BeanShell interpretovanou verzí Javy.
R. 1993 Ross Ihaka a Robert Gentleman Programovací jazyk a softwarové prostředí pro statistické výpočty a grafiku.
Zaseknout 2014 Julien Verlaguet, Alok Menghrajani, Drew Paroski ( Facebook ) Programovací jazyk pro virtuální stroj HipHop (HHVM).
Kouzlo 1996 ? Objektově orientovaný počítačový programovací jazyk s podobností s jazyky RTL/2, Pascal a C kromě toho, že obsahuje některé vlastní jedinečné funkce.
Claire 1994 Yves Caseau Funkční a objektově orientovaný programovací jazyk na vysoké úrovni se schopnostmi zpracování pravidel.
Noop 2009 Google Pokusy o spojení nejlepších vlastností „starých“ a „nových“ jazyků při syntaktické podpoře správné programovací praxe.
Neko 2005 Nicolas Cannasse ( Motion-Twin ) Programovací jazyk na vysoké úrovni s dynamickým typem.
Axum 2009 Microsoft Souběžný programovací jazyk specifický pro doménu, založený na modelu Actor.
Rez 2010 Graydon Hoare ( Mozilla ) Jazyk, který každému umožní vytvářet spolehlivý a efektivní software.
Strojopis 2012 Microsoft Nadmnožina JavaScriptu.
Umple 2008 University of Ottawa Jazyk pro objektově orientované programování a modelování s třídními diagramy a stavovými diagramy.
TOM (objektově orientovaný programovací jazyk) 90. léta 20. století ? Objektově orientovaný programovací jazyk, který staví na lekcích získaných z Objective-C.
Fantom 2005 Brian Frank a Andy Frank Objektově orientovaný, funkční, herec souběžný se systémem nulových vědomých typů, který zdůrazňuje pragmatismus při budování podnikových systémů běžících nad JVM nebo CLR nebo JavaScript.
nesC Neznámý Neznámý Výraz „NES-see“ je rozšířením programovacího jazyka C navrženého tak, aby ztělesňoval strukturační koncepty a prováděcí model TinyOS. TinyOS je operační systém řízený událostmi navržený pro uzly senzorové sítě, které mají velmi omezené zdroje.
Zig 2015 Andrew Kelley Univerzální programovací jazyk a řetězec nástrojů pro udržování robustního, optimálního a opakovaně použitelného softwaru.

Reference