Windows IT Pro is the leading independent community for IT professionals deploying Microsoft Windows server and client applications and technologies.
  
  
  Advanced Search 


Return to article

New Cyclone Programming Language: Bugs be Gone!
 

Cornell University and AT&T Labs are developing Cyclone, a new computer programming language similar to C but much more difficult for programmers to introduce bugs when writing code. The developers claim that Cyclone's data representation and calling conventions are interoperable with C-like programming styles, which should simplify porting code to Cyclone. Cyclone helps make code safer by enforcing checks through a type library. If the compiler finds problems, it can rewrite the code or suggest possible ways to rewrite the code manually. In addition, data type information and runtime checks help prevent array boundary violations, also known as unchecked buffers or buffer overrun conditions.

According to the development team's Web site, Cyclone offers a variety of other programming features, including tagged unions, parametric polymorphism, pattern matching, exceptions, anonymous structs equivalent by structure, parameterized typedefs, an extensive library for container types and common utilities, a lexer generator, a parser generator, and function-level debugging with tools such gdb and profiling with gprof.

Linux x86 versions currently support Cyclone. Windows platforms also support Cyclone using Cywin software that provides a UNIX environment for Windows platforms. Although the development team says that they've had success using Cyclone on Unix varieties such as BSD, Irix, and Solaris, your mileage may vary on those OSs.

Because Cyclone is a joint effort, content licensing varies depending on who provided the particular content. The development team suggests that you inspect each directory to determine the proper licensing for the respective components. You can download a copy of Cyclone and review the online documentation at the development team's Web site.







Reader Comments

Warning; Cyclone (in contrast to Bell Labs tradition, in which a BSD-like license is used) is GPLed. And it appears to add its own (GPLed) code to the binaries it produces. Since there are no terms in the license that say otherwise, the inclusion of GPLed code in the finished product means that binaries produced with Cyclone are "contaminated" by the GPL and effectively cannot be sold as commercial products. Be careful before using Cyclone until and unless these legal issues are resolved. Hopefully, AT&T will reconsider the licensing of Cyclone and release it under a truly free license (such as the MIT X or BSD license) so that it can be used by commercial programmers.

Brett Glass -November 20, 2001

"Micsosoft Business Systems Division (BSD)" excuse me? Who is "Micsosoft"? And what is this mythical "Business Systems Division"... funny, last time I checked, BSD stood for Berkeley Software Distribution, and was a trademark of WindRiver Systems, not this mythical "Micsosoft". ffs, what is the world of 'journalism' coming to when a contributing editor (that's you, Mark Joseph Edwards) cannot even cut and paste properly? To whit, the original quote from the site is: "We have had some success on BSD, Irix, and Solaris systems, but your mileage may vary." Perhaps you should take your "Micsosoft" blinkers off for a moment and step out into the real computing world for a while...those who are already in it know that BSD certainly does not stand for the same things "Micsosoft" does.

Zephyr -November 20, 2001

Thanks for point out our error regarding BSD! It is now fixed.

Mark Joseph Edwards -November 26, 2001
Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro DevProConnections IT Job Hound
Left-Brain.com Technology Resource Directory asp.netPRO ITTV Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 © 2009 Penton Media, Inc. Terms of Use | Privacy Statement