This is part 3 in a series of articles on obscure programming languages.
The Cyclone programming language is a safe dialect of C. Pure Cyclone programs are not vulnerable to a wide class of bugs that plague C programs: buffer overflows, format string attacks, double free bugs, dangling pointer accesses, etc.
But Cyclone is like C in that it has pointers and pointer arithmetic, structs, arrays, goto, manual memory management, and C’s preprocessor and syntax. Cyclone also adds features such as pattern matching, algebraic datatypes, exceptions, region-based memory management, and optional garbage collection.
Cyclone was created as a joint project from AT&T Labs Research and Greg Morrisett’s group at Cornell in 2001. Cycle v1.0 was released in May 2006.
Why Cyclone?
The C language is highly efficient and gives programmers maximum control over resources. The problem is that it’s very easy to write C code that is vulnerable to attack. Conversely, it is very hard to write C code that is not vulnerable to buffer overflows and similar bugs. And programs written in C are those most in need of hardening: the operating system and network servers. Cyclone thus tries to fill an empty niche: a safe language that has C’s level of control and efficiency.
"Hello, World" in Cyclone
#include <stdio.h> #include <core.h> using Core; int main(int argc, string_t ? args) { if (argc <= 1) { printf("Usage: hello-cyclone <name>n"); return 1; } printf("Hello from Cyclone, %sn", args[1]); return 0; }
References
Article published on July 9, 2008
If you like this article, please share it: |
July 13th, 2008 at 3:49 pm
Any idea if cyclone is still being actively worked on? I can’t find anything about that and it doesn’t seem like the website has been updated since the 1.0 release.