Список языков программирования семейства C
(Перенаправлено с C-like )
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2015 г. ) |
Языки программирования семейства C имеют общие черты с языком программирования C. Многие из них находились под влиянием C из-за его успеха и повсеместного распространения. В семейство также входят предшественники, повлиявшие на дизайн C, такие как BCPL .
Известные источники программирования используют такие термины, как C-style , C-like , диалект C , имеющий C-подобный синтаксис . Термин «язык программирования в фигурных скобках» обозначает язык, который разделяет блочный синтаксис C. [1] [2]
Языки семейства C имеют такие особенности, как:
- Блок кода, разделенный фигурными скобками (
{}
), они же фигурные скобки, они же фигурные скобки
- Точка с запятой (
;
) оператора терминатор
- Список параметров, разделенный круглыми скобками (
()
)
- Инфиксная выражений арифметических и логических запись
Языки семейства C охватывают множество парадигм программирования, концептуальных моделей и сред выполнения.
Язык | Год начался | Создано (в) | Краткое описание, отношение к C | Ссылки |
---|---|---|---|---|
Сейчас | 1993 | Доктор Патрик Стейерт | Рефлексивный , , основанный на прототипах , объектно-ориентированный язык программирования основанный исключительно на передаче сообщений , а не на делегировании. | |
Алеф | 1995 | Фил Уинтерботтом (Bell Labs) | Создан для системного программирования на операционной системе Plan 9 от Bell Labs ; опубликовано в 1995 году и в конечном итоге заброшено. Он обеспечил существенную языковую поддержку для параллельного программирования . | [3] |
друг Е | 1993 | Воутер ван Оортмерссен | Комбинация многих функций из нескольких языков, но наиболее точно соответствует исходному языку C в основных концепциях. | |
AMPL | 1985 | Роберт Фурер , Дэвид Гей и Брайан Керниган ( Bell Labs ) | Алгебраический язык моделирования с элементами скриптового языка. | |
АВК | 1977 | Альфред Ахо , Питер Вайнбергер и Брайан Керниган ( Bell Labs ) | Предназначен для обработки текста и обычно используется в качестве инструмента извлечения данных и составления отчетов. | [4] |
Аксум | 2009 | Майкрософт | Предметно-ориентированный параллельный язык, основанный на модели актера . | |
БКПЛ | 1966 | Мартин Ричардс | Процедурный, императивный и структурированный язык. Предшественник C. | [5] |
С | 1969-1973 | Деннис Ритчи ( Bell Labs ) | Улучшение Кена Томпсона языка B . | [2] |
Оболочка C / tcsh | 1978 | Билл Джой ( Калифорнийский университет в Беркли ) | Язык сценариев и стандартная оболочка Unix . | |
С* | 1987 | Мыслящие машины | Объектно-ориентированный с параллельными данными расширенный набор ANSI C . | |
С++ | 1979 | Бьерн Страуструп ( Bell Labs ) | Назван «C с классами» и переименован в C++ в 1983 году; он начался как повторная реализация статической объектно-ориентированной ориентации в традициях Simula 67, а благодаря стандартизации и широкому использованию стал охватывать общее программирование , а также его первоначальные объектно-ориентированные корни. | [6] [2] |
С-- | 1997 | Саймон Пейтон Джонс , Норман Рэмси | Создается в основном компиляторами для языков очень высокого уровня. | |
Кг | 2002 | Нвидиа | Основанные на языке C и имеющие одинаковый синтаксис, некоторые функции C были изменены и добавлены новые типы данных, чтобы сделать Cg более подходящим для программирования графических процессоров. Этот язык подходит только для программирования на графическом процессоре и не является общим языком программирования. | |
Ч | 2001 | Гарри Ченг | Язык сценариев AC/C++ с расширениями для программирования оболочки и численных вычислений. | [7] [8] |
Часовня | 2009 | Крей Инк. | Направлен на улучшение программируемости параллельных компьютеров в целом и системы Cray Cascade в частности. | |
Очарование | 1996 | П. Новосад | Объектно-ориентированный язык, имеющий сходство с языками RTL/2, Pascal и C, а также содержащий некоторые собственные уникальные особенности. | |
Том | 1994 | Лаборатория компьютерных наук Массачусетского технологического института | Язык общего назначения, предназначенный для многопоточных параллельных вычислений. | |
ПОЯС | 1997-1999? | Масахару Гото | Интерпретируемая версия C/C++, во многом аналогично тому, как BeanShell является интерпретируемой версией Java. | |
Клэр | 1994 | Ив Казо | Функциональный и объектно-ориентированный язык высокого уровня с возможностями обработки правил. | |
Циклон | 2001 | Грег Моррисетт ( AT&T Labs ) | Задуман как безопасный диалект языка C. Он разработан, чтобы избежать переполнения буфера и других уязвимостей, характерных для программ на языке C, не теряя при этом мощности и удобства языка C как инструмента системного программирования. | |
С# | 2000 | Андерс Хейлсберг | Разработан Microsoft 2000 - в начале х годов как современный объектно-ориентированный язык для платформы .NET . | [2] |
Д | 2001 | Уолтер Брайт ( Digital Mars ) | Основан на C++, но с несовместимым синтаксисом, имеющим черты других C-подобных языков, таких как Java и C#. | |
Дарт | 2013 | Ларс Бак и Каспер Лунд ( Google ) | Объектно-ориентированный язык на основе классов с единым наследованием и синтаксисом в стиле C. | |
И | 1997 | Марк С. Миллер , Дэн Борнштейн (Электрические сообщества) | Разработан с учетом требований безопасности вычислений и достигается главным образом за счет строгого соблюдения объектно-ориентированной модели вычислений. | |
ЕС | 2004 | Жером Жаковелла-Сент-Луи (Эцере) | Супернабор C, добавляющий объектно-ориентированные функции (вдохновленные C++), свойства, динамические модули и отражения, разработанные в рамках проекта Ecere SDK, кроссплатформенного SDK с открытым исходным кодом. | |
Фантом | 2005 | Брайан Франк и Энди Франк | Объектно-ориентированный, функциональный актер, работающий одновременно с системой типов, допускающей нулевые значения, подчеркивающий прагматизм при построении корпоративных систем, работающих поверх JVM, CLR или JavaScript. | |
Фьюжн (ранее Ć) | 2011 | Петр Фусик и Адриан Матога | Fusion — это язык, основанный на C и C#. Направлен на создание переносимых библиотек программирования с синтаксисом, близким к C#. Переведенный код является легким (без виртуальной машины, эмуляции и большого времени выполнения). | |
Идти | 2007 | Роб Пайк , Кен Томпсон и Роберт Гриземер ( Google ) | Выпущенный для широкой публики в 2009 году, это параллельный язык с быстрой компиляцией, синтаксисом, подобным Java, но без объектно-ориентированных функций и строгой типизации . | |
Взломать | 2014 | Жюльен Верлаге, Алок Менграджани, Дрю Пароски ( Facebook ) | Язык для виртуальной машины HipHop (HHVM). | |
Трейд-С | 1996 | Вычислительная лаборатория Оксфордского университета | Язык высокого уровня, предназначенный для аппаратного обеспечения низкого уровня, чаще всего используемый при программировании FPGA. Это богатое подмножество C. | |
HolyC | 2005 | Терри А. Дэвис | Диалект C для собственной операционной системы Терри TempleOS . | [9] [10] |
Ява | 1991 | Джеймс Гослинг ( Sun Microsystems ) | Создан как Oak и выпущен для широкой публики в 1995 году. Это OODL, основанный на Objective-C, хотя синтаксис отчасти основан на C++. Компилируется в собственный байт-код и является строго типизированным. | [2] |
JavaScript | 1995 | Брендан Эйх ( Netscape ) | Созданный как Mocha и LiveScript, анонсированный в 1995 году, в следующем году был выпущен как JavaScript . В первую очередь язык сценариев, используемый при разработке веб-страниц, а также в многочисленных средах приложений, таких как Adobe Flash и QtScript . Хотя изначально он основан на Scheme и Self , в первую очередь это язык на основе прототипов объектно-ориентированный с синтаксисом, основанным на Java . [11] Стандартизован как ECMAScript . | [12] [13] |
Лимбо | 1995 | Лимбо пришел на смену Алефу и используется в Inferno , как Алеф использовался в Plan9. | ||
ЛСЛ | 2003 | Робин Литтл | Создан для виртуального мира Second Life компанией Linden Lab . | |
Лайт-С | 2007 | Атари Инк | Язык для мультимедийных приложений и игр для персональных компьютеров, использующий синтаксическое подмножество языка C с некоторыми элементами языка C++. | |
ЛПК | 1995 | Ларс Пенсьё | Первоначально разработан для облегчения построения MUD на основе LPMuds . Несмотря на то, что он предназначен для разработки игр, его гибкость привела к тому, что его можно использовать для различных целей. | |
Ничего | 2005 | Николя Каннасс ( Motion-Twin ) | Динамически типизированный язык высокого уровня. | |
Немерль | 2003 | Камиль Скальский, Михал Москаль, проф. Лешек Пахольский, Павел Ольшта во Вроцлавском университете | Статически типизированный язык высокого уровня общего назначения, разработанный для платформ, использующих Common Language Infrastructure (.NET/Mono). | |
Неши | 2003 | Дэвид Гей, Филип Левис , Роберт фон Берен, Мэтт Уэлш , Эрик Брюэр и Дэвид Каллер | Произносится как «NES-see», это расширение языка C, предназначенное для воплощения концепций структурирования и модели выполнения TinyOS , событийно-управляемой операционной системы, предназначенной для узлов сенсорной сети с очень ограниченными ресурсами. | [14] [15] |
газеты | 1988 | Роб Пайк | Параллельный язык для написания прикладного программного обеспечения с интерактивными графическими пользовательскими интерфейсами. На синтаксис и семантику влияет язык C, но его подход к параллелизму был вдохновлен коммуникацией последовательных процессов (CSP). | [16] [17] |
Nim | 2008 | Андреас Румпф | Императивный, мультипарадигмальный, компилируемый язык. | |
Неа | 2009 | Попытка объединить лучшие особенности «старых» и «новых» языков, одновременно поощряя синтаксически хорошую практику программирования. | ||
Не совсем C (NXC) | 2006 | Джон Хансен | Язык высокого уровня для Lego Mindstorms NXT . NXC, сокращение от Not eXactly C, основан на языке ассемблера Next Byte Codes . NXC имеет синтаксис, подобный C. Это часть BricX IDE, которая объединяет редактор, инструменты для взаимодействия с кирпичом и компилятор, но поддерживает больше языков. | [18] |
Не совсем C (NQC) | 1998 (приблизительно) | Дэвид Баум | Язык программирования встроенных систем , интерфейс прикладного программирования (API) и собственный набор инструментов компилятора байт-кода для платформы Lego Mindstorms RCX, систем Cybermaster и LEGO Spybotics. Он предназначен для полной замены среды разработки ROBOLAB на базе LabVIEW . Он в основном основан на языке C, но имеет определенные ограничения, такие как максимальное количество разрешенных подпрограмм и переменных. Позже заменен на Not eXactly C (NXC), расширенную версию, созданную для платформы Mindstorms NXT. | [19] |
Дуб | 1991 | Джеймс Гослинг ( Sun Microsystems ) | Язык, первоначально созданный для проекта телеприставки Sun Microsystems, позже превратился в Java. | |
Цель-C | 1986 | Брэд Кокс и Том Лав | Объектно-ориентированный динамический язык, в значительной степени основанный на Smalltalk . Слабо определенная стандартная библиотека де-факто первоначальными разработчиками теперь в значительной степени вытеснена вариантами OpenStep FoundationKit. | [6] |
OpenCL C | 2009 | Apple , Группа Хронос | OpenCL определяет модифицированное подмножество языка C для написания программ для запуска на различных вычислительных устройствах, например графических процессорах, DSP. | |
Перл | 1988 | Ларри Уолл | Язык сценариев широко используется для системного администрирования, обработки текста и задач веб-сервера. | [2] |
PHP | 1995 | Расмус Лердорф | Широко используется в качестве языка сценариев на стороне сервера. C-подобный синтаксис. | [20] |
Щука | 1994 | Фредрик Хюбинетт | Интерпретируемый, универсальный, кросс-платформенный, динамический язык программирования высокого уровня, синтаксис которого аналогичен синтаксису C. | |
PROMAL | 1985 | Партнеры по системному менеджменту | C-подобный язык для MS- DOS , Commodore 64 и Apple II. | |
Р | 1993 | Росс Ихака и Роберт Джентльмен | Язык и программная среда для статистических вычислений и графики. | [21] |
Рулевое колесо | 1974 | Брайан Керниган (Bell Labs) | Гибрид C и Fortran , реализованный как препроцессор для сред, где нет простого доступа к компиляторам C. | |
Кольцо | 2016 | Махмуд Самир Файед | Динамический язык общего назначения для разработки приложений. | [22] [23] [24] |
Руби | 1995 | Юкихиро Мацумото | Интерпретируемый язык высокого уровня общего назначения, поддерживающий несколько парадигм программирования. | |
Ржавчина | 2010 | Грейдон Хоар ( Mozilla ) | Язык, позволяющий каждому создавать надежное и эффективное программное обеспечение. | |
S-только | 1991 | Джон Э. Дэвис | Библиотека с мощным интерпретатором, предоставляющая возможности, необходимые для интерактивных приложений, такие как управление дисплеем/экраном, ввод с клавиатуры, раскладки клавиш и т. д. | [25] |
СА-С | 2001 | Кэмерон Проект | Single Assignment C (SA-C) предназначен для прямой и интуитивной интерпретации в схемах, включая FPGA. | |
САК | 1994 | (Германия) | Разработка распространилась на несколько учреждений в Германии, Канаде и Великобритании. Функциональный язык с синтаксисом C. | [26] |
Сид7 | 2005 | Томас Мертес | Расширяемый язык общего назначения. | |
Сплит-С | 1993 | ? | Параллельное расширение языка C. | |
Белка | 2003 | Альберто Демикелис | Легкий язык сценариев. | |
Быстрый | 2014 | Крис Лэттнер ( Apple ) | Swift может импортировать любую библиотеку C, при необходимости аннотируя заголовки C для сопоставления типов C с объектами Swift. [27] и импортируйте библиотеки как модули Swift. [28] Swift имеет двустороннее соединение с Objective-C на платформах, которые поддерживают среду выполнения Apple Objective-C. В отличие от Objective-C, Swift в настоящее время не поддерживает взаимодействие с C++ и не представляет типы Swift как структуры C. | |
Телескрипт | 1990 | Марк Порат | Объектно-ориентированный язык. | |
Машинопись | 2012 | Майкрософт | Расширенный набор JavaScript. | |
Наполнять | 2008 | Университет Оттавы | Язык объектно-ориентированного программирования и моделирования с использованием диаграмм классов и диаграмм состояний. | |
Унифицированный параллельный C | 2003 | ? | Расширение языка C, предназначенное для высокопроизводительных вычислений на крупномасштабных параллельных машинах. | |
В (Вланг) | 2019 | Alexander Medvednikov | Статически типизированный компилируемый язык общего назначения, обеспечивающий простоту использования, безопасность, скорость и удобство обслуживания программного обеспечения. | [29] |
Зиг | 2015 | Эндрю Келли | Язык общего назначения и набор инструментов для поддержки надежного, оптимального и многократно используемого программного обеспечения. | [30] |
Ссылки
[ редактировать ]- ^ «Изучите язык в стиле C» . орейли . О'Рейли . Проверено 12 февраля 2024 г.
- ^ Jump up to: а б с д и ж Ван, Уолли (2007). Начало программирования для чайников (4-е изд.). Индианаполис, Индиана: Паб Wiley. п. 359. ИСБН 978-0-470-09968-1 . OCLC 773827811 .
- ^ «Справочник по языку алеф» .
- ^ «Глоссарий (Руководство пользователя GNU Awk)» . www.gnu.org . Проверено 4 марта 2023 г.
- ^ «Язык до C» . JeeLabs.org . Проверено 4 марта 2023 г.
- ^ Jump up to: а б «Семья С» .
- ^ «Научные численные вычисления» .
- ^ «Кроссплатформенное программирование Ch Shell» .
- ^ «Храмовая операционная система» . 25 марта 2017 г. Архивировано из оригинала 25 марта 2017 г. Проверено 16 апреля 2019 г.
- ^ «Анализ языкового дизайна HolyC - Харрисон Тотти» . harrison.totty.dev . Проверено 4 марта 2023 г.
- ^ «Глава 4. Как создавался JavaScript» . говорящий js.com . Архивировано из оригинала 27 февраля 2020 г. Проверено 13 июня 2020 г.
- ^ «Обзор языка JavaScript — JavaScript» . Developer.mozilla.org (MDN) . Проверено 4 марта 2023 г.
- ^ Рид, Джонатан (2013). Справочник программиста JavaScript . Томас Валентайн. [Беркли, Калифорния]: Apress. п. 2. ISBN 978-1-4302-4630-5 . OCLC 852144161 .
- ^ GitHub — tinyos/nesc: главный репозиторий nesc. , TinyOS, 05 марта 2019 г. , получено 17 марта 2019 г.
- ^ «Язык nesC: целостный подход к сетевым встраиваемым системам» (PDF) .
- ^ http://cdn.oreillystatic.com/en/assets/1/event/45/Go%20Presentation.pdf [ только URL-адрес PDF ]
- ^ https://doc.cat-v.org/bell_labs/squeak/squeak.pdf [ только URL-адрес PDF ]
- ^ «NXC — не совсем C» .
- ^ «NQC — Не совсем C» .
- ^ «PHP: История PHP: Руководство» . www.php.net . Проверено 4 марта 2023 г.
- ^ Освоение параллельного программирования с помощью R: освойте надежные функции параллельного программирования R для ускорения вычислений в области обработки данных . Саймон Р. Чаппл, Эйлид Труп, Торстен Форстер, Теренс Слоан. Бирмингем, Великобритания. 2016. с. 156. ИСБН 978-1-78439-462-2 . OCLC 951337124 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) CS1 maint: другие ( ссылка ) - ^ Аюни, Мансур. Начало кольцевого программирования — от новичка до профессионала . Апресс.
- ^ «Структуры управления — третий стиль — документация Ring 1.16» .
- ^ Команда Ринг (23 октября 2021 г.). «Язык программирования The Ring и другие языки» . Ring-lang.net .
- ^ «Информационная страница библиотеки S-Lang» .
- ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 5 марта 2016 г. Проверено 11 мая 2015 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ «Быстрая эволюция языка программирования» . Гитхаб . 17 октября 2021 г.
- ^ «Быстрая эволюция языка программирования» . Гитхаб . 17 октября 2021 г.
- ^ «Язык программирования V» .
- ^ «Язык программирования Zig» .