Благодаря успеху языка программирования C и некоторых его производных, языки программирования семейства C охватывают большое количество различных парадигмы программирования, концептуальные модели и среды выполнения.
Язык | Год начала | Создано (в) | Комментарии | Ссылки | ||
---|---|---|---|---|---|---|
E | 1997 | Марк С. Миллер, Дэн Борнштейн (Electric Communities) | Разработано с учетом безопасных вычислений, что достигается главным образом за счет строгого соблюдения модели объектно-ориентированных вычислений. | |||
C | 1969-1973 | Деннис Ричи (Bell Labs ) | Был усовершенствованием языка B B. | |||
Ratfor | Кена Томпсона 1974 | Брайан Керниган (Bell Labs) | Гибрид C и Fortran, реализованный как препроцессор для сред без простого доступа к компиляторам C. | |||
C shell / tcsh | 1978 | Bill Joy (UC Berkeley ) | язык сценариев и стандартная оболочка Unix. | |||
C ++ | 1979 | Бьярн Страуструп (Bell Labs ) | Названный «C с классами» и переименованный в C ++ в 1983 году; это началось как повторная реализация статической объектной ориентации в традициях Simula 67, и благодаря стандартизации и широкому использованию расширилось до общего программирования, а также его исходных объектно-ориентированных корней. | |||
AMPL | 1985 | Роберт Фурер, Дэвид Гей и Брайан Керниган (Bell Labs ) | Это язык алгебраического моделирования с элементами языка сценариев. | |||
Objective-C | 1986 | Брэд Кокс и Том Лав | Это объектно-ориентированный динамический язык, в значительной степени основанный на Smalltalk. Свободно определенная де-факто стандартная библиотека первоначальными разработчиками теперь в значительной степени вытеснена вариациями OpenStep FoundationKit. | |||
C* | 1987 | Thinking Machines | объектно-ориентированный, data- параллельный расширенный набор ANSI C | |||
Perl | 1988 | Ларри Уолл | Язык сценариев, широко используемый для системного администрирования, обработки текста и задач веб-сервера. | |||
Java | 1991 | Джеймс Гослинг (Sun Microsystems ) | Создан как Oak и выпущен для публики в 1995 году. Это OODL, основанный на Objective-C, но с синтаксисом в некоторой степени на C ++. Он также компилируется в свой собственный байт-код, стандартную часть спецификации языка. Он строго типизирован, функция, которая обеспечивается виртуальной машиной. | |||
S-Lang | 1991 | Джон Э. Дэвис | Библиотека с мощным интерпретатором, которая предоставляет средства, необходимые для интерактивных приложений, такие как управление дисплеем / экраном, ввод с клавиатуры, раскладки клавиатуры и т. Д. | |||
SAC | 1994 | ( Германия) | Разработка распространилась на несколько учреждений в Германии, Канаде и Великобритании. Функциональный язык с синтаксисом C. | |||
Alef | 1995 | Phil Winterbottom (Bell Labs) | Создан для системного программирования на Plan 9 от Bell Labs, работающего система; он был опубликован в 1995 году, но в конечном итоге от него отказались. Он обеспечил существенную языковую поддержку для параллельного программирования. | |||
Limbo | 1995 | Limbo пришла на смену Alef и используется в Inferno, как Alef в Plan9. | ||||
PHP | 1995 | Расмус Лердорф | Широко используется в качестве языка сценариев HTML на стороне сервера. C-подобный синтаксис. | |||
ECMAScript | 1995 | Brendan Eich (Netscape ) | Created as Mocha and LiveScript, анонсированный в 1995 году, в следующем году поставлен как JavaScript. В основном это язык сценариев, используемый при разработке веб-страниц, а также многочисленные среды приложений, такие как Adobe Flash и QtScript. Хотя изначально он был основан на схеме . и Self, это в первую очередь основанный на прототипах объектно-ориентированный язык с синтаксисом, основанным на Java | |||
C-- | 1997 | Саймон Пейтон Джонс, Норман Рэмси | , созданный в основном компиляторами для языков очень высокого уровня | |||
C# | 1999 | Андерс Хейлсберг (Microsoft ) | Созданный под названием "Cool", он синтаксически очень похож на Java, но с унифицированной системой типов, подобной Smalltalk. | |||
Ch | 2001 | Harry Cheng | Язык сценариев AC / C ++ с расширениями для программирования оболочки и численных вычислений. | |||
D | 2001 | Уолтер Брайт (Digital Mars ) | На основе C ++, но с несовместимым синтаксисом, имеющим черты других C-подобных языков, таких как Java и C #. | |||
eC | 2004 | Jérôme Jacovella-St-Louis (Ecere) | A супер-набор C, добавляющий объектно-ориентированные функции (вдохновленные C ++), свойства, динамические модули и отражение, разработанный в рамках проекта Ecere SDK, кроссплатформенного SDK с открытым исходным кодом. | |||
Cyclone | 2001 | Грег Моррисетт (ATT Labs ) | Предназначен для безопасного диалекта языка C. Он разработан, чтобы избежать переполнения буфера и других уязвимостей, присущих программам на C, без потери мощности и удобства C как инструмента для системного программирования. | |||
LSL | 2003 | ? | Создано для секунды Life виртуальный мир от Linden Lab. | |||
Squirrel | 2003 | Alberto Demichelis | Легкий язык сценариев | |||
Go | 2007 | Роб Пайк, Кен Томпсон и Роберт Гриземер (Google ) | Выпущенный в 2009 г., это параллельный язык с быстрой компиляцией, синтаксисом, подобным Java, но нет объектно-ориентированных функций и строгая типизация. | |||
OpenCL C | 2009 | Apple, Khronos Group | OpenCL определяет модифицированное подмножество языка программирования C для написания программ для запуска на различных вычислительных устройствах (например, GPU, DSP) | |||
C0 | 2010 | Роб Арнольд (CMU) | Безопасное подмножество C с проверенными указателями и массивами с проверкой границ. Создано для CMU вводные компьютерные курсы. | |||
Swift | 2014 | Chris La ttner (Apple ) | Swift может импортировать любую библиотеку C, опционально аннотируя заголовки C для сопоставления типов C с объектами Swift и импортировать библиотеки как модули Swift. Swift имеет двустороннее соединение с Objective-C на платформах, которые поддерживают среду выполнения Apple Objective-C. В отличие от Objective-C, Swift в настоящее время не поддерживает взаимодействие C ++ и не предоставляет типы Swift как структуры C. | |||
AWK | 1977 | Альфред Ахо, Питер Вайнбергер и Брайан Керниган (Bell Labs ) | Разработан для обработки текста и обычно используется в качестве инструмента для извлечения данных и создания отчетов. | |||
2006 | Университет Джона Хопкинса | Нацелен на поддержку формальной проверки программ. | ||||
LPC | 1995 | Lars Pensjö | Изначально разрабатывался для облегчения создания MUD на LPMuds. Несмотря на то, что он был разработан для разработки игр, его гибкость позволила использовать его для самых разных целей. | |||
Пайк | 1994 | Фредрик Хюбинетт | Интерпретируемый, универсальный, высокоуровневый, кросс-платформенный, динамический язык программирования с синтаксисом, аналогичным синтаксису C. | |||
Seed7 | 2005 | Thomas Mertes | Расширяемый язык программирования общего назначения. | |||
Processing | 2001 | Кейси Риас, Бенджамин Фрай | Язык программирования с открытым исходным кодом и интегрированный среда разработки (IDE), созданная для сообществ в области электронного искусства, нового медиа-искусства и визуального дизайна. | |||
Split-C | 1993 | ? | Параллельное расширение языка программирования C. | |||
Unified Parallel C | 2003 | ? | Расширение языка программирования C, предназначенное для высокопроизводительных вычислений на больших параллельных машинах. | |||
Силк | 1994 | Лаборатория компьютерных наук Массачусетского технологического института | Язык программирования общего назначения, разработанный для многопоточных параллельных вычислений. | |||
Chapel | 2009 | Cray Inc. | Направлен на улучшение программируемости параллельных компьютеров в целом и системы Cray Cascade в частности. | |||
Fortress | 2006 | Sun Labs | Экспериментальный язык программирования для высокопроизводительных вычислений, созданный Sun Microsystems при финансовой поддержке проекта DARPA High Productivity Computing Systems. | |||
Agora | 1993 | ? | Отражатель, объектно-ориентированный язык программирования на основе прототипов, основанный исключительно на передаче сообщений, а не на делегировании. | |||
BCPL | 1966 | Martin Richards | процедурный, императивный и структурированный язык компьютерного программирования. | |||
B | 1969 | Ken Thompson | Разработан для рекурсивных, нечисловых, машинно-независимых приложения, такие как системное и языковое программное обеспечение. | |||
Nim | 2008 | Andreas Rumpf | Императивный, мультипарадигмальный компилируемый язык программирования. | |||
Nemerle | 2003 | Андреас Рампф | Универсальный язык программирования высокого уровня со статической типизацией, разработанный для платформ, использующих Common Language Infrastructure (.NET / Mono). | |||
ApeScript | ? | ? | Интерпретируемый процедурный язык с динамической типизацией. | |||
Amiga E | 1993 | Комбинация многих функций из ряда языков, но наиболее близко следует исходному языку программирования C с точки зрения основных концепций. | ||||
Lite-C | 2007 | Atari Inc | Язык программирования для мультимедийных приложений и игр для персональных компьютеров, использующий синтаксическое подмножество языка C с некоторыми элементами языка C ++. | |||
Ne wsqueak | начало 1980-х годов | Роб Пайк | Язык параллельного программирования для написания прикладного программного обеспечения с интерактивным графическим пользовательским интерфейсом. На синтаксис и семантику Newsqueak влияет язык C, но его подход к параллелизму был вдохновлен CSP. | |||
Not eXactly C (NXC) | 2006 | John Hansen | Язык программирования высокого уровня для Lego Mindstorms NXT. NXC, сокращение от Not eXactly C, основан на кодах следующего байта, языке ассемблера. NXC имеет синтаксис, подобный C. Это часть BricX IDE, которая объединяет редактор, инструменты для взаимодействия с кирпичом и компилятор, но поддерживает больше языков. | |||
Not Quite C (NQC) | ~ 1998 | Дэвид Баум | Язык программирования встроенных систем, интерфейс прикладного программирования (API) и собственный набор инструментов компилятора байт-кода для платформы Lego Mindstorms RCX, Cybermaster и системы LEGO Spybotics. Он предназначен для замены ROBOLAB IDE на основе LabVIEW. Он основан в основном на языке C, но имеет определенные ограничения, такие как максимальное количество подпрограмм и разрешенных переменных. Позже заменен на NXC, расширенную версию, созданную для платформы Mindstorms NXT. | |||
Oak | 1991 | Джеймс Гослинг (Sun Microsystems ) | Созданный язык программирования первоначально для проекта телевизионных приставок Sun Microsystems. Позже язык превратился в Java. | |||
PROMAL | 1985 | Systems Management Associates | C-подобный язык программирования для MS- DOS, Commodore 64 и Apple II. | |||
Handel-C | 1996 | Вычислительная лаборатория Оксфордского университета | Язык программирования высокого уровня, предназначенный для низкоуровневого оборудования, наиболее часто используемый при программировании ПЛИС. Это богатое подмножество C. | |||
Dart | 2013 | Lars Bak и Kasper Lund (Google ) | Объектно-ориентированный язык с единым наследованием на основе классов с C -стайл синтаксис. | |||
CINT | 1997-1999? | Масахару Гото | Интерпретируемая версия C / C ++, во многом аналогично тому, как BeanShell является интерпретируемой версией Java. 193>2002 | Nvidia | На основе языка программирования C и хотя они используют один и тот же синтаксис, некоторые функции C были изменены и добавлены новые типы данных, чтобы сделать Cg более подходящим для программирования графических процессоров. Этот язык подходит только для программирования на GPU и не является общим языком программирования. | |
R | 1993 | Росс Ихака и Роберт Джентльман | Язык программирования и программная среда для статистических вычислений и графики. | |||
Hack | 2014 | Жюльен Верлаге, Алок Менграджани, Дрю Пароски (Facebook ) | Язык программирования для виртуальной машины HipHop (HHVM). | |||
Charm | 1996 | ? | Объектно-ориентированный язык компьютерного программирования, схожий с языками RTL / 2, Pascal и C, а также содержащий некоторые собственные уникальные особенности. | |||
Клэр | 1994 | Функционал высокого уровня и объектно-ориентированный ориентированный язык программирования с возможностью обработки правил. | ||||
Noop | 2009 | Попытки объединить лучшие черты «старых» и «новых» языков, одновременно поощряя синтаксически хорошие практики программирования. | ||||
Neko | 2005 | Николас Каннас (Motion-Twin ) | Высокоуровневый язык программирования с динамической типизацией | |||
Axum | 2009 | Micr osoft | Язык параллельного программирования для конкретной предметной области, основанный на модели акторов. | |||
Rust | 2010 | Graydon Hoare (Mozilla ) | Язык, позволяющий каждому создавать надежные и эффективные программное обеспечение. | |||
TypeScript | 2012 | Microsoft | Расширенный набор JavaScript. | |||
Umple | 2008 | Университет Оттавы | Язык как для объектно-ориентированного программирования, так и для моделирования с помощью классов диаграммы и диаграммы состояний. | |||
1990-е годы | ? | объектно-ориентированный язык программирования, основанный на уроках, извлеченных из Objective-C. | ||||
Telescript | 1990 | Марк Порат | объектно-ориентированное программирование | |||
Fantom | 2005 | Брайан Франк и Энди Фрэнк | Объектно-ориентированный, функциональный субъект, работающий одновременно с системой типов, допускающей значение null, подчеркивающей прагматизм при построении корпоративных систем выполняется поверх JVM, CLR или JavaScript. | |||
nesC | nesC (произносится «NES-см.») - это расширение языка программирования C, предназначенное для воплощения концепции структурирования pts и модель исполнения TinyOS. TinyOS - это управляемая событиями операционная система, разработанная для узлов сенсорной сети с очень ограниченными ресурсами. | |||||
HolyC | 2005 | Терри А. Дэвис | Диалект C для собственной операционной системы Терри Храм ОС. Наиболее заметными изменениями являются передача аргументов, именование типов переменных (U8 вместо unsigned char, I32 вместо int и т. Д.), Структура кода («Функция main () отсутствует. Любой код вне функций выполняется при запуске., по порядку "), структура оператора переключения и замена некоторых частей препроцессора, например удаление #define и использование символа '$' в качестве escape-символа. | |||
Zig | 2015 | Эндрю Келли | Язык программирования общего назначения и набор инструментов для поддержки надежного, оптимального и многоразового программного обеспечения. |