« October 2005 | Main | February 2006 »

November 19, 2005

Fortress

I really need to look deeper into Fortress. The recent discussion on LtU serves as a reminder. As a bonus the language spec has been updated.

This is supposed to be a better-than-Java (yes, I know, oh so hard) programming language for doing scientific computation. But Guy Steele is working on it, and some other smart people, and it looks like this one might actually be better. It might even displace Fortran! It might also compete with Matlab, Maple and Mathematica (for non-symbolic work anyways). And it is attempting at least one paradigm shift: units. For that alone, this language is worth keeping an eye on.

Posted by Carette at 10:44 AM | Comments (0)

State Machine Compiler

The Ragel State Machine Compiler looks like a nice way to write a state machine and then get all the tedious things out of it, like code and a graphical respresentation.

This also confirms my impression that I have had for a long time that a state machine is not a ``specification'' but rather a program. My contention there is that if from a source X, any tool-chain T such that applying T to X produces executable code, then X must be written in a programming language. The term executable specification to me is an oxymoron. Google for the phrase and you'll find lots of hits. The current excuse I have heard is that the languages underlying such executable specifications are indeed programming languages, but

Well, as most people know, I am all for higher levels of abstraction in a programming language! Why do those language in question execute slowly? Because they generally are interpreted. Well duh. If some effort was spent on writing a decent compiler, it would not have to be slow.

So what's going on? A sordid tale of two communities: programming language people (who know how to write compilers, and how to make languages that are fast enough) and specification language people (who know how to make expressive languages). And they essentially don't talk to each other. Certainly they barely seem to be aware of each other's work! Of course those specification languages are really hard to compile, which is why programming language people don't design such languages. And of course compilers are hard to write, which is why specification language people don't bother. But still, this seems like a very stupid situation to be in.

Posted by Carette at 10:21 AM | Comments (0)