- Cyclone (язык программирования)
-
Cyclone Семантика: Тип исполнения: Появился в: Автор(ы): AT&T в сотрудничестве с рядом университетов
Типизация данных: строгая, статическая
Испытал влияние: Cyclone (читается «Си-клон» или «Циклон») — язык программирования, предназначенный для замены чистого, не объектно-ориентированного C (т. е. не C++ и не Objective-C) в областях, где его применение традиционно и оправданно (системное программирование, программирование микроконтроллеров). Основная цель разработки — сделать программы на Си более защищённым от ошибок и уязвимостей, таких, как печально известное переполнение буфера, при минимальной потере эффективности и с сохранением преемственности. Идея заключается в том, чтобы взять средства эффективной защиты у языков высокого уровня и внедрить их в язык более низкого уровня.
Основы разработки были заложены Дэном Гроссманом, Тревором Джимом, и Грегом Моррисеттом в Корнелльском Университете при проектировании и реализации языка ассемблера со строгой типизацией TAL[1] (Typed Assembly Language).
Cyclone отличают от Си прежде всего более строгая типизация, и, при необходимости, введение runtime проверок, например, за соблюдением границ массива. Значительно расширена и формализована работа с указателями, тем не менее привычные си-программистам приёмы арифметики указателей продолжают работать. В язык добавлено множество удобных особенностей из C++, C99 и GCC. Введён новый тип данных @tagged union — аналог c-union, сохраняющий информацию о том, данные какого типа он хранит в данный момент.
Самые большие нововведения связаны с заимствованием идей по работе с типами данных из языка ML. Это гибкая система статической типизации, облегчающая описание различных рекурсивных структур (списков, деревьев и т. п.) и позволяющих использовать полиморфизм и обобщённое программирование. Программист может полностью контролировать процесс сопоставления типов в Cyclone
Новый язык очень близок к C, что позволяет с минимальными усилиями переносить на него написанные на C приложения. На сегодняшний день создателям Cyclone удалось разработать простой веб-сервер, который, по их словам, совершенно невосприимчив к обычным ошибкам и уязвимостям.
Версия компилятора 1.0 вышла 8 мая 2006. Распространяется на условияx GNU GPL версии 2.0.
Содержание
См. также
Примечания
Источники
- Cyclone User Manual (недоступная ссылка — история, копия)
- Cyclone: a Type-safe Dialect of C by Dan Grossman, Michael Hicks, Trevor Jim, and Greg Morrisett — published January 2005
- Cyclone: A Safe Dialect of C (недоступная ссылка — история, копия) Страничка AT&T посвящённая Cyclone
- Александр Дорожкин. Слово и дело. Новый язык программирования позволит избежать уязвимостей в системах защиты программных продуктов, Компьютерра (2 октября 2002). Проверено 30 марта 2012.
- M Edwards. New Cyclone Programming Language: Bugs be Gone!, Windows IT Pro (19 ноября 2001). Проверено 15 апреля 2012.
Ссылки
- cyclone.thelanguage.org (недоступная ссылка — история, копия)— Официальный сайт.
- www.eecs.harvard.edu/~greg/cyclone/old_cyclone.html — старая версия официального сайта.
Основные языки программирования (сравнение • IDE • история • хронология) Используемые
в разработкеАда • APL • Язык ассемблера • ActionScript • ABAP/4 • AutoIt • AWK • Бейсик • Си • Кобол • C++ • C# • Cω • Clarion • Clojure • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • Euphoria • F# • Форт • Фортран • Gambas • Go • Groovy • HAL/S • Haskell • Icon • Java • JavaScript • Limbo • Lua • Модула-3 • Object Pascal • Objective-C • OCaml • Oz • Parser • Паскаль • Компонентный Паскаль • Perl • PHP • PowerBASIC • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic (.NET)
Академические IEC 61131-3 Instruction List • ST • FBD • Ladder Diagram (LD) • SFC
Прочие Эзотерические Визуальные Категории:- Появились в 2001 году
- Языки программирования по алфавиту
- Язык программирования Си
- Свободные компиляторы и интерпретаторы
Wikimedia Foundation. 2010.