Did Carl Sassenrath 'Invent' REBOL, or Did He Swipe Logo? And Newtonscript?
While president of Sassenrath Research, a programming and consulting company, Carl claims to have "created" Amiga Logo. Of course, what he did was port Logo to the Amiga OS, likely reading from source code and translating the code concepts into C. REBOL seems to be Logo with cosmetic changes with added internetworking and GUI. The series! of REBOL is concept of Logo. In Logo, it's often referred to as a list. REBOL series! represent sequences of elements, just like Logo lists. Logo lists can hold various types of data, including numbers, strings, and even other lists. You create Logo lists with square brackets [], and elements are separated by spaces. For example: Logo Code snippet to square-list :list foreach x :list [ print [? x * x] ] Carl seems to have altered syntax of Logo to achieve easier parsing. The so-called Logo Memos are an interesting read, e.g. this one from 1974 https://dspace.mit.edu/bitstream/handle/1721.1/6220/AIM-307.pdf That memo talks about all of the things that twenty-three years later (!) Carl talked about—words and sentences. And the whole prototypes (object!) of REBOL sure seems like a lift (swipe) from Newtonscript, which was designed specifically to create GUIs. In NewtonScript, prototypes are objects that serve as templates for creating new objects. The GUI objects of Newtonscript were predefined objects (contexts really) that contained the bindings (name-value pairs) necessary for creating and managing GUI elements. Weird how the Apple Computer Advanced Technology Group began working on the Newton in 1987 and how Carl showed up as an employee of that group, a year before in 1986. It is true the hardware and product was not old until 1993, but work on the language and OS was started while Carl was there. Likely the planning docs were available to him.
posted by: Stone Johnson 24-Sep-2024/11:52:26-7:00
It's interesting to see roots of Rebol language. I'm really curious to see longer code examples from those older languages.
posted by: Nick 25-Sep-2024/0:40:49-7:00
It's amazing to think that that Logo documentation was written 50 years ago - on a typewriter :)
posted by: Nick 25-Sep-2024/12:25:55-7:00
Stone, are you accusing Carl of something? "There's only the Alphabet book! All other books are created to deceptively make money from their sale, because they contain the same letters as the Alphabet book, just arranged in different orders." („ƒ) humor
posted by: Sergey_Vl 27-Sep-2024/2:33:46-7:00
There is no doubt that Carl married experiences with LISP and LOGO to create REBOL. In an interview Carl raved about Smalltalk. Smalltalk has blocks for code, colons trailing words for method naming. Carl claimed some crazy number like over 40 languages reviewed to create REBOL, but that seems unlikely that he coded in that many languages. It does seem likely that Carl revamped LOGO with Smalltalk and Newtonscript (GUI object concept) along with FORTH (dialecting concept, not its implementation).
posted by: Stone Johnson 30-Sep-2024/11:33:41-7:00
I remember Carl writing about how everything in Rebol was meant to be ergonomic - that even the choice to use square brackets was intentional, because it eliminated endless shift key presses. I can imagine him sitting with LOGO at some moment thinking to himself that square brackets are so much more practical :)
posted by: Nick 30-Sep-2024/12:40:25-7:00
I DO miss that kind of thinking. I've often used the analogy of cutting grass with a razor blade. You can finely craft every blade of grass with a razor blade, but it's hard to get a lot of lawns done with a razor blade. These days I'm using some sort of huge gas powered automatic mower - getting huge fields mowed, but definitely missing the art of carving beautiful blades.
posted by: Nick 30-Sep-2024/12:47:55-7:00
Also, GPT doesn't spend any time pressing a shift key when it writes code, so that continues to matter less and less ;)
posted by: Nick 30-Sep-2024/12:49:45-7:00
Agreed @Nick. Here is the difference though. Carl designed REBOL in a particular way. That way lent itself to PROBLEM SOLVING using a scriptable layer above an OS. The ones who failed to see what Carl did, one looked at REBOL as a programming language. They were forever thinking of "how do I implement this algorithm I learned in my computer science classes." The goal is think in the problem domain and solve problems there. The goal is not to think in the implementation language. Carl talked about all of the shoddy code written in REBOL, likely referring to rebol.org. If one failed to write these: map, filter, apply, foldl, then one likely did not understand REBOL. On start-up of REBOL 2.7.8 and now Red 0.6.5, mine loads 220 words (mostly functions). This dictionary of mine lets me solve problems in the way that I think and not in the way of a nerd who might have a mediocre intellect with his import library in another language that forces one to think his way. Take Python, it is an academic language created by an academic who was trying to improve ABC, another language created by academics who took yet another academic-created language SETL as their base. Python makes you think in a programming language rather than in a problem language. Chuck Moore was right.
posted by: Stone Johnson 1-Oct-2024/11:44:10-7:00
|