Home   Archive   Permalink



Carl Sassenrath on REBOL (in His Own Words). Also, How 'the REBOL Community' Never Understood REBOL

Carl Sassenrath and His Design of REBOL
    
# REBOL is for Distributed Computing
    
"The primary concept behind REBOL is distributed computing."
    
"One of my primary reason for designing REBOL was to solve the problem of how you share information and processing between many different computers at the same time.
    
"I call this the distributed computing (disparate systems) problem".
    
"REBOL was designed for distributed (disparate systems) computing, providing not only the semantic exchange of information (data and metadata), but also the interpretation of that data. These are essential requirements of the XNet."
    
> Carl was 25 years ahead of mankind. You can think of XNet being IoT and event-driven architecture though Carl did not have those words in his vocabulary at the time.
    
"This aspect is its greatest strength; it's meant to offer a better approach to the exchange and interpretation of information among people, computers, and application software."
    
"I call R E B O L [a virtual computer that has] a messaging language, because it's intended to be used in the same way as English: for communications, not just algorithms."
    
"Also, the primary reason that I created REBOL was that I wanted more than just a programming language. I wanted a way to write applications that would run on any machine, and more importantly, that could intercommunicate with programs on any machine."
    
The Language of the REBOL Virtual Computer
“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.”
    
# English-like Messaging
    
"[A] goal of the REBOL design was to create a communications language."
    
"The language is designed to flow in "sentences" rather than being chopped up with parentheses or statement separators."
    
> Most of "the Community" missed this. Carl designed the language for pipeling and not for order-dependent sequential processing.
    
"It [REBOL] strives to offer a new and more natural approach to communications, not only between you and a computer, but among computer applications. It takes a big step toward unifying and simplifying expressions by using language techniques that are more like our natural human languages.
    
# Domain Messages
    
"[REBOL's] ultimate power comes from its ability to [support] specialised domain-specific sub-languages that give you greater leverage on a particular solution but without users needing to know much about programming.
    
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.
    
# Expressiveness
    
"It [REBOL] works equally well for expressing data as well as code."
    
"REBOL was designed from a meta-circular view of language semantics. That is, REBOL is what you need it to be. It morphs to provide the maximal expressive power for any problem."
    
"For instance, it includes 40 native datatypes (most languages have five or six), 14 Internet protocols, compression, encryption, and reflection built-in. You don't need to remember what library to include or to link with."
    
# Design Goals
    
"Over the past two decades ... I investigated more than 50 different languages, from Ada to C, from Pascal to Lisp. I wanted a language that was very simple and readable with almost no syntax, yet very flexible with a wide degree of expressive freedom.
    
> Carl worked for Apple for a short while and likely was there during the "language thrash". Though he is mum on it, Carl took something from the Newton device and Newtonscript, at least for the GUI.
    
It needed to allow a script to run on a great number of platforms without modification, have an extensive set of built-in data types that felt natural to humans, and smoothly support all of the standard network protocols, such as HTTP, FTP, POP, SMTP, NNTP, time, finger, whois, and more. And finally, so that I could use it everywhere,
    
I wanted the entire package to be small (less than 200KB) with no installation hassle – just copy it and run. More than anything else, I wanted a language that was friendly, usable, and highly productive."
    
# REBOL is Not a Scripting Language
    
Creator Carl Sassenrath had a rebellious streak when he created REBOL. Like Chuck Moore of Forth fame, Carl chucked conventional wisdom.
    
Carl Sassenrath said that REBOL neither a scripting language nor merely an interpreter as too many computer nerds wrongly believe it to be.
    
"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.
    
"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.
    
"[REBOL] not just for scripting or logic. It's also very good at data relationships and descriptive coding.
    
"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.
    
"[With REBOL] 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."
    
# REBOL is not C
    
Here is what Carl Sassenrath said about those who do not understand REBOL.
    
"When I ... released REBOL, I ... introduce[d] ... a simple approach to programming. [T]o help convince new users, I posted a great number of examples ... I wrote simple scripts of all kinds. My motivation was to attract new users to try our unique approach, and the scripts were just the candy.
    
"Early on, many programmers who encountered REBOL ... concluded that REBOL was too simple.
    
"Since those days, I've glanced over a lot of REBOL code written by a wide variety of programmers, and quite often I'm floored. Many programmers use REBOL like they're writing in C or BASIC. I can spot it in an instant; they did not bother to learn the fundamental concepts of the REBOL language. When I see that kind of code, I wonder why they bothered to use REBOL at all. C is better written in C.
    
"... REBOL is one of the deepest languages ever designed.
    
"REBOL is not for everyone. REBOL is advanced. It promotes the concepts of symbolics [sic], context, and environment as powerful tools, going far beyond the traditional ideas of functions, objects, loops, and if statements.
    
"REBOL is for a different breed of programmer. It is for those with open minds; those who are reflective, observant, and those who do not simply bang out any kind of junky code that works, but consider each detail of their design, and sculpt it perfectly as a lasting work of thought.
    
"... REBOLers have different priorities, different values. REBOL is for a different kind of programmer. We are of the old school but of the next generation. We want more from our language. Sure, we can write simple scripts, but even better, we can write powerful programs that are the size of simple scripts.
    
"REBOL is for those who of us who think differently."

posted by:   Stone Johnson     17-Sep-2024/21:23:34-7:00



It was an all-or-nothing approach that short-changed REBOL. Bend your mind to REBOL and write everything on all systems in REBOL to get its benefits, or we're not interested.
    
It became nothing.
    
There is much more that can be done with the REBOL concepts if you make an effort to understand other people and systems to interface with them.

posted by:   Kaj     18-Sep-2024/9:09:07-7:00



Well, Carl was trying to get rich on the Dot Com bubble. He lacked business sense. His plan was poorly executed:
    
Create a proprietary language for a business concept of IoT distributed computing and try to get sysadmins who use Python and Perl scripting to force a bottom up adoption.
    
Most anyone under 50 likely does not know about computing, its rapid rise in business. So they would not understand from where Carl was coming.
    
In the early days, post WW2, only banks and insurance firms had mainframe computers. All coding was done by the firms renting these mainframes, typically IBM, and written in FORTRAN, PL/1 or COBOL, depending on the year.    
    
Tymshare Corp hit the scene in the 1960s and created RETRIEVE, which let firms develop DB applications in-house by department domains rather than outside computer firms like IBM. That was a big deal.
    
Firms of more industries were adopting mainframes at this time, especially accounting departments in manufacturing of all kinds.
    
DEC started eating away at IBM by selling minicomputers (not the same thing as NUCs today). It was in this era firms began creating in-house IT departments with their own roster of programmers.
    
Then the PC came along. LOTUS 1-2-3 and dBASE II changed everything. These brought computing and simplicity to astute businessmen.
    
Before long LANtastic and Novell Netware made PCs competitors to minis which ate into DEC who had significantly damaged IBM.
    
But even up to 1994 - 1995, most businesses still were not computerized. Windows 3.1 was terrible. Apple's always crashing OS was even worse. By this time, graphics departments were using the latter.
    
But what started accelerating PC adoption were CompuServe, Prodigy and AOL. Netscape hit and that started Internet adoption.
    
Then Windows 95 hit and that accelerated PC adoption along with Internet adoption.
    
But the reality is that most computer users arose in this era and they were users, not programmers. They could point, click, add data to already-made spreadsheets, use GUI programs but not write those. They could download freeware / shareware from Tucows.
    
Carl, who came from another time, was trying to recapture his AmigaOS glory and his experiences with LOGO. He thought he could bringing programming to the masses through a low-cognitive load concept: the series!
    
Ironically, the series! confused the REBOL community, which consisted of comp sci grads. They could not grasp that REBOL kernel internals could turn a block! into a hash! through a directive make hash! No, they needed to see key-value pairs in the concrete. What hubris-suffering dopes they were.
    
Anyway, likely, Carl envisioned a future of smart workers who would be writing their own little GUI programs to send each other work-specific dialects, e.g., SELL 100 shares IBM at $50.
    
Carl, being a computer world nerd (HP, Commodore, Apple), did not understand what politicians were doing to the USA—the massive demographics shift that was producing a middling intellect workforce (90 IQ to 109 IQ) of females and Third World foreigners. They were never going to be smart enough even to make their own little work tools with something like REBOL.
    
So Carl pivoted to an insufferable people—Europeans. EU people are caustic, snooty and think far too highly of their intelligence. All one needs to do is compare the IQs Anglo-Saxon descendant Americans to "white" Europeans (110 to 99) to see how dopey the typical European is and why most are welfare-gimmie social democrats.
    
Anyway Carl developed REBOL with his California possibility mindset for a USA that was quickly disappearing. That and how Silicon Valley conspired with Microsoft, Apple, etc. to make the browser the ONLY GUI for all things the Internet is why Carl failed.
    
Carl also missed the boat on Linux, Moore's law shrinking components while making those shrunk components ever more powerful.
    
Other things came along. The world does not stand still. CURL exists. It is way better than internetworking in REBOL.
    
Carl should redo REBOL, strip out GUI and internetworking and instead, make it easy to plug into stuff like CURL and IUP over GTK. Of course, Carl would need to make it JIT.
    
Carl failed at REBOL Technologies. REBOL the language itself did not fail.


posted by:   Stone Johnson     18-Sep-2024/12:27:59-7:00



I am too snuffy and too busy thinking too highly of myself to even bother to write this answer.

posted by:   Arnold     18-Sep-2024/13:09:13-7:00



A saying: "Once, an old man was asked what he would change in his life. The old man replied - nothing. After all, I am made up of the events that have happened to me in my life. Change my life, and I will change..."
Carl made REBOL the way he did, and there can be no "what ifs," otherwise it would no longer be the REBOL we know.
I talk about REBOL with the words "Look how thoughtfully and simply everything needs to be done," because it is very well thought out and simple.


posted by:   Sergey_Vl     19-Sep-2024/22:50:04-7:00



@Sergey_VI Yes, indeed. Hence this is why I wrote, "REBOL the language itself did not fail."
    
Being complicated is the opposite of power. True power comes from clear, concise expression of ideas.
    
REBOL lets the programmer explicitly to express with ease concepts precisely. That is real power.
    
Carl revealed that it is possible to have a powerful, expressive language without sacrificing simplicity. REBOL is problem-solving language rather than computer science department language.
    
Likely that hurt REBOL because of not invented here syndrome of comp sci PhDs.
    
    


posted by:   Stone Johnson     20-Sep-2024/12:00:10-7:00



Name:


Message:


Type the reverse of this captcha text: "r o r r e - n o - w o r h t"



Home