Chuck Esterbrook, who created the new programming language thanks in part to poker winnings, says Cobra supports .Net.
The Cobra language, which is based on Python and supports .Net, has gone
Chuck Esterbrook, a language enthusiast and consultant, created the Cobra
language over the last year, working full-time on the project and funding the
effort through winnings from a poker tournament. Now, as the language
approaches a 1.0 release-it's currently at Version 0.7.4-Esterbrook is not
trying to call anyone's bluff. Now that the technology is open-sourced and
available to the community, he is hoping to generate some buzz and hopefully
see a vendor such as Microsoft or Novell take an interest in the language, he
Cobra is an object-oriented, imperative language that embraces unit tests,
contracts and other features. Esterbrook said it is a general-purpose language
that runs on both .Net and Mono, as well as on Windows, Mac, Linux and Solaris.
Esterbrook presented the latest news on Cobra to the Southern California
Python Interest Group Feb. 28 and took the technology to open source the next
day via an MIT license. He had shown the technology in January to a group of
programming language enthusiasts at the Lang.NET
Symposium on Microsoft's campus in Redmond, Wash.
The language also features a series of productivity boosters for developers,
including clean syntax, superior run-time performance, and static and dynamic
Esterbrook said his key influences in creating the Cobra language were
"the big four," namely Python, C#, Eiffel, and Objective-C. However,
other languages such as Visual Basic, D, Boo and Smalltalk played a part.
"Cobra was originally conceived of as a cross between Python and
Objective-C," he said.
Meanwhile, Cobra supports both dynamic and static typing. "Programmers
should choose, not language designers," Esterbrook said. "You don't
have to switch languages to switch approaches."
Dynamic languages are flexible, allow for fast coding and prototyping, and
are less brittle with respect to changes and more reusable, Esterbrook said,
while static languages offer compile-time detection of errors, report multiple
errors at once and are fast at run-time.