Cobra Language Slithers into Open Source - Cobra weaknesses and advantages (
Page 2 of 2 )
The Cobra compiler is self-implemented, or "self-hosted,"
Esterbrook said. He said he chose C# as a back end over Microsoft
IL (Intermediate Language) because of the
growing number of super-virtual-machine features in C#, faster implementation
and the ability to piggyback on error checking and command-line options.
However, Esterbrook said there are some weaknesses in Cobra, such as its
lack of maturity and lack of IDE (integrated
development environment) plug-ins.
When compared with Python, he said, Cobra has better error checking,
compile-time nil tracking, first-class contracts and unit tests, speed, default
to accurate math, syntax, and self-hosting.
As for the future, Esterbrook said he plans to create a "Visual
Cobra" plug-in for Microsoft Visual Studio.
His goal for Cobra is for is for it to "be the best, most productive,
high-level, general-purpose OO [object-oriented] language." He also plans
to build in support for Microsoft's Language Integrated Query, as well as
integration with Microsoft's Dynamic Language Runtime.
Other future features will include more sophisticated unit test features,
support for units of measurement, such as feet and meters, compile-time
analysis of contracts, multiple back ends, such as the JVM (Java virtual machine)
and Objective-C, support for parallel programming, lazy arguments, macros, and
leveraging even more of the .Net advances, Esterbrook said.
James Shamenski, a developer and founder of AdventureLink, said he was
impressed with Esterbrook's presentation.
"When I was looking to choose a programming language for my most recent
project, I interviewed all the usual suspects," Shamenski said. "Ruby
is too slow for customers out of the gate. C# takes too long to develop. Python
is a pain to test. Each language has [a] strong upside and Cobra amalgamates the
positive aspects … I want rapid development and lightning performance without
sacrifice. That is the executive promise of Cobra. What coder and suit wouldn't
listen to that? Even fragmented engineering teams from different backgrounds
can now come together [and] that was the tipping point for me."
Shamenski said he was skeptical going into the Cobra talk, but that changed.
"I would definitely be interested in interviewing developers who wanted to
use Cobra," he said. "For someone who thinks that this may be a fit
for their future project, I would spend the next three to six months helping
out the open-source Cobra community to add the features you see needed. In a
few months when you are ready to begin, Cobra will be ready for prime-time
production and probably save your sanity in the process."
Esterbrook is now creating a wiki and an issue tracker
for Cobra that should be done within a week. Developers interested in having a
look at the language should go here.