I was new to Rebol nearly one year ago (I didn’t count past years as I just didn’t try to go really deep into the language), since this is the end of the year, I can now try to tell what I think about it.
I will inspire from Douglas Crockford, who told that Rebol had been part of JSON inspiration and who has written in the past this famous article on Javascript: “Why Javascript is the most misunderstood language”, since Javascript has now won a huge gain in respect, the most misunderstood language is now Rebol. Is it for the same reasons ?
The Name
Rebol is the acronym of Relative Expression Based Object Language and also associated with the “Rebolution” slogan. Nice name and slogan which would perfectly suit the Geeks mentality. So for me the problem didn’t come from the name, it did come from the unrealistic goal to pretend that Rebol could be everywhere. Instead of showing how on Real World Projects, there were just bold claims. This is Marketing 101: Don’t tell, Show. The World is still waiting for the Rebolution to demonstrate let’s say that a Twitter clone in Rebol could support massive concurrent users :).
Lisp in C’s Clothing (for Javascript) - Lisp without Clunky Parenthesis
Rebol is explicitely descending from Lisp with a much more expressive syntax. That was also a good point for Rebol so why did it fail to attract people on that ? Rebol didn’t target IT professionals, it did try to target the average hobbyists pretending that the language was easy. In truth on the surface Rebol is easy but as you try to go deeper, things become harder because in concepts, Lisp and Functional Programming mixed with OOP is not for the faint-hearted. Instead of explaining the hard concepts, all documentation tend to just explain the easy ones, guarding the “secrets” for the “smarts” who would dare to ask the right questions. Whereas VID/AGG are really the Gems in Rebol with the Parse Function, the VID documentation is the most lacking on that point so that even attempting to create a simple centered dialog box is difficult not because it’s impossible but because it isn’t explained anywhere, you have to try to understand by yourself by looking at the source code of the editor (supposing you discovered how) and in fact I encountered some problem that is still unsolved. As for AGG of course, you can expect even less - to say the least :).
Not Opensource I’m not so much naïve as to believe that the Opensource movement is only a spontaneous group of benevolent people because in Economics History, deflating the price of goods is a well-known scheme from the Big Capitalists to kill their numerous small competitors before they soar the price again or drive the investment towards another large scale sector they will be the only one to control (Oil in the past, Cloud-Computing tomorrow) so I’m not the one who would blindly say: go Opensource. The reason to go Opensource is due to this huge Marketing Scheme that these same Software Giants Oligopoly have setup behind the scene that is killing yourself financially little by little if you don’t want to follow the same path. Not going Opensource means a Heavy Cost for promoting your product because you cannot make free publicity. Since Marketing Cost is much larger in proportion than Production Cost for many successfull companies, you won’t be able to finance any growth. Not going fully Opensource or at least not giving “enough” to the Opensource Product from the commercial product is not a clear message for the Opensource lovers, that may be yet another mistake.
Targeting Language/Virtual OS Platform Market. Yesterday Rebol’s ambition was to be an Ubiquitous Language or maybe worst to be a Virtual OS Platform. A Language has no perceived value today only Reusable Frameworks and Libraries (look at Jquery and its sponsors once again or PHP Zend Framework). OS Platforms are only for the Big Names, we know them already: Java VM (not the language) and .NET (once again not the languages). Instead of creating an “IronRebol” like an IronPython, IronRuby, Clojure or Scala, Rebol still pretends to be multiplatform. Being Multiplatform without being able to integrate with the two main Virtual OS Platforms is not really multiplatform in my opinion. This is for me the number One Strategic error. Not exploiting the Ecosystem of Dynamic Languages that are now openly favored by both the Giants Sun and Microsoft (see Microsoft DLR initiative for example) will be a huge mistake because as usual time is your number One Ennemy and the door may close soon as the Winners will be emerging from this new Competitive race. And I almost forget that this also would save hugely on Marketing cost.
There are many other things, some I said in other articles or section but to make things short, I will now jump to the conclusion: Rebol is worth a look for sure and I will continue to do so, but its Business Strategy is just not really marketable in its current state. A 180° turn is needed, so not easy but not quite impossible yet, I still believe :).


















Don’t tell - show. This one area that Rebol Technologies could expand into if they partnered with some external programmers to develop a few solutions that would be marketed at the REBOL site.
However, just asking REBOL IT to do everything is just not going to work. Nor should it, given the number of hours in a day. REBOL IT should concentrate on it’s core mission, the language.
Partner and market working solutions on the new REBOL site would show by example and provide some returns at the same time.
Sure but RT already works with talentuous partners but who seem to just focus on their own needs not for what the widespread “Market” would really expect and how they position within the whole ecosystem.
The fact that one needs to dish out money for the sdk is just crazy.
Rebol did exist well before the opensource movement gets popular so that wasn’t crazy at its birth time. Today as I said in my post it suffers from this deflating industry where Languages / sdk have no more perceived value and you are a vivid example (so vivid I had to cut off some part as it didn’t add much to the discussion except flame :)).
Don’t forget this is not academic / student people who are paid by gov/people tax money so the transition is not easy, if they release their commercial product for free they have to find an alternative source of revenue, the problem being the language must become popular enough to build consultant services or valuable components around that can be sold. This is kind of vicious circle so they will have to think about a strategy to be able to do so.
florin - this will NOT be case for R3. R3 has all new model of “sales”. Basically, the model is:
- there is no SDK as we know it with R2
- there is R3 Host Kit, which consists of:
- free R3 interpreter library (even for commercial purposes), which is not open-sourced though
- open-sourced Host code (about 80% of R3?)
- you can basically port or implement your own interpreter versions, packed with whatever features you like, including external Extensions
- Extensions are going to be both free, and commercial - depending upon 3rd parties
- RT then represents:
- Technology mentor and owner
- Implementation & Support & Consulting services
That is my analysis and opinion, not official RT’s words of course. We will have to wait for official announcements, but this is how I understand current situation based upon my long time Rebol community presence …
@Florin
Have you tried to use Microsoft’s developer tools? You pay for them. They cost money. Well, I have heard that there is now a slimmed down version that is zero-price, but if you want the full studio, you are going to pay money for it.
There is nothing wrong with charging money for devtools, as long as you understand that there will be some who cannot or will not buy them. Personally, I want to exchange some money with critical vendors like the devtools supplier, because I don’t want them to go under or change their business strategy once I’ve started building something with their products.
In the case of Rebol, there is plenty that you can do with the zero-price version. You can download Rebol/View and Rebol/Core version 2.7.6 at Rebol.com for zero money.
Sure I have in fact I have even integrated Rebol to Visual Studio Express see this article http://reboltutorial.com/blog/easily-integrate-rebol-with-visual-studio-express-as-code-generator-part-ii/
You can build professional solutions even with the free version of Visual Studio: the professional edition adds bonus like code obfuscation, advanced refactoring, team environment and above all IDE addins support which shows that Business Value is in Tools. In fact originally the Express Editions weren’t intended to be free but Microsoft finally decided to make them free probably because of the java base IDEs Eclipse and Netbeans which are free (but not the bunch of commercial ide plugins once again that is where business value is!) that is even Microsoft has to undergo the software deflation war.
I don’t care much about languages war. I know both Rebol and Visual Studio enough to say that Rebol is a pretty neat language but it cannot play the game of professional programming because of lack of tools and libraries. I’ve been managing software projects for several IT corporate clients, I fooly agree with Joel on software about the importance of such ecosystem: Rebol doesn’t just understand this because most people in Rebol’s world seem to be hobbysts or single-man freelancers / programmers who are topnotch coders but who are not aware of what an organization means: you have to put in place process and tools so that even average coders can be productive.
IDE Tools and Libraries make the average programmer productive, even more a Topnotch programmer when he can master the tools. When you build a full custom application, productivity (during the maintenance phase included) does depend less and less on the language than on the process and organization that is why Tools and Libraries are more valuable than languages themselves that is why people are not willing to pay for languages any more.
As long as you think “you are the best” and have nothing to learn from the external World, you will be stagnating … and that is what’s happening to Rebol since 20 years, no wonder why. The reason Rebol’s community didn’t realize this is that people of the same feather flock together so that I may be the single external voice who tells such thing: sometimes I wonder if rebolians aren’t like the Amish Community: friendly people but out of sync of the real world
Reboltutorial - the trouble with your posts is, that you just repeat obvious, which makes you look like a marketing guru, whereas it makes the rest of the Rebol community to look rather dumb and uneducated
Who told you we think about ourselves as being “the best”? That is not true. Many ppl see high qualities in Rebol design, but are respectful to other systems as well …
As I already told you, we do understand where our problems stand. I can even say, that I might agree to some 90% of your points. But - we have to face the presence, and the only fact is - today is 28.12.2009, and we are in the state of developments we are in - close to beta, that’s all.
Instead of repeating obvious, mayby you could suggest us, how, starting from 1.1.2010 we can imediatelly change the situation overnight? We need product first, we need new supporting website, we need good docs, we need some PR, we need examples, we need libraries/extensions/connectors to other systems, yes, even .NET and JAVA. Could you just tell me, how all that stuff actually can appear overnight?
We have as many resources as we have. From your point, we might be already late in the game, but we can hardly do anything about it nowadays. So, there is no other chance than just to try to succeed, because we like Rebol. Knowing how R3 development process goes, I would not change a bit about it.
There might be one hope - Host Kit (according to latest Twitter message) could be released at the end of the year. Realistically, I would like to see Host Kit finished till the end of January, including improved Extension interfacing (Devices), so that more developers can step-in, start porting & integration efforts …
So, yes - we are not there yet, and it will take some time for us to get where we would like to be … and no advices can change a bit about it, just some work might help …
Every company and software Projects have to face multiple challenges so it’s a question of PRIORITIES but the right ones. It’s preferable to deliver QUICK a small set of ESSENTIAL Features ITERATIVELY so as to get feedback from the REAL MARKET (not from the small gurus around the company) than to deliver late with a lot of no-value perceived Features.
Essential Features for R3 are - though not an exhaustive list of course - those which are indispensible like Unicode (again very late !), Tests and Corrections of Essential Protocols like Pop and Smtp that had worked but don’t work enough on main Providers like Yahoo and Google, and Features that are Hot like Multi-Thread / Concurrency because that is the demand and the justification for the new programming languages see http://blip.tv/file/812787 Rebol would seem retarded if it can’t join the party !
R3 is lasting too long: It’s in Eternal Beta … so Go Agile not Waterfall
. Several RELEASES (with finished tested set of usable features) with small corrections on feedbacks are preferable to ever-ending product.
As time is passing, some people are losing patience like Steve http://lampjr.wordpress.com/2009/03/30/steve-is-this-goodbye/ .
As for being “the best” that’s the impression from what I read when people talked about Rebol on some blogs or forums, even if you don’t think so, that’s what some people are angry at, not withstanding a few opensource extremists who have hate against Rebol (happily most opensource lovers are more sound still they don’t like Rebol for that reason) like Florin above - I had to cut him off for that part
We have iterative development for two years. We call stuff alpha/beta, because we are solid (maybe other companies would call it 3.2 already - just look how KDE released 4.0 in, uhm, alpha stage of quality).
As for features - if you would follow R3 development precisely, you would understand which things need to be done first, how to build solid codebase, etc., and you would not change a bit on current aproach.
Recent Host Kit endeavor is here to allow multiple devs to plug-in, and finally open shared development efforts. This surely has much higher priority, than protocols, etc.
In current state of things, I suggest to check on R3 in 3-4 months, you might as well find us in a bit different situation.
Real Iterative means you RELEASE FINAL FEATURES and COMMUNICATE to the MARKET. That’s why you have to prioritize carefully since there are dependencies so it’s not easy for sure but that’s the New Game’s Rule as Software becomes Commodities I can’t help it.
There is no real communication about R3 that really interests me as USER so I didn’t even bother downloading it: what’s in for me ? Tell me how my (rebolian) life will really change with R3 compared to R2 (and will all my R2 scripts be broken ?)
As for me due to the lack of enough detailed and advanced documentation on View, I’m reaching a plateau with Rebol so I may pause with it for a while until things improve. I will be launching other tutorial blogs, Rebol Tutorial was just the first. As I said, I’m neutral in the Languages War (I am very upset that there is any in fact why can’t languages live together
), I try to be as Objective as possible, I’d like to see Rebol really take off because it merits so except its huge lack of practicality and so waste of the short resources.
Instead of academic documentation, you’d better write about real world solutions to complex problems that would attract more people. I try my best to do so but I’m not as Guru as you or Carl, so it’s really to you to do such things.
I have read your interesting article.
I am a developer/commercial guy and I am the owner of a company and I know that tools and timing are crucial if you want to be in the market.
During the past I have written in the mailing list that REBOL should be ported to .NET framework and JAVA VM to use the tools already available for that platform. This would bring a lot of developer and real world applications to REBOL. Then the 0.5MB stand alone version of the interpreter could fly with its wings.
Now we are all waiting for R3 to come out and I think that when the language will be complete and with major bug fixed and a decend gui we could start talking again about those platforms.
Yes, doing in 0.5MB is good but doing things now is better than waiting another 5 years to have decent libraries and frameworks to work with.
I fully agree with you. And in 5 years others will advance even more.