Jul 09

Cyclone 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

Share and Enjoy:
  • Twitter
  • Facebook
  • Reddit
  • LinkedIn
  • Digg
  • DotNetKicks
  • StumbleUpon
  • Slashdot
  • Technorati
  • Google Bookmarks
  • Print
  • email

Article published on July 9, 2008




One Response to “Cyclone: Obscure Programming Language of the Month”

  1. SeanJA Says:

    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.

Leave a Reply