|HOME | INFOTECH | HEADLINES|
September 29, 1999
Carl Sassenrath has written a new scripting language for computers. It is called REBOL. Carl believes that REBOL is going to be revolutionary because it is very much like everyday English and less like math or a computer language.
When we use formal languages like the symbols of arithmetic we cannot have any ambiguity in them. A mathematical expression cannot be mistaken for anything else but what it means. That is how formal languages of mathematics are.
But our everyday languages like English are not like that. They are informal. One expression can mean something in one context and completely different in another context.
This is where trouble begins. Humans take more naturally to informal languages like English than formal languages of math and computing sciences. That is why most people find it difficult to learn a computer language that they can use to build useful applications.
Carl hopes to fix this problem. To make man-machine interaction more natural for humans he has invented REBOL, a computer language whose expressions will be context sensitive like English but without its ambiguities so as to be functional on a computer.
The immediate implication of REBOL is that the technology laity will be able to write computer applications and small software without much learning. The larger good about REBOL is that it is a significant step towards making logic driven computers understand humans more directly.
Computers did not impress Carl when he was a teenager. His love was the camera that he found to be more expressive than a computer. But he discovered in him a greater talent for computing when he was forced to study it at university.
Since then Carl has not only invented REBOL, he has set up his own computer company REBOL Technologies. He corresponded with Srikant Sreenivasan to discuss his passions and the several issues that surround REBOL. Excerpts:
Why did you feel the need for another scripting language?
That was the same question asked in 1982 when I started working on it! Of course, that has not stopped anyone. Has it? Back then people would ask: 'Why does the world need another language?' But did Larry Wall (PERL) and John Osterout (TCL) and many other people listen?
I did. So I waited for the next wave of languages to happen, expecting that one would meet my requirements.
But, to answer your question, REBOL is actually much more than a scripting language and it is also much more powerful in its design than other scripting language, or even most programming languages.
For instance, REBOL is a highly reflective language. That is, it is its own meta-language!
The goal of the REBOL design was to create a 'communications language'.
It's not just for scripting or logic. It's also very good at data relationships and descriptive coding. Its ultimate power comes from its ability to create specialised domain-specific sub-languages that give you greater leverage on a particular solution but without users needing to know much about programming.
The goal of scripting languages has been to make programming easier for the non-professional. But it seems that this has not happened? What, in your opinion, went wrong?
Computation is computation. If you go the programming language route there is no way around teaching people what a variable means or what a loop is. A certain level of abstraction is required for scripting to be of use.
Also, you must understand a wide number of interfaces to different modules in many scripting languages. If you want a language that's good at programming, it has these complexities.
Do you feel REBOL fixes this problem? Could you give specific examples to explain how REBOL could be easier for the non-professional to programme in?
Yes, but through its domain-specific dialects. A domain-specific dialect allows users to just focus on what they know. For instance, if you are a stockbroker you might write:
sell 100 shares of "Microsoft" MSFT at $95.00
buy "hamburger" and "milkshake" for $2.99
This is much easier to read and write. You can read it and understand it... AND your computer running REBOL can read and understand it too.
You can imagine hundreds of other dialects: one for e-commerce, Web page building, medicine, law, GUI descriptions, network configuration... This is a great strength not available in other languages.
In addition, for scripting, REBOL has many other advantages. It contains many more built-in data types than most languages.
For instance, most languages have integer, floating point, character, string, and array. REBOL has many more, including time, date, money, email, URL and tag.
Second, when performing network operations, you don't need to try to figure out what network modules are required to get your script to work. REBOL builds all of that capability into the core program. To send email:
send email@example.com "Hello there!"
No special module or include file is needed.
send firstname.lastname@example.org read http://www.rebol.com
What finally made you decide on beginning the REBOL project?
The exact week was in September 1996 while installing a Linux server! It had far too many configuration languages for set-up. For instance: inetd, email, DNS, httpd, cron jobs and shell scripts.
I began to think how great it would be to have ONE LANGUAGE that could handle all of those things in a consistent manner but have the power to express descriptive information like configuration data.
Tell us the fireside story? How did it all begin? What were the triumphant moments? What were the real tough issues? How did you resolve them?
I have been working on the REBOL concepts for nearly twenty years. Especially during the last eight years there have been many difficult decisions to make.
Designing a language that contributes to computer technology requires a very difficult balancing act. Most languages should never have been developed because they don't give you much that is new. There is a lot of theory applied in REBOL but it is also meant to be very usable. I wanted it to have a smooth learning curve from the beginner to the advanced user.
REBOL is much deeper than it first seems. On the surface you see a reflection that looks much like other scripting languages but that is an illusion I put there to help people get started with it. There is much more to it. However, to get things done, you don't need to know everything. A small amount gets you a long way.
I think one of the most difficult realisations for me had to do with object-oriented methodology. I first got involved with OO back in 1982 at HP at an alpha test site for Xerox PARC's Smalltalk language.
I became an OO maniac because at that time I believed that OOL was going to save the software world. It took me more than eight years to discover otherwise and realise that people were not becoming more productive even with the best OO languages.
Then it all became clear. The solution is not objects... there are too many tedious interfaces that must be understood to even write a single line of code.
I thought about what alternatives there were and human language stood out to me as a good example of getting leverage... So, I took some of the concepts from human language and put them to work in computing.
How many people were involved in the project and what their profiles were like? What role did each play? Who were the most significant contributors and what those contributions were?
I wrote the alpha version of REBOL myself along with its manuals. The current version of REBOL involved a very small team. I designed the language, its architecture and core interpreter technology. Jim Goodnow, famous author of the Aztec C compiler, created the I/O port system and data type operations and got the memory system working as well. Sterling Newton, a new graduate from UC Berkeley, joined us and wrote most of the network protocols. Jeff Kreis, a recent addition to the team, wrote the NNTP protocol.
What do you think should the positioning of REBOL be? For instance, PERL seems to be more of a tool for a systems administrator and Web developers and TCL/Tk is more favoured by X-windows applications developers.
Universal Internet Communications Language. One language that spans all platforms from servers to desktops to set-tops.
REBOL is very scalable to millions of devices for the exchange of information whether it is data or code. We see REBOL as sort of final evolutionary point for XML because REBOL goes much further and is much easier to deal with.
Why didn't you opt for an open source model for creating REBOL? The REBOL site claims that it is too early for making the language open source. But don't you think it makes more sense to go open source right from the beginning so that key architectural issues are exposed to more eyeballs. Besides, early adoption of open source model could also significantly win devotees for the language? How do you explain these issues?
We have thought many long hours about this. But our observations show that new ideas are torn apart by open source.
We don't believe great and consistent designs happen this way from the start.
'Everything' in REBOL is done for a good reason. There are hundreds of design issues... each that needs to be considered carefully. In addition, we want to guarantee that a script that runs on one platform will absolutely run on all of the other 35 platforms we now support and the 50 platforms that we will be supporting soon.
The development of all languages is handled by groups of professionals interested in their future. XML has W3C. PERL has perl.com and Python has python.org. Who do you see as the mentors of REBOL apart from yourself or your company?
Yes. But most of these languages were not designed by groups like this! Most were designed by one or two people. Great designs do not come from committees. They come from individuals who know precisely what they want to achieve. Someday REBOL will have such a consultant group... but the language must mature a bit more before that can happen in a productive manner.
When did you first start using computers and where did you first encounter them?
Actually, I was born a media person. I owned my first camera at the age of 8 and was a filmmaker as a teenager.
When I was 14 in 1971 I became involved in television production and broadcast at PBS and ABC networks stations. And by the time I was 16 I was a technical director for shows like the 6 pm news.
All that time, I thought computers were dull. They lacked expression compared to television and film. I would not go near computers despite the urging of my high school teachers and friends.
However, in 1975 at the University of California I was required to take computer courses. I delayed as long as I could but found that I was the top student in my class of 400! So, I became more interested.
As a student, I got a job writing computer programs for neural physiology and behavioural biology departments at the university and that was quite interesting to me.
What kind of computers did you work with first? What was the first computer that you owned?
My first computer was a Burroughs B6700 dual processor stack machine at UC. I had a friend who worked as an operator for it and she would sneak me manuals about its internal architecture. It was a great computer with an OS that was completely written in Algol. So, it became a great challenge to understand it.
The first computer that I owned was the one I built myself in 1980 while at Hewlett Packard. It was a Z80 with an S100 bus and 16K of memory. It ran CP/M, but I also began writing my own OS for it, because I figured that microcomputer systems might become very important someday.
When and how did you get interested in language theory?
I've had a fascination with languages for my entire life. As a kid, I used to listen to short-wave broadcasts in foreign languages just to try to see if I could understand their structure. It was fascinating to me that I could not understand what was being said and to think that in those other lands they may not be able to understand what I was saying.
Language seems so intrinsic to our beings, yet it is so relative.
As an undergraduate at the university, I began taking graduate courses in language design and theory. I did so well that the professor hired me to become a teaching assistant... which was a problem because the university did not allow undergrads to TA grad courses.
I dove eagerly into every computer language there was and wrote dozens of interpreters and many compilers over the years.
Why did you decide to start REBOL Technologies? When did you begin it?
I decided to start RT in 1996 because I was growing very tired of the way computing was headed. It has become much too complex!
Computer software, even to do relatively simple tasks, often takes too many programmers, costs a lot of money and takes too long.
The idea behind REBOL was to build a more creative and more powerful approach to computing and the way we communicate with computers... AND the way computers communicate with computers.
After all, how does your computer really talk to mine? Right now it requires me, as a human, to do all the work.
We've begun with the release of REBOL/core, but there are more important ideas in REBOL that we have not yet announced.
They will give it even greater power and leverage in solving problems, yet in a very natural and human way. We will be posting more about this to our site very soon.
I cannot see languages like C++, Java, or PERL taking us to the stars. Object-oriented programming is not the answer. I can truly say this because I've been involved in object-oriented programming since the beginning. It does not increase productivity. It does not give better results.
The answer to our problems rests in the natural characteristics of language and expression, not in objects.
Nature is our best teacher.
How big is RT today? What is the future of this company? How do you see it growing?
RT has 17 employees and 7 contractors. We are growing very quickly as people begin to understand where our technology is headed.
So far we have had 75,000 downloads of REBOL and many of those are from big corporations throughout the world.
Our start-up funding has come from Avalon Investments, a company started by Ted Waitt, the founder of Gateway Computer, and Rick Snyder, Gateway's president for many years.
They have the vision to understand what REBOL is all about.
RT will continue to grow at an increasing rate because the REBOL technology can solve the problems we face in our fast moving Internet era of .COM companies. REBOL will soon span all computers from your PDA to your TV set-top box, to your desktop computer, to your servers. It can be applied on a huge scale to the great benefit of us all.
In the end, REBOL truly unifies the direction and focus of the computing world at a time when so many other forces are ripping it apart.
In this regard REBOL shares many of the same characteristics as the Web and we believe its impact will be equally profound.
Programming for Dummies
BOOK SHOP | MUSIC SHOP | GIFT SHOP | HOTEL RESERVATIONS | WORLD CUP 99
EDUCATION | PERSONAL HOMEPAGES | FREE EMAIL | FEEDBACK