the ambition
Tunes is a revolutionary, better way of computing, what includes programming. Unfortunately, Tunes is pure vaporware. It exists only in rough sketches in the minds of the participants in the Tunes programme. It is not remarkable that this discussion happened, it is remarkable that the participants tried to organized it, systematized it, and eloquently wrote about it — all in the hope to turn their shared pipe-dream into reality. We all have pipe-dreams and discussion over the ultimate way of doing computing and, more importantly, programming. “Pipe-dream” suggests that such discourse is fueled by daydreaming and illegal intoxicants, but this is not necessarily so. Many people prefer such conversations of radically better ways of computing over lunch, over the one or other beer, or at a first date.
So there are many such collaborative pipe-dreams like the one at tunes.org going on, right now, as we speak,
but in contrast to those, Tunes.org is
- documented more diligently
- with the aim of systematization
- unboring, if you fit the fringe
- in good taste
The Tunes people are not cranks. They are computer scientists with a bold ambition. Many brought their academic life to the platform.
How does the ultimate way of computing and programming look like? The short answer is: we don’t know, because nobody had an opportunity to actually try it. There are many clues, however, and excellent results
of countless experiments do exist. The Tunes lists many of them. The following portals are perhaps the most
pornographic for computer futurists:
- operating systems: http://tunes.org/cliki/operating_20systems.html
- programming languages: http://tunes.org/cliki/programming_20languages.html
- reflection http://tunes.org/cliki/methods_20of_20reflection.html
Commonplace is the observation that humanity is constantly frustrated with computers, because
- things are not automated enough
- it is hard to get mental model of how things work
- bugs
- changing fashions
- lack of integration
- spam, reboots and bot-nets
Perhaps you can name more.
The Tunes people’s critique of today’s computing includes
As a programmer, you know that the status quo is the result of the survival of the fittest, and what “fittest” means here is this:
- the biggest crap (x86 ISA)
- the most byzantine committee-standards (CORBA)
- bloated programs (OpenOffice.org)
- the wheel of reinvention (porting from COBOL to Turbo Pascal to dBase III to C++ to Java)
- or worse, the curse of backward compatibility (again, x86 ISA, legacy apps without source code)
As a programmer, you have opinions on how to fix this pile of coprolithic electronics and programming, of course, and you discuss them with other programmers. And why not? It is an excellent conversation topic, and becomes even more so when aided by alcohol. (For first dates not so much, by the way.)
The Tunes people have fleshed out many exciting and original theses, including:
- kernels are a bad idea altogether
- computer programs must be proofs of their own correctness
- orthogonal persistence makes you happy
- put the garbage collector into the kernel (that does not actually even exist)
The only unoriginal “concept” in Tunes is SPEED. Speed is unoriginal, because raw execution speed is the fetish requirement for all futuristic computing programmes. Nobody knows how truly good computing looks like, but everybody is sure it’d better ran darn fast.
In a word: Tunes is most interesting, and was an inspiration for many a blown night, often to the detriment of other, more productive activities like matching socks or sleeping.
As an implementation, Tunes has not much to show for. Among the millions of futuristic computing programmes, however, Tunes is almost a generation ahead of the competition — 16 years and counting. Nowhere else on the web can you read such an energetic, informed and thoughtful discussion of how to provide for all of society’s revolutionary computing needs. Nowhere else have you such a treasure trove of links that sex you up pretty good if you are a(n) armchair computer progressive. This material can bring life into any discussion on the final OS revolution, the ultimate victory of sense and sensibility. Since the Tunes agenda is vast, here’s the reader’s digest version to bring you up to connoisseur level quickly.
orthogonal persistence
There is no virtual memory in Tunes. The computer treats your entire magnetic memory as RAM. If you turn on your computer, it loads its precise persisted state from memory.
virtual machines
The Tunes programme obsesses over virtual machines, because they are attractive pipe-dreams in their own right. Virtual machines relieve the programmer from the burden of cretinous architectures. It is where hardware, operating systems and programming languages are joined at the hip. The Forth programming language is featured prominently in Tunes, because it demonstrates this point beautifully, in very economical ways. After all, Forth abstracts away hardware and can be hardware, it serves as an operating system and a programming language. Java is known to cover exactly the same terrains and can be used in exactly the same way. However, Java is not even remotely as simple, comprehensible and economical as Forth. And not as powerful.
Lisp
Lisp is not universally liked at Tunes, but all of the participants agree that it is better than most existing programming languages, and that it might be a good foundation for the revolution, before something better can be constructed. Other exotic programming language are frequently discussed, like Joy, Maude and Slate.
reflection and the anti-kernel
The central topic in Tunes is _reflection_, ultimately a programming topic. Tunes programs know a lot about themselves and their components. From this virtue come good things, like insanely optimal optimizations and elimination of kernel technology. Those Tunes programs are supposed to run darn fast, after all. The virtue of introspection has many shapes and faces in Tunes. It is closely related to meta-programming
(program generation) and domain-specific languages. The desire for reflective programs explains the Tunes people’s crush on exotic programming languages like Lisp, Forth and Maude.
- Forth is a reflective language, despite the fact that it is extremely low-level.
- Lisp is not known for reflexivity today, although it is easy to add reflective features. The Lisp machine, for example, was the most reflective platform ever, where all components – down to a single button or the caption on it – were accessible and reprogrammable at run-time, with a click of the mouse. Tunes people like the Lisp machine a lot. Tunes celebrity Francois-Rene Rideau even bought one for himself in 2000 and blogged about it: Buying a Lisp machine in Y2K.
- Maude is an obscure language, here is an overview in wikipedia: http://en.wikipedia.org/wiki/Maude_system. Based on reflection and metaprogramming — it definitely has the Tunes nature. Part of the vision is to write a reflective kernel in something like a better Maude.
- high-performance
- microkernel
- application-centric
Based on these desires – orthogonal persistence, no kernel and ultra-high-level programming – David Madore explains that working with Tunes will resemble working with a HP28-48 programmable calculator, albeit on a much grander scale.
As you see, Tunes is not about a conventional revolutionary computing future. It is decidedly not about new micro-kernel technology, but about new programming languages technology. An example of what Tunes is not can be found behind this link, describing an early attempt to ground Tunes in a a run-off-the-mill computing revolution: http://lists.tunes.org/archives/tunes/1994-October/000001.html.
PIOS, as it was called, wanted to build a better unix, but the initiative was short-lived:
Tunes is very different, that is, more interesting.
If this brief overview of Tunes has made you horny, the best starting point is David Madore’s accessible and lightly written primer: http://www.madore.org/~david/computers/tunes.html.
Less accessible, but eloquently and amusingly written, is ‘Trotskyist Tunes‘.
The deepest and most serious explanation is François-René Rideau’soriginal Tunes manifesto.
And Tunes comes with a FAQ and a mailing list archive, of course.
How do your pipe-dreams of the computing revolution look like? Do your fantasies have the Tunes nature?
Pingback: Yet another 8086 disassembler pet project | Transistorski's Blog
Pingback: A disassembler and Fare’s vision | Transistorski's Blog