nixp.ru v3.0

21 октября 2017,
суббота,
06:14:02 MSK

DevOps с компанией «Флант»
anonymous написал 17 января 2003 года в 22:39 (1256 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Казалось бы, зачем придумывать языки программирования, если существующие полностью удовлетворяют практически всем потребностям разработчиков программного обеспечения? Есть специализированные языки для работы с базами данных, языки для написания компактных системных утилит, специализированные математические языки программирования, но идеологи лингвистического наполнения среды разработки не сидят сложа руки. Периодически появляются сообщения о появлении новых библиотек функций, облегчающих труд программистов, совершенствуется среда графической разработки программного обеспечения.

И вот недавно группа программистов из Корнеллского университета (Cornell University) и специалисты лаборатории AT&T из Нью-Йорка разработала новый язык программирования — Cyclone. Он очень похож на используемый многими программистами язык C. Но есть и важные различия. Кстати, именно благодаря им продвижение новинки может оказаться весьма успешным.

Специалисты отмечают, что программы, написанные на C, нередко содержат ошибки, которые проявляются только после запуска готовой программы. Их возникновение трудно предвидеть заранее. А впоследствии 'дыры’, которые вовремя не были замечены разработчиками, с успехом используют хакеры.

Используя Cyclone, можно избежать появления различных уязвимостей в системах защиты программных продуктов. Как правило, ошибки в программах возникают из-за отсутствия проверки переполнения буфера у переменных. В Cyclone реализована проверка переполнения буферов. Таким образом, новый язык наделен огромными возможностями C и при этом — системой проверки переполнения буферов из других языков высокого уровня. Появление Cyclone должно освободить разработчиков программного обеспечения от выпуска все новых и новых заплаток и сервис-паков.

Фактически синтаксис языка Cyclone является копией языка C. Отличие заключается в том, что на процессе компиляции программы к коду добавляются различные проверки на переполнение буфера и на возникновение других критических для работы программы ситуаций.

Выявление 'дырок' в программе компилятор Cyclone осуществляет с помощью встроенного механизма контроля типов. Перед компиляцией программы он построчно проверяет исходный текст, проводит его анализ на наличие потенциальных уязвимостей и сигнализирует о наличии опасных участков программы.

Разработчики предлагают всем программистам использовать компилятор Cyclone для анализа своих исходных текстов программ на языке C. С его помощью они смогут выявить все возможные ошибки типов, которые впоследствии могут привести к переполнению буферов. По выбору программиста компилятор может сам переписать текст программы, исключив из него уязвимые места, или предложит программисту необходимые исправления для удаления уязвимых мест. Даже если во время выполнения программы произойдет переполнение буфера, аварийное завершение программы все равно не случится — программа корректно завершит свою работу.

Создатели Cyclone уже написали несколько программ на новом языке. В их числе — простенький веб-сервер, который невосприимчив к багам, и, следовательно, не является подходящей мишенью для хакерских атак. По мнению разработчиков, попытки его взлома в любом случае окажутся безуспешными. В ближайшее время команда планирует создание клона операционной системы Linux, построенной на новом языке программирования Cyclone.

Пока Cyclone еще не получил большого распространения. Поворотным пунктом в судьбе этого языка программирования стала «Конференция по разработке и реализации языков программирования» (Programming Language Design and Implementation Conference), которая состоялась летом 2002 года в Германии. На ней разработке программистов Корнельского университета была дана высокая оценка. По заключению экспертов, Cyclone является языком следующего поколения и обязательно займет достойную нишу в среде разработчиков программного обеспечения. Большим плюсом для российских программистов является то, что компилятор Cyclone является бесплатным ПО, а это служит дополнительным стимулом к переходу на этот язык программирования.

Anarchist

Язык программирования это, конечно, хорошо.

Вот только использовать компиллируемый язык программрования без наличия компиллятора проблематично.

Вопрос: какие из существующих компилляторов поддерживают этот язык, или таких еще нет?

fly4life
KsiDy
…. компилятор Cyclone осуществляет …

Т.е он и является компилятором. Насчёт того, где взять: есть у разработчиков. Только это хз где и как его у них достать ;))))))))

decvar

взять можно сдесь:http://www.research.att.com/projects/cyclone/

там же и доки….

blacklion

и зачем им нужно было целый «язык» городить ради простой проверки, непонятно. что то подобное есть в netbsd емнип, включая и загрузку либ в случайном порядке

decvar

дело в том, что он в отличае от С — задуман как межплатформенный…

anonymous

Межплатформенный — это как? Типа на virtual machine бегающий? Что-то я не нашел такого на их сайте. И зачем? Так сильно хочется своего варианта «managed code», держать программера за руку, чтоб он ошибок не наделал? Было уже. Скучно…

Good Luck,

UT