
Thanks to Gerad Cote who notified me on twitter about Carl’s Blog post as he wrote:
It’s time for changes to the main RT website and how we market and promote REBOL. Plans are being made. Your input is appreciated.
So here’s mine - though I don’t feel at ease when writing lengthy opinions as my english is not native so I fear I may not use the right words but I’ll try.
First, I must say that I’m not part of the Rebol Community as Guru, you won’t find me on altme or rebol mailing (though it’s due to technical issues with my pc but I ask stupid questions on Stackoverflow so thanks to Rebol Gurus who go there and answer them
): I’m just a Rebol User who setup this Blog a few months ago. But I think that makes me an outsider or more objective observer.
I have heard of Rebol since nearly its birth (I remember I was looking for something to parse yahoo finance csv file that’s why parsing csv is one of my first tutorial here
) and so have followed the Rebolution for a long time. Though I agree that Rebol Language is indeed revolutionary, as a professional IT, I do care more about Solutions than about Revolutions. If you look at the teaser of my blog “Real World Examples”, this should be obvious. Still these examples do only reflect the viewpoint of a Rebol Hobbyst.
From the viewpoint of a Professional, I tend to think like Joel Spolky, one of the founder of Stackoverflow, who ranted about how software became complicated:
There was a time when if you read one book by Peter Norton, you literally knew everything there was to know about programming the IBM-PC. Over the last 20 years, programmers around the world have been hard at work building abstraction upon abstraction on top of the IBM-PC to make it easier to program and more powerful. But the law of leaky abstractions means that even as they built the abstractions that are supposed to make programming easier, the sheer amount of stuff you have to know to be a great programmer is expanding all the time. Becoming proficient, really proficient, in just one programming world takes years.
But at the same time need to recognize that there’s no real choice when it comes to “Serious Business Stuff”:
Ruby is a beautiful language and I’m sure you can have a lot of fun developing apps it in, and in fact if you want to do something non-mission-critical, I’m sure you’ll have a lot of fun, but for Serious Business Stuff you really must recognize that there just isn’t a lot of experience in the world building big mission critical web systems in Ruby on Rails, and I’m really not sure that you won’t hit scaling problems, or problems interfacing with some old legacy thingamabob, or problems finding programmers who can understand the code, or whatnot. I for one am scared of Ruby because (1) it displays a stunning antipathy towards Unicode and (2) it’s known to be slow, so if you become The Next MySpace, you’ll be buying 5 times as many boxes as the .NET guy down the hall. Those things might eventually get fixed but for now, you can risk Ruby on your two-person dormroom startup or your senior project, not for enterprisy stuff where Someone is Going to Get Fired.
As I fully agree with him, my viewpoint is that Rebol 3 should clearly focus on these IT issues:
Scalability, Security, Performance and InterOperability.
Writing White-Papers which explain in detail how Rebol 3 could solve them and participating in Seminars like the ones on InfoQ are the ways to make People who are the Prescriptors of Technology in Enterprise - and not only the Hobbysts - really aware that Rebol 3 is a serious language. From that perspective, multi-threading in Rebol 3 should be really a priority and pushed forward. Particularly about performance, people are very skeptical due to the scripting nature of Rebol so benchmarks should also be built to show Rebol’s capability on that point. If Rebcode can really boost the performance, it should be demonstrated in some cases and publicized. For example, since Cheyenne already exists and is a real world application, it would be interesting to know its performance compared to others and also to compare Cheyenne R2 vs Cheyenne R3 when it will be ported.
More generally Joel Spolky also remarked:
Lots of other languages which are totally, truly brilliant programming languages worthy of great praise, but just don’t have the gigantic ecosystem you need around them if you want to develop web software.
I’m sure Joel would admit Rebol is “truly brilliant” but as for the Ecosystem, there is indeed a huge lack in Rebol, even for the most basic libraries like Web Session Management for example. Sure Rebol can do it - no need for Rebol 3 for that - but today many people do not have the background knowledge to do low-level programming and they don’t have time either to learn or write them because they have to tackle higher level issues like presentation, accessibility, performance, etc.
And when one would take the time, it’s hugely difficult as the examples in Rebol Cookbook are too simple and Rebol.org which contains some really good code snippets is still missing some Real World sample Applications (a calculator doesn’t fit the definition whereas a small accounting application targeting freelancers and small business owners does). This lack of complex examples can a be a huge barrier for people to embrace a new paradigm, as you can read this testimony about TDD, which should also apply to master a new language (because mastering a language for real world application requires more than just learning the syntax):
The purpose of this is to reveal to others some of the issues that I had and hopefully provide some insight on how to overcome such.
The Examples Are Too Simple
This barrier was by far the most difficult for me to overcome. I would read up on all of the buzz about how to add unit tests to your code and how to apply unit testing into TDD. I would follow the examples and understand it and be fine; however, I would always stall out whenever I tried to do it in a real world scenario.
I myself find it was and still is true for me. So I think that a solution to this would be to create Ready-Kit-Applications a bit like what Microsoft does with Visual Studio Express Editions: a Membership Webkit for example is a great way to learn how to create a full website that is close to reality.
Nearly last but not the least, about VID, for me it’s a lost battle like Sun’s past AWT. Java has never succeeded with AWT because as JoelOnSoftware puts it once again:
Java apps have menus in the right places but there are all these keyboard things that don’t work the same way as every other Windows app and their tabbed dialogs look a little scary. And there is no way, no matter how hard you try, to make their menubars look exactly like Excel’s menubars. Why? Because Java doesn’t give you a very good way to drop down to the native facilities whenever the abstraction fails. When you’re programming in AWT, you can’t figure out the HWND of a window, you can’t call the Microsoft APIs, and you certainly can’t intercept WM_PAINT and do it differently. And Sun made it plenty clear that if you tried to do that, you weren’t Pure. You were Polluted, and to hell with you.
VID has the same problem with “purity” obsession whereas Eclipse did shy away from mentality:
After a number of highly publicized failures to build GUIs with Java (e.g. Corel’s Java Office suite and Netscape’s Javagator), enough people know to stay away from this world. Eclipse built their own windowing library from the ground up using native widgets just so they could write Java code that had a reasonably native look and feel.
What if I want to craft rounded skinned Widgets which would stay on top of all other windows for making a Visual Dashboard for example ? Well I cannot do that with VID. In my opinion, if developers are not free to craft the look and behavior of the GUI, it’s not really worth to put the effort to publicize that part. Also a tiny detail that may count from Marketing point of view is that you cannot even get rid off the Rebol’s icon which means that little software editors who need to brand their own softwares wouldn’t buy Rebol just for that little reason whereas a little scripting language like Autoit has a packager with an option to change the .ico when you convert the script into an EXE. On VID chapter, complex examples are also lacking for creating appealing visual components (Combobox, Treeview, Toolbar, Menu, …).
Last but really the least, I did joke about the look of RT’s site whereas I think that it’s not really a priority at the moment
More important would be the visibility of the Community on the Web so that it could grow.
![]()
I may add more during next week and will then post the comment to Carl’s Blog. You can tell me what you think if you want in this blog comment before I do so.


















Hello Again,
In your graphic above I think you wanted to say “Revolution” as opposed to “Rebolution” (The second time above the Arrow). Shoot me an email sometime.
Yes you’re right made a mistake, I corrected thanks
Very good article about the drawbacks of Rebol and the over complication of software development.
I mostly agree with many things expressed in your article, but I also differ on some. The difference might be caused by lack of info on your side, whereas I am a long time REBOL community member, and hence I know even some internals.
Fist thing I would like to help you to answer, is the Cheyenne. Cheyenne’s definition from its website:
“Cheyenne’s kernel inherits the gains of asynchronous I/O and mono-process lightweight design while being able to spawn worker processes to dispatch the load for heavier requests. So, Cheyenne has good scalability making it suitable for small or medium sized web sites. It can sustain the load of up to 500 simultaneous requests on servers with dual-core CPU.”
So - in general - while scripted, and using spawned processess, REBOL based Cheyenne gains Apache 1 family performance. It is nice app server, which in its latest releases got stuff like scheduling library, and MTA library. R3 will add tasking/threading to some extent, let’s hope before it goes to beta. Rebcode though, will not be in R3, as it showed little performance gain with R3 internal changes compared to R2. We got Extensions instead, but that is a different concept.
Now as for the VID discussion. Look - we are not Sun, we are not JAVA. Many ppl do like VID or RebGUI, many ppl don’t like it. For those not liking it, Extensions should allow to bind to some native widgets or generally to some other toolkits - Qt, wxWidgets, etc. But - there is also going to be VID 3. VID 3 will not be VID 2, it will be much more superior, fixing hopefully all design inefficiencies of past model. You can be sure that for the stuff like DashBoard, it might be more usefull than you general OS-widget level toolkit. It can be already proven by some nice demos.
Besides that- are you sure the future is native widgets? Maybe we go for window + menu, who knows. But other than that - many ppl claim, the future is web and free-form GUI. So how does web, even with AJAX stuff, or Flash, or Silverlight relate to native widgets? They don’t. And that is the answer why there is going to be VID3
But really - noone pushes you to use it, if you e.g. prefer web front-end.
Ah, and as for R icon being present in your apps - that will be cured in R3 as well ….
Other than that, your business adoption related comments are correct - there is still many things for us to do in that regard. I would say - we know about it, but there is not enough man-power to change it in few days.
Thank you very much for all your precisions. I’m looking forward R3 and many do like me.
As for VID, when I say native, I mean interface that can do at least what native does. Today it’s very difficult to get even a simple combobox with VID 2 without being a rebol Guru.
When I talk about Dashboard, I mean being able to create rounded form with transparency and which can stay always on top of other windows. I don’t know if VID 3 will be able to do so ?
Extensions will be great as I understand it will allow third parties to develop for rebol and so create an ecosystem around rebol.