Cyclone (язык программирования)

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск
<tr><th style="padding:3px">Семантика:</th><td class="" style="padding:3px">

процедурный </td></tr><tr><th style="padding:3px">Тип исполнения:</th><td class="" style="padding:3px"> компилируемый </td></tr><tr><th style="padding:3px">Появился в:</th><td class="" style="padding:3px"> 2001 г. </td></tr><tr><th style="padding:3px">Автор(ы):</th><td class="" style="padding:3px"> AT&T в сотрудничестве с рядом университетов </td></tr><tr><th style="padding:3px">Типизация данных:</th><td class="" style="padding:3px"> строгая, статическая </td></tr><tr><th style="padding:3px">Испытал влияние:</th><td class="" style="padding:3px"> C, ML </td></tr> </table>

Cyclone (читается «Си-клон» или «Циклон») — язык программирования, предназначенный для замены чистого, не объектно-ориентированного C в областях, где его применение традиционно и оправданно (системное программирование, программирование микроконтроллеров). Основная цель разработки — сделать программы на Си более защищённым от ошибок и уязвимостей, таких, как печально известное переполнение буфера, при минимальной потере эффективности и с сохранением преемственности. Идея заключается в том, чтобы взять средства эффективной защиты у языков высокого уровня и внедрить их в язык более низкого уровня.

Основы разработки были заложены Дэном Гроссманом, Тревором Джимом, и Грегом Моррисеттом в Корнелльском Университете при проектировании и реализации языка ассемблера со строгой типизацией TAL (Typed Assembly Language).

Cyclone отличают от Си прежде всего более строгая типизация, и при необходимости, введение runtime проверок, например, за соблюдением границ массива. Значительно расширена и формализована работа с указателями, тем не менее привычные си-программистам приёмы адресной арифметики продолжают работать. В язык добавлено множество удобных особенностей из C++, C99 и GCC. Введён новый тип данных @tagged union — аналог c-union, сохраняющий информацию о том, данные какого типа он хранит в данный момент.

Самые большие нововведения связаны с заимствованием идей по работе с типами данных из языка ML. Это гибкая система статической типизации, облегчающая описание различных рекурсивных структур (списков, деревьев и т. п.) и позволяющих использовать полиморфизм и обобщённое программирование. Программист может полностью контролировать процесс сопоставление типов в Cyclone

Новый язык очень близок к C, что позволяет с минимальными усилиями переносить на него написанные на C приложения. На сегодняшний день создателям Cyclone удалось разработать простой веб-сервер, который, по их словам, совершенно невосприимчив к обычным ошибкам и уязвимостям.

Версия компилятора 1.0 вышла в 8 мая 2006.

Источники

Ссылки


Cyclone
Файл:Cyclone logo.jpg </span>
ca:Cyclone

de:Cyclone en:Cyclone (programming language) pl:Cyclone

Личные инструменты

Served in 0.493 secs.