A technology centered weblog

Cobra language slithering to open source

San Francisco – Cobra, a .Net-based programming language, is being readied for open source release as an all-in-one solution to address multiple needs in software development.

Now in a beta stage of development, plans call for offering the language as an open source offering later this month under the MIT license and having a general, 1.0 release ready some time this year, said Chuck Esterbrook, the author of Cobra. Cobra runs on .Net and Novell’s Mono, which enables .Net applications to run on Linux, Solaris, Mac OS, and Windows.

“The idea is to take productivity boosters that are currently scattered among different languages and bring them together in one language so you can get the benefits of all of them at the same time,” Esterbrook said. Cobra is intended as a general-purpose language for building any type of application.

Users would get static and dynamic binding, which is featured in Objective-C and Boo; the expressiveness and quick coding of Python, Ruby, and Smalltalk; and the runtime performance of C#, Java, and C++, the Cobra Web site says. First-class language support for unit tests, now highlighted in D, also would be part of Cobra.

Also featured is a software contracts capability for object-oriented programming. Software contracts serve as an interface to the methods they describe, Esterbrook said. This capability currently is featured in the Eiffel and D platforms.

Cobra could save developers work. Citing the example of a program developed in Python and then ported to C++ for performance reasons, Esterbrook said Cobra is different in that it offers both rapid development and performance.

Cobra serves as a compiled language that has optional dynamic binding, providing improved error messages and performance, Esterbrook said. Development of Cobra is being done on both Macintosh and Windows; it also is being tested on Linux.

Additional refinements in Cobra include defaulting to accurate decimal math and detailed postmortem exception reports. Cobra offers “a practical synthesis of already-proven features that are currently scattered across multiple languages,” the Cobra site states.

Cobra’s naming was derived from its taking its syntax from Python. Until Microsoft‘s Lang.Net Symposium in Redmond, Wash., last week, the project was in a stealth mode, with fewer than 10 serious users.