REBOL With a Cause
The Principles Behind Our Language and Company
Tutorials | ||
Learn REBOL (website) |
Revised: 16-Sep-2010
Original: 10-June-1999
Simplicity
We designed the REBOL messaging language for a broad range of users, from rank beginners to seasoned professionals. It was created for anyone faced with solving practical problems in our modern era of computing. REBOL is not just for programmers or the technically inclined.
- Simple Things Should Be Simple
We felt that an important goal of REBOL was to make simple things simple to do. We optimized it for the most common cases... the things people do most often. Of course, not everything in the world is simple. Performing sophisticated tasks is also important, and REBOL offers a smooth learning curve over a wide range of uses, from simple to sophisticated. - Minimal, Consistent Syntax
REBOL has very little syntax to learn. In fact a short 10 Step Introduction is sufficient to educate most users in the fundamentals of the language.
Productivity
We measure software languages in terms of productivity. How much effort and how long will it take to get a job done? The idea of getting more done for less effort is the concept of leverage, and our design of REBOL is about maximizing that leverage.
- Dialecting is Key
In computer language terms, leverage boils down to expressibility and consistency, and REBOL optimizes both. While most languages attempt to improve productivity with the object-oriented technology of the 1970's, REBOL offers greater leverage through a concept known to linguists as context sensitivity, and what REBOL calls dialecting with relative expressions. It sounds complicated, but it isn't. Dialecting is a familiar concept found in natural (human) languages. Doctors communicate in medical terms; musicians in musical terms; fishermen in nautical terms; lawyers in legal terms. Each has adapted human language with variations in vocabulary and grammar that better communicate their concepts. REBOL brings this same power to computer languages -- maximal expressivity for minimal effort. - Open, Shared User Base
The phenomenal growth of the World Wide Web can be attributed to the open distribution of HTML scripts. Every web page is delivered as source text that can be viewed within any browser to serve as an example or just "get ideas from." Countless Web sites were created by simply cloning ideas from other scripts. Hence, the Web became a massive shared archive of example scripts for content developers. REBOL will proceed in this direction as well. The open exchange of REBOL scripts fosters a spirit of cooperation and rapid evolution of new concepts. REBOL Technologies will help facilitate and encourage this exchange by directly supporting archives, directories, and warehouses of scripts. - Serious Power
Although REBOL is designed for easy learning, it excels in sheer power. Under the hood (for experts) the REBOL engine is a first class, functional, symbolic language with a rich selection of built-in datatypes, object support, incremental refinement, integrated networking, and automatic storage management. In addition, REBOL is its own reflective meta language.
Communications
Communications is key. The production, exchange, and interpretation of information is the basis of our modern society. Computers play a critical role in nearly all aspects of communications from preparing documents to presenting graphics, sending email, surfing the Web, etc.
- Integrated Internet
REBOL was designed for communications from the start, and integrates the major Internet protocols seamlessly into the language. For beginners, Email, FTP, and Web communications can be handled directly without knowledge of networking technology or software structure. However, advanced users can connect directly to Internet sockets and invent their own network protocols. - Dialecting Meets Messaging
In REBOL, when the capabilities of communications are united with the leverage of dialects, an extremely powerful concept emerges -- one we believe to be so important, we've given it the name messaging language. The characteristic of a messaging language is that it transparently allows relative expressions to be exchanged between applications, computers, and people. In fact, the English language (and all other natural languages) are messaging languages.
Independence
Free from the crowd. Free from the system. Follow your own path. Independence is the cornerstone of progress and innovation. In a chaotic world, being flexible and independent keeps you alive.
- Platform and OS Independent
The same REBOL script will run in an identical fashion on a wide variety of platforms, including Amiga, BeOS, BSD, Linux, Macintosh, Solaris, Unix, and Windows. More will be added over time. Because REBOL was developed, implemented, and tested entirely by us, you can be guaranteed that a REBOL script will be compatible across systems, without worrying about minor variations caused by processor brands or operating system functionality. - Free Distribution, Rapid Download
REBOL/Core, the core of the language, is now available free of charge from our Web site. This is a fully functional product and is totally free from shareware gimmicks such as time-outs or restricted file access. In addition, the REBOL system distribution will be small enough to download quickly (about as long as it takes to wait for the full display of a major web site). - Standard Source
Finally, REBOL establishes a standard lexicon that is independent of one particular country, currency, decimal notation, date, etc. Currency, for instance, can include international standard symbols, such as USD$100.00 or DEM$20,00.
Humanity
In the end we believe computers should serve humans, not the other way around. It's time for us to stop molding ourselves around computers, and start molding computers around what we want. After all, computers are just tools... right?
- Readable Code & Data
Readability was an important objective of REBOL's design. Most computer languages are filled with unnecessary punctuation that makes them difficult to read and write. REBOL also stores and transfers all of its data as text allowing it to be viewed and edited by humans, but also be sent and received over email, websites, usenet and more. This approach also lets you inspect and make corrections to REBOL data and code with just a text editor. In addition, REBOL provides a standard format for script headers, so you can determine what the script does with just a glance. - International
REBOL is intended to be as international as possible through the support of character encoding standards, datatype formats, error messages, word aliases, etc.