Why Another Language

Languages exist, and are designed, for many different reasons and purposes. Some have a clear, practical goal. Others are experiments, agglomerations of ideas from other languages, put together in a new way. Sometimes new ideas are mixed in. Still more are research projects; the very science of computer science, and will bear fruit in the genetics they pass on to real world implementations of their ideas that escape the lab. There are those born of corporate mandate, funded, designed by committee or, perhaps, a vetted visionary or respected greybeard. Many are beloved pets and lifetime hobbies.

Occasionally, a fresh perspective sparks something very different in a designers mind. Not just an attempt to forgo text as the main expression of intent, but sometimes just one element, or a few, central to the core vision for the language. Something without which the language ceases to be what it is, and becomes something else. Lisp has lists. C has pointers. Perl has regular expressions. APL has arrays and special characters. Smalltalk has messages, objects, and the image. Erlang has processes, messages, and pattern matching. Python has indentation, Ruby is meant to be fun.

Red's design comes largely from Rebol. We sometimes use the term Redbol to refer to all Rebol-like languages, which is a fun homophone of Red Bull (a popular energy drink, for future archaeologists). Red's designer, Nenad Rakocevic, gives full credit to Carl Sassenrath for his pioneering work. You, dear reader, must remember to give them both credit, as we see more branches in the programming languages family tree incorporate their ideas.