Wednesday, January 02, 2008

Friday, December 21, 2007

Making Progresss

It's been a month since my last post, so it's time for an update. I've continued to make progress, most of which is bug fixing. I've also improved several error messages to read more clearly. There are 25 new test programs for a total of 478.

The hardest problems to fix always involve generics. The good news is that after fixing problems with generics, everything else is a cakewalk.

(Note: "CLI" stands for "Common Language Infrastructure" and I reference it instead of ".NET" because Cobra also runs on Novell Mono.)

I've also added a new -embed-run-time option so that you can deliver a CLI .DLL to C#, VB and other CLI users without requiring that they have a Cobra.Lang.dll on their system. Extreme compatibility with C# and VB is one of Cobra's goal. The idea is that you should be able to vend Cobra libraries back out to other CLI users both technically and practically.

I expect to release 0.6 before the New Year.

And I'll be at the 2008 Lang.NET Symposium in late January.

Tuesday, November 20, 2007

Where's Cobra?

The next version of Cobra is still on my hard drive because I'm obsessed with fixing warts and bugs in it. What I'm doing is making the next release more practical for you to sink your teeth into and offer meaningful feedback. (Of course, I make offsite backups to avoid catastrophe!)

The release notes, which I write concurrent to the work, are fairly long and this looks like it will be the largest release yet. Test cases are up to 454 and rising.

I don't have an ETA, but it will be at least two more weeks and possibly longer.

Also, Cobra will be going open source in the future with either the MIT or BSD license. The compiler itself is written in Cobra and much of the source is in an older coding style from when Cobra was less mature so I'll be cleaning that up first. I expect to open the source no later than release 0.7, but hopefully earlier as an independent event.

In non-Cobra news, I've become one of "The Three Hundred". $85/month is a pretty cheap price for longevity!

Saturday, August 25, 2007

Movie Robot or Programming Language?

I scored 14 out of 15 on the Movie Robot or Programming Language? quiz. Should I be embarrassed or proud?

(New Cobra release coming next week...)

Friday, July 13, 2007

Full-Time

I've been part-time on Cobra this whole time... until now. Starting this week, I am full-time on Cobra. This means more releases, more docs and more thorough testing.

There is still a lot of work to do on the language, but as it gets closer to maturity, I'll branch out into a mailing list, a wiki and all that good stuff.

Implementing the compiler in Cobra (by using "snapshots" of the compiler at stable points) continues to pay huge dividends. One type of dividend is benefiting from Cobra's features (contracts, unit tests, the upcoming exception report, etc.). Another is finding bugs quickly because the whole time I'm implementing Cobra, I'm hammering Cobra.

The next release will be out by month's end.

Saturday, April 07, 2007

Cobra 0.5 Released

Cobra 0.5 has been released:

Download Page
Cobra 0.5 Release Notes

Also, there's a budding reference manual.

Feedback is always welcome:
contact -AT- cobralang -DOT- com

Saturday, March 24, 2007

The 400

Forget about the 300... Cobra hit 400... test cases tonight. It looks like a nice, strong number when the test suite finishes:

400 Tests in 00:04:40.7474784.
Success.

I suppose there are really 401 since the compiler is written in Cobra and forms the last and most complex test case.
So Cobra 0.5 is coming up. It will feature:

  • A new trace statement to aid debugging (think "print statements on steroids").

  • Support for optional dynamic typing. Pick static or dynamic at your pleasure.

  • Better error checking and messages.

  • Better "cobra -test" behavior.

  • The usual round of refinements and bugfixes.


I'm in the home stretch for this release with more testing, documentation and packaging to do. And I'm pretty excited about carrying Cobra all the way to a 1.0 release this year!