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 | 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. |