Группа программистов из Корнельского университета (Cornell University) и специалисты лаборатории AT&T из Нью-Йорка разработали новый язык программирования - Cyclone.
Этот язык очень сильно похож на используемый многими программистами язык C. Но есть и определенные различия, на которые создатели возлагают надежды по продвижению своей разработки в массы.
Отличительной особенностью языка является то, что изначально разработчиками в него были заложены механизмы, позволяющие избежать появления различных уязвимостей в системах защиты программных продуктов. Как правило, подобные ошибки в программах возникают из-за отсутствия проверки переполнения буфера у переменных. В языке Cyclone реализована проверка переполнения этих буферов. Таким образом, новый язык воплотил в себе возможности мощного языка C и системы проверки переполнения буферов из других языков высокого уровня. Появление Cyclone должно освободить разработчиков программного обеспечения от выпуска все новых и новых заплаток и сервис-паков.
Фактически синтаксис языка Cyclone является копией C. Отличие заключается в том, что на процессе компиляции программы к коду добавляются различные проверки на переполнение буфера и на возникновение других ситуаций, критических для работы программы.
Специалисты уже долгое время высказывают опасения, что программы, написанные на C, часто содержат ошибки, проявляющиеся только после запуска готовой программы. Их возникновение очень трудно предвидеть заранее. Вовремя не замеченные разработчиками ошибки впоследствии позволяют проводить хакерские атаки на компьютеры, выполняющие эти программы.
Уязвимые места в программе компилятор Cyclone находит с помощью встроенного механизма контроля типов. Перед компиляцией программы он построчно проверяет исходный текст, анализирует потенциальные уязвимости и сигнализирует о наличии опасных участков программы.
Разработчики Cyclone уже создали несколько программ на новом языке. В их числе есть даже Web-сервер. В планах команды разработчиков - создание своего клона операционной системы Linux, построенной на новом языке программирования Cyclone.
Пока Cyclone еще не получил большого распространения. Поворотным моментом в судьбе нового языка должна стать конференция по разработке и реализации языков программирования (Programming Language Design and Implementation Conference), которая состоится в Германии летом 2002 года, сообщает АИН.