A Warrior's Programming Language
last updated 7 October 2003
I enjoy playing with "what-ifs" and that sort of thing. I've written a few fanfics for Star Trek and Babylon 5, and I've got my own grand scifi plan perking through my head (though it won't see the light of day for a long time to come). I've created a couple of languages a la Tolkien and I've run a few role-playing game campaigns. The idea of creating a culture from scratch is utterly fascinating to me, and that is where Var'aq came from.
This page is sort of a speculative glance at what a programming language on a Klingon computer system would look like. The language itself is named var'aq, which happens to be meaningless in standard Klingon but sounds like it might be named after some famous Klingon computer scientist or mathematician. It's really something of a Klingon Basic, a simple, loosely-typed programming language designed mostly just to be used for programming things like command displays and high-level control systems. In its eventual final incarnation, we're looking at concurrency, advanced mathematics, and even native support for distributed programs (try finding that in the C++ standard library).
This page is a bit more than that, though. In it I try to imagine what Klingon hacker culture is like based on what's known about Klingon culture in general. For example, it's a man's world on Qo'noS, Chancellor Azetbur's history-making tenure notwithstanding. Most men are warriors at heart, seemingly taking little heed of home life or those things that do not contribute to honor (why do you think Klingon sex is so rough? Klingon women get so little...). One assumes a rough-and-ready, make-do attitude that assumes that bigger-better-faster is at best a waste of time. A Klingon warrior might love to play Quake once in a while (but wouldn't admit it due to a lack of real blood), but would most likely see the 1GHz Athlon in the box being devoted to realtime, near-photorealistic slamming of texture-mapped polygons to be a dishonorable waste of computer resources. Far better, when you need power, to string a bunch of processors together Beowulf-style, yes?
Var'aq and its accompanying information aren't quite here yet, but until they are you're welcome to send whatever you think might be of interest to this page.
Table of Contents
var'aq went public as of 7/26/2000. This is everything you need to know about it.
DISCLAIMER: I am not associated with Paramount, the Klingon Language Institute, or Marc Okrand, nor am I a personal friend of Chancellor Martok or anyone in the Klingon Defense Force. I have gotten email from Dennis Ritchie, but that's not really all that relevant.
- DOWNLOAD -- varaq-current.zip -- varaq-010201, the Azetbur release (named for Azetbur, the only female Klingon chancellor, from Star Trek VI: The Undiscovered Country), is the current version of var'aq.
- varaq-unstable.zip -- Currently martoq, after the General and Chancellor from DS9. For the truly adventurous.
- The var'aq Specification, in which I describe what a var'aq implementation is supposed to have.
- current.html -- A quick guide to what's bleeding edge right now.
- The Proposals Page -- Anything that might go into the spec eventually will be found here.
- The var'aq FAQ -- everything you'd like to know about the project that isn't covered in the docs.
- The var'aq Technical Manual, a grab bag of interesting information about the language and interpreter. To be considered a work constantly in progress.
- A page of interesting or useful code snippets.
- varaq/proposals/ -- the location for things that are under consideration but haven't been added yet.
- varaq/old/ -- if you're looking for an older release of the software, this is where you look.
- The Obligatory Links Page.
- Offsite you will find Mauro Persano's C interpreter. It implements more of the spec than I have, and includes currying (vergh, or docking) as a feature (to be added to the spec eventually). It doesn't function interactively or support Klingon keywords (yet), but it does include a program to generate digits in pi.
- Also offsite is Scott Willis' var'aq page, home to most of the nontrivial var'aq programming that's been done. A must-see page if you're into the language at all.
- At the bottom of the page, you can find information about the varaq-dev mailing list at eGroups. If you're interested in playing with var'aq, this is the list to sign up for.
Brian Connors, 5.12.2000
Click here to return to my home page.