Notes towards the Aesthetic of Language Design

Introduction

In our work on and with Domain Specific Languages, we have found that there is very little written about what semantic and syntactic structure a language should have. This work represents a collection of long range notes towards a document to address communicating an Aesthetic of Languages Design.

1. The necessity of the aesthetic.

Were all realms of endeavor, all domains of thought, and all avenues of expression representable within formal systems of manageable size, we would have already done so. Inference based Artificial Intelligence would have been successful from the outset, mathematics would be the lingua franca of the art world, and programing languages would be elegant and complete descriptions of the domains they covered.

As this situation does not hold, though the need to work in formal systems grows ever greater, we must seek a means of capturing domains of thought, enabling realms of endeavor, and articulating avenues of expression in these formal systems.

But to formalise the informal? What possible collection of rules and procedures could express this? Is it wise to believe that any formal system, no matter how articulated, no matter how subtle, could provide full and flexible coverage of all domains of knowledge? This is an asymptotically hard problem, the closer we approach it, the more articulated and mature our informalisms become, and the greater demands we must place on this Rule Giver system.

Yet despite this seeming impossibility, formal systems are constructed to cover informal ones daily. This is done in Art, in Literature, and in the Political and Social Sciences. Some of these systems are elegant and clean, they fit in the mind as a polished river stone fits in the hand. Others are the bastards of their author's minds, and cause their users to shudder in discomfort. All that we can say, without fear of contradiction, is that some systems are beautiful, and some are not.

There is a need to formalise systems, and thus a need for artists with the skill to develop beautiful formalisms. And where there is a need for a skill, there is a need for a means of teaching it.

2. Aesthetics are personal.

Inherently lacking a complete formalism, an aesthetic must reside within the individual. An individual may select and seek to emulate the aesthetic of others, but as those aesthetics can never be fully formalised, no attempt at emulation will ever produce more than an approximation.

The individual who wishes to develop an aesthetic must seek a personal understanding of the tensions upon the domain of art studied, and must actively rework this understanding through the course of their life. An aesthetic is nothing more than an unassailable competence, not just in the methods, but in the effects, of a given domain.

3. The trap below and the trap above.

All domains of endeavor are dynamic, evolving with the passage of time. The trap below is to become comfortable with the ground upon which you stand, and to expect it to remain there in the future. A static aesthetic is a dead one, you must seek and probe the boundaries of your domains, or you will become that sad thing - a relic of a dead art.

The trap above is the trap below seen from the view of the journeyman. The knowledge of the journeyman holds her back - when the field constantly changes, how can she ever claim competence? How can she join the ranks of the masters? The journeyman must realise that the field shifts for everyone, and that the masters have to accept the shifts, and to trust in their own judgment.

Given a collection of tensions, it is often possible to find a member of the family of perfect solutions; but no collection of tensions are ever static, and so no perfect solution will ever remain so. Mastery is the ability to discern, not when a solution is as close to perfect as it is possible to achieve, but when it is a close to perfect as it is possible to remain.

4. The pursuit of elegance is messy.

An elegant solution must balance tensions which are often not visible without exploratory implementation.

This is a stronger statement than "Expect to get it wrong the first time, you probably will". For many systems, it is not possible to isolate, and thus to balance, the second or third order tensions until the first order is balanced, due to the strength of the first order problem. Before we can help the starving man with his choice in clothes, we must first address his hunger.

It strikes me that what you're really trying to say here is more like "sometimes the elegant solution cannot simply be written, it has to be created iteratively". Yes, you are saying that but the "messy" term is too vague and you ought to throw the reader a bone by actually saying iteration. It strikes me that a perfect example of this is self-compilation. -Trevor

5. The platypus is beautiful.

The platypus has withstood the onslaught of time. It has survived, relatively unchanged, halfway between a reptile and a mammal, for a very, very long time. Never forget that the aesthetic is a guide towards solutions which will work, which will be elegant.

If you encounter a ugly solution which clearly works, and has persisted unchanged for a long time, there are likely tensions at work which you do not understand. Pick a handful of improvments which you feel are obvious, and look for historical attempts at implementing them. It is likely that these obvious solutions were tried, and have subtle problems that will teach you a good deal about the forces involved.

6. Be wary of hidden ugliness.

On the surface the human mechanism of discrete ovulation seems a brilliant and simple solution to the rather complex game theory situations presented by attracting an keeping a mate. This mechanism has withstood unchanged for a very, very long time. Yet it is a source of constant pain, suffering, health problems and in many situations contributes to the deaths of women everywhere.

Sometimes a complicated replacement mechanism would be better than an elegant hack.

The example here completely overshadows the point. That, and the point is not a directive. It doesn't provide me any means of thinking about the tradeoffs. The first problem is styleistic, but the second is real. I think this facet has to be droped, or at least rewritten completely. -Crutcher

7. Some things are truly unique.

If there were no, or at least very few, atomic ideas metaphors and similies would never fail us. Sometimes an idea is not "like" another, sometimes an idea is only like itself.

This truth is very often ignored in culture where the acceptable way to talk about strange new subjects such as intellectual property is through baroque metaphors about houses and doors. Anyone dealing with formal systems ignores it at their own peril.

Again, the example is too dominant here. But my main concern is that this should not be a single point. We need to discuss the whole arc of the development of sign functions, from metaphor, to dead metaphor, to repositioned forms. We can't just say "ignore it at your own peril", the point is to teach people how to coax ideas, through iterative sign interpolation, towards having a sufficiently accurate representation. -Crutcher

8. Include informal semantics.

The study of artificial languages has produced the concept of a language's formal semantics. The formal semantics of a language are often described by a mathematics developed for the purpose, but it is sufficient to understand that they provide a rigid, totaly unambiguous and precise description of what a language means. As a result, the formal semantics of a language are quite useful for computer scientists, and it is common to implement a language's processing environment through transformations on a formal semantic description of the language.

However, natural languages contain symbols for many concepts which resist being formalised, a classic example being the sememe chair. What is a chair? Of course you know, but can you provide a formal definition? One for which you can find neither positive nor negative counterexamples? (Items which are, or are not chairs, but which your formalism mislabels?). These symbols are quite useful for thought and communication.

When designing artificial languages, you must get the formal semantics correct, or the language will not work, in that it will fail to express and formalise the system you desire to formalise. But you should also attempt to provide means in the language to shape the dialog towards comfortable forms of thought. "Syntaxtic sugar" is an example of this, but it goes deeper.

This is clearly incomplete. How to add informal semantics, and what exactly "informal semantics" is, needs to be added. (within reason, of course.) -Crutcher