Home   Archive   Permalink

Lessons Learned After Following Rebol for 12 Years

Going to point out a few things I've learned over the past 12 years following Rebol.. but first, a little background;
It seems like yesterday.. :)
I had just sold my ISP business to an American corp in 1998 after pioneering the commercial internet here in Canada. (4th ISP in the country, first IIS web server, first 56k dial-up access.. one of the first in N. America, first e-commerce site IN THE WORLD that displayed images of the products.. )
Having done alright in the sale, I had some free time. I had an idea for some software, but new very little programming (took a course in Basic in 1976), and I just couldn't get my head around C or the other main stream languages.
Then I read about Rebol.. there was something about it that I grokked right away, and that "the real technology, behind all the other technology, is language".
So I cut my programming teeth with the language. Simple things were indeed simple.
For that, I'm grateful for Rebol. It's earned me over $100,000 over the years (mostly early on).
But then I grew up. And regret the years I spent having anything to do with the language. Many of the reasons have been mentioned before, there's no new revelation as to why.
But I'll reiterate my reasons in hope of sparing any aspiring developers from getting lost going down the path of rebolution.

posted by:   Yuri     21-Aug-2010/3:46:39-7:00

One thing I will mention up front. The reason I've hung around for 12 years is that Rebol is a great language. I think I've tried all of the more popular languages out there, and keep saying to myself "Rebol does this better, easier."
ie: Parse is a mistress.. at first, but once you learn.. and I mean learn, regular expressions, then Parse isn't quite a pretty.. it's still prettier, but you find regex just about everywhere else.
And therein is the main problem...
1) Rebol is not mainstream. It's a backwater.. an 'also ran' in this horse race of software development.

posted by:   Yuri     21-Aug-2010/3:59:38-7:00

LESSON 1 If you want a hobby, pick Rebol. If you want a career, don't.
Rebol is Carl's hobby. It's one of those hobbies that, if done properly, can earn some money. Like bee-keeping or owning a vineyard.

posted by:   Yuri     21-Aug-2010/4:14:13-7:00

Your point of view is appreciated, but like most things, popularity has little to do with value. The forces that drive the popularity of programming tools aren't entirely related to quality of language design. Like you said, "Rebol is a great language" and it does many things "better, easier". REBOL's marketing was handled badly - there's no question about that. Unfortunately, when it comes to development platforms, commercial software developers need to use the tools that are popular, if they want to get a JOB developing software. I've always told others to learn the mainstream tools if they want to get a job in the industry.
For my needs, REBOL has always been a perfect mix of functionality and ease of use. I enjoy using it, and I've always been able to complete more commercial projects using it, than anything else. REBOL is not right for everyone, and that's fine with me. I've used REBOL for many years as a tool to enable business and personal computing. I've made more money with it than you have, so it's been more valuable to me than it has for you. Along the way, I've been grateful for REBOL's design - it's suited my needs perfectly :) Read my response to you about REBOL being only a hobbyist's tool in "Does Anyone Know The Status Of Rebol 3". In my experience, that hasn't been the case.

posted by:   Nick     21-Aug-2010/10:16:45-7:00

Nick in response to the post above, and the other, I submit for your approval the next point;
2)The Rebol Community is too small
This has a number of drawbacks, first and foremost is lack of reusable code
Software development is a very time consuming enterprise. If it's commercial, then the time it takes affects the bottom line. As an employee, that may be a good thing, but as contractor or employer, it's a major issue. Even if Rebol is a hobby, only the zealots don't mind wasting time debugging code all day.
In nearly every case where I've turned to Rebol for a quick solution to a problem, I've found none. And yet, I've been able to turn to other languages and not only find a solution, but incorporate it within minutes.
In Rebol, if you're looking for a solution, the odds are very great you'll need to build it yourself..from scratch.
Way too much emphasis within the Rebol community (and Rebol Technology) has been on the language itself. Because Rebol is a academic study in language more than a solution to real world problems.
The majority of the Rebol community is only interested in the academia.. they love to debate things like "Pairs as floating points, yes or no?" .. (from a recent post. http://www.rebol.net/r3blogs/0326.html)
LESSON 2 Code re-usability is the developers friend. The larger the community, the more likely you'll find a quick solution.
Lack of community has other serious drawbacks..

posted by:   Yuri     21-Aug-2010/12:35:50-7:00

Nick, I couldn't agree more*. In just one function (parse), you get one of the most useful features of any language anywhere. It's a killer app unto itself. Using any other language to solve the problems that parse has solved for me is just masochism.
Yuri, AltME (Rebol 3 world) is not some secret club - it is open for anyone to join: http://www.rebol.org/aga-join.r - it's as accessible as R/View. Stop by, leave a message!
* except the graphic design part, which isn't necessarily as binary as yourself and Yuri make it out - I'm sure Yuri makes pretty sites, but it's not clear at all that he understands your sites.

posted by:   Chris     21-Aug-2010/12:48:13-7:00

Missed Yuri's second post: so what if parse isn't mainstream - it's still pretty f'ing useful.

posted by:   Chris     21-Aug-2010/12:51:04-7:00

Yes, the REBOL community is small, but it's friendly and capable, and I've never had problems getting answers to any of my questions. The number of people involved and the amount of donated code is REBOL's biggest drawback and my biggest potential worry for the future, but it hasn't been a problem yet for me, in over a decade. And for the types of applications I write in REBOL, I don't expect that it will be.
Your second point is actually really interesting from my point of view. In my experience, REBOL's productivity benefits have always enabled me to write software from scratch faster than I could cobble things together from others' existing code, using other development languages/environments. That's actually what keeps me using REBOL to build all my custom applications. It's just so fast and productive to build complete working applications from scratch. For me, the proof is in the number and variety of computing tasks I've actually been able to accomplish with it - those which have affected real life activities. I'm not interested in academia.

posted by:   Nick     21-Aug-2010/12:56:51-7:00

interesting debate going on here!
I wouldn't say "Rebol community is only interested in the academia." If they were, they would have never allowed global variables/methods/functions, that could be accessed, and changed by other objects/functions/scripts that are totally unrelated.
in any comp science course, you are taught, there should be encapsulation for hiding the internal states or process of an object/or program in general, from the external world.
just like in VB they allowed GOTO, which is a "sin" according to academia (Dijkstra)
in a object oriented / non object oriented language i.e procedural or functional, you should still be able to use private, local, static, public, global in an object/method/class/ or function/procedure/module/program.

posted by:   yuem     21-Aug-2010/13:35:26-7:00

correction to my previous post:-
any language whether it's an object oriented / or non object oriented language (i.e procedural or functional), should allow programmers to use private, local, static, public, global in an object/method/class/ or function/procedure/module/program , to do proper encapsulation.

posted by:   yuem     21-Aug-2010/13:48:53-7:00

You can point out benefits and shortcomings of any language/development platform. C or Assembly can be used to write device drivers and other close to the metal software ... but you won't see web sites created using assembly, for obvious reasons. PHP is popular for web development because it was created to solve development problems in that domain ... but it's not useful for creating embedded software. Java has its merits just for having an enormous API and millions of developers who all use the same tools ... but that doesn't stop much of the industry from using VB, C#, Python, Ruby, etc. Should all development in every problem domain be limited to Java, forever now, just because it's popular? I used Flash for a multiplatform videoconference app, because the tools I needed for that project were built into the platform, there was existing code available for me to use and tweak, and the entire package, including Adobe's video server software, was the best solution I could find for my needs. In that problem domain, Flash is better than REBOL, so that's what I used for that project. I could have used REBOL, but in that case, it wasn't the most practical solution.
The scope of REBOL's usefulness and it's productivity benefits, compared to the tradeoffs that I've considerd for using it, have made REBOL the best choice for me over and over again in many situations. In the past 6 years, for just about every computing task which I couldn't use a existing piece of software, REBOL has provided the tools I've needed to develop a perfect solution for my situation. I have never once regretted learning and using REBOL. It's been the most valuable and useful tool I've had to satisfy the overwhelming majority of my business and personal computing needs, repeatedly for many years. I'm listening to your perspective about REBOL's value, but for every negative you mention, there's obviously been a benefit for me which has been more valuable. I'm a user who's grateful for the benefits of REBOL, and I'd like to share that with others. Trying do discourage new users from even trying REBOL doesn't do anyone any good, at least not anyone who could potentially be in my position, who could potentially benefit from it the way I have (I'm sure there are many out there, because my computing needs have been somewhere within the range of typical mainstream life). If you'd like to see the REBOL community grow, and for REBOL to improve in one of the few ways that would be beneficial, then spreading that attitude doesn't help.

posted by:   Nick     21-Aug-2010/17:26:39-7:00

Nick, the proof is in the pudding. Pick a situation that Rebol doesn't handle now (there's plenty), and we'll compare notes.

posted by:   Yuri     22-Aug-2010/1:59:39-7:00

Let's look at one example of how community size affects developers..
Nodejs vs Cheyenne
- Nodejs is less than a year old, but the response has been overwhelming..
Here's a list of Nodejs modules to date

posted by:   Yuri     22-Aug-2010/13:03:14-7:00

It looks like Nodejs is a fantastic marketing and technical success, and RT could probably do well to study how they went about achieving such great popularity.
A quick look through those modules is impressive - lots of work has been accomplished, no doubt. But I can't help looking from my own perspective, which is that the majority of what's been accomplished there is just a huge amount of unnecessary complexity that I simply bypass by building applications in REBOL. Just about everything in that collection represents solutions to problems that only exist as a result of stringing together layers upon layers of divergent technologies to accomplish simple fundamental computing goals. Connecting different languages, data formats, etc. is complex work, but those tools only help to realize one fundamental goal - the creation of computing applications which manage data for human beings. When I create my applications, I move straight to the end goal. I've got GUI, network, graphics, math, parsing, compression, CGI, OS Shell, email, crypto, sound, database, image manipulation, etc., all built into REBOL, and working together natively to fully satisfy and achieve all the fundamental computing goals that drive productivity in my real world. I don't need all the frameworks, middleware, package management modules, etc. that have taken millions of development hours from poor souls who are trying to devise reasons to become relevant in the development industry. Is having to spend my time learning those hundreds of Nodejs modules supposed to be a benefit to me? From my point of view, so little of productive value has changed in the past 10-15 years in computing. The ability to input, save, transfer, manipulate, and view useful data hasn't been improved much beyond what I can do natively with REBOL. Yes there are shinier GUI interfaces, pervasive multimedia formats, and improvements in areas such as 3D graphics which are outside the scope of my interests in REBOL (mostly related to entertainment, aesthetics, etc. - topics which don't improve productivity). But when it comes to building applications that let me get data from a user, store, sort, organize, transfer, and view it, on a single user machine, on a network, on the web, etc., I don't need anything but the most basic stack of technology (hardware, operating system, network connection, web server, etc.), and I can build the applications I need, quickly and easily, with REBOL. The overwhelming majority of complex work displayed on that page is simply irrelevant to me. I use REBOL to create the applications I need, from scratch, with only my end goals in mind. I'm not lost in a huge mess of disparate technologies, waiting for others to create modules to help tie everything together. I'm just productive, writing REBOL code that works to satisfy my real world computing needs. In that grand perspective, there's nothing I'm left wanting for with REBOL. The long and short of it is that all those other tools, as complex as they are, have never proven to be as productive as REBOL is for my needs. That's the proof in the pudding I'm looking for. If others can benefit the way I have, then I'm happy to share how and why :)

posted by:   Nick     22-Aug-2010/16:36:38-7:00

Here's a recent example. I needed to incorporate a data matrix generator into a project. What would I do with Rebol?
I solved this solution in 5 minutes with PHP. Walk me through a Rebol solution.
And if you can't would you suggest I run dual systems?

posted by:   Yuri     22-Aug-2010/20:08:06-7:00

I've never looked at data matrix generators before, but a 10 second search of google uncovered this component, which will work with REBOL on all the main OSs: http://www.tec-it.com/en/software/barcode-software/tbarcode/barcode-generator/Default.aspx#102321 , and here's an open source project: http://grandzebu.net/index.php?page=/informatique/codbar-en/codbar.htm

posted by:   Nick     22-Aug-2010/21:35:57-7:00

I could also get the spec for datamatrix format, and build the solution directly in REBOL, as was done with the code39 format: http://www.rebol.org/view-script.r?script=pdf-barcode.r&sid=xfccx893yy and http://www.rebol.org/view-script.r?script=code39.r&sid=xfccx893yy (that second example is my own) and the ean13 format: http://www.rebol.org/view-script.r?script=ean13.r&sid=xfccx893yy

posted by:   Nick     22-Aug-2010/21:42:07-7:00

And of course, I could incorporate the PHP solution into an otherwise REBOL solution, if that made sense. That's no different than making use of any of the diverse modules at http://github.com/ry/node/wiki/modules, which you pointed out earlier.

posted by:   Nick     22-Aug-2010/21:44:51-7:00

"Then found that with the advent of .NET, many of the advantages of REBOL were now obsolete."
I don't agree with this. .NET has a huge complexity, has thousands of classes, any experienced programmers cannot say how to do something without looking a document.
Here is a real example. One of our customers (which is one of the biggest banks in my country) needed an application and we were in a hurry. I made the program using C# go to customer's place, run the app. then it gives an error, "no .net framework 3.5". Oh no! they have 1.0, 1.1, 2.0 but no 3.5!
So we downloaded the framework (237 MB) installed, restarted the PC (which is a huge server!), after restart it required updates, downloaded automatically ~60MB, 3 different files, and restarted the server again (which was a really big problem!).
Now there is .net 4.0, 4.5 etc..
"At this point, REBOL is regarded as a utility language used primarily by programmers for in-house scripting."
Currently many of us use Rebol kind of this way, so it has some right.
Here is a real world example I made using Rebol plugin (it's in turkish & runs on IE):

posted by:   Endo     23-Aug-2010/3:36:44-7:00

That's nice work Endo :)

posted by:   Nick     23-Aug-2010/9:23:16-7:00

"but a 10 second search of google uncovered this component, which will work with REBOL"
That's great.. and a good example. Check out the pricing a 2D (data matrix) developer license is $1570.00 USD.. for a lousy data matrix generator
THEN you need to map that DLL into Rebol. Having worked with libraries and Rebol in the past, this can be very cumbersome.. depending on the lib.
The PHP solution was free, and running in 5 minutes.. it took longer setting up the dimensions of the barcode (another 15 minutes perhaps)
That is the difference between Rebol, proprietary and expensive libraries, and the open source community.

posted by:   Yuri     23-Aug-2010/11:53:06-7:00

"I could also get the spec for datamatrix format, and build the solution directly in REBOL"
Exactly my point
And, if you wanted Data matrix, and not use an expensive library you would have no choice but to build this yourself.
If you think building this in Rebol is trivial, you should give it a try.

posted by:   Yuri     23-Aug-2010/12:01:07-7:00

You disregarded my link to the open source project - and 2 additional seconds typing "open source data matrix dll" into Google found this project at sourceforge: http://sourceforge.net/projects/datamatrix-dll/
Another 1 minute with Google, and I found this: http://re-bol.com/datamatrix.zip . On the site where I found it, that version is listed as freeware (it does have a nag screen, but that doesn't matter if running as CGI). I did a little more research on this DLL, and the current version has commercial licenses, with support, starting at $98. You can make your choice between open source and commercial (if, for example, you want support, or if a client refuses to use open source tools).
It took me just a few minutes with nothing more than search/replace and copy/paste in a text editor to convert the VB API in the above zip file, to REBOL. Here's the code:
     PT_DMENCODE_FAIL: to-integer #0             ; An operation is Failed.
     PT_DMENCODE_SUCCESS: to-integer #1         ; An operation is successful.
     PT_DMENCODE_ALLOC_ERROR: to-integer #200    ; Error while allocating the memory.
     PT_DMENCODE_DATA_BIG: to-integer #201     ; Data to be encoded is too big.
     PT_DMENCODE_SIZE_SMALL: to-integer #202     ; The size of image to be pasted the symbol is too small.
     PT_DMENCODE_IMAGE_INVALID: to-integer #203 ; The image to be pasted is invalid.
     PT_IMAGERW_FAIL: to-integer #0                    ;An error occured in an operation.
     PT_IMAGERW_SUCCESS: to-integer #1                 ;An operation is successful.
     PT_IMAGERW_ALLOC_ERROR: to-integer #100         ;Error while allocating memory.
     PT_IMAGERW_FORMAT_UNSUPPORTED: to-integer #101    ;The format of image is unsupported.
     PT_DM_SQUARE_AUTO: 0     ;Use the smallest square size that can contain the data.
     PT_DM_10x10: 1         ;Data Matrix Type 10x10.
     PT_DM_12x12: 2         ;Data Matrix Type 12x12.
     PT_DM_14x14: 3         ;Data Matrix Type 14x14.
     PT_DM_16x16: 4         ;Data Matrix Type 16x16.
     PT_DM_18x18: 5         ;Data Matrix Type 18x18.
     PT_DM_20x20: 6         ;Data Matrix Type 20x20.
     PT_DM_22x22: 7         ;Data Matrix Type 22x22.
     PT_DM_24x24: 8         ;Data Matrix Type 24x24.
     PT_DM_26x26: 9         ;Data Matrix Type 26x26.
     PT_DM_32x32: 10         ;Data Matrix Type 32x32.
     PT_DM_36x36: 11         ;Data Matrix Type 36x36.
     PT_DM_40x40: 12         ;Data Matrix Type 40x40.
     PT_DM_44x44: 13         ;Data Matrix Type 44x44.
     PT_DM_48x48: 14         ;Data Matrix Type 48x48.
     PT_DM_52x52: 15         ;Data Matrix Type 52x52.
     PT_DM_64x64: 16         ;Data Matrix Type 64x64.
     PT_DM_72x72: 17         ;Data Matrix Type 72x72.
     PT_DM_80x80: 18         ;Data Matrix Type 80x80.
     PT_DM_88x88: 19         ;Data Matrix Type 88x88.
     PT_DM_96x96: 20         ;Data Matrix Type 96x96.
     PT_DM_104x104: 21        ;Data Matrix Type 104x104.
     PT_DM_120x120: 22        ;Data Matrix Type 120x120.
     PT_DM_132x132: 23        ;Data Matrix Type 132x132.
     PT_DM_144x144: 24        ;Data Matrix Type 144x144.
     PT_DM_8x18: 25         ;Data Matrix Type 8x18.
     PT_DM_8x32: 26         ;Data Matrix Type 8x32.
     PT_DM_12x26: 27         ;Data Matrix Type 12x26.
     PT_DM_12x36: 28         ;Data Matrix Type 12x36.
     PT_DM_16x36: 29         ;Data Matrix Type 16x36.
     PT_DM_16x48: 30         ;Data Matrix Type 16x48.
     PT_DM_RECTANGLE_AUTO: 31 ;use the smallest rectangular size that can contain the data.
     PTDMENCODESTRUCT: make struct! [
         pData [integer!]
         nDataLength [integer!]
         wSymbolSize [integer!]
         wModule [integer!]
         wGroupTotal [integer!]
         wGroupIndex [integer!]
         wFileIDHigh [integer!]
         wFileIDLow [integer!]
         wLeftSpace [integer!]
         wRightSpace [integer!]
         wTopSpace [integer!]
         wBottomSpace [integer!]
     ] none
     PTIMAGESTRUCT: make struct! [
         dwWidth [integer!]
         dwHeight [integer!]
         pBits [integer!]
         pPalette [integer!]
         wBitsPerPixel [integer!]
     ] none
     kernel32: load/library %kernel32.dll
     PtImageRW: load/library %PtImageRW.dll
     PtDMEncode: load/library %PtDMEncode.dll
     PtDMEncodeRegister: make routine! [
         KeyStr [string!]
         return: [integer!]
     ] PtDMEncode "PtDMEncodeRegister"
     PtDMEncodeInit: make routine! [
         pEncode [struct! []]
         return: [integer!]
     ] PtDMEncode "PtDMEncodeInit"
     PtDMEncode: make routine! [
         pEncode [struct! []] ; PTDMENCODESTRUCT
         pImage [struct! []] ; PTIMAGESTRUCT
         return: [integer!]
     ] PtDMEncode "PtDMEncode"
     PtDMEncodeToImage: make routine! [
         pEncode [struct! []] ; PTDMENCODESTRUCT
         pImage [struct! []] ; PTIMAGESTRUCT
         StartX [integer!]
         StartY [integer!]
         return: [integer!]
     ] PtDMEncode "PtDMEncodeRegister"
     PtInitImage: make routine! [
         pImage [struct! []] ; PTIMAGESTRUCT
         return: [integer!]
     ] PtImageRW "PtInitImage"
     PtFreeImage: make routine! [
         pImage [struct! []] ; PTIMAGESTRUCT
         return: [integer!]
     ] PtImageRW "PtFreeImage"
     PtLoadImage: make routine! [
         fileName [string!]
         pImage [struct! []] ; PTIMAGESTRUCT
         FrameIndex [integer!]
         return: [integer!]
     ] PtImageRW "PtLoadImage"
     PtSaveImage: make routine! [
         fileName [string!]
         pImage [struct! []] ; PTIMAGESTRUCT
         return: [integer!]
     ] PtImageRW "PtSaveImage"
     PtCreateImage: make routine! [
         pImage [struct! []] ; PTIMAGESTRUCT
         ImageSize [integer!]
         PaletteSize [integer!]
         return: [integer!]
     ] PtImageRW "PtCreateImage"
     lstrcpy: make routine! [
         lpString1 [string!]
         lpString2 [string!]
         return: [integer!]
     ] kernel32 "lstrcpy"
     lstrlen: make routine! [
         lpString [string!]
         return: [integer!]
     ] kernel32 "lstrlenA"
     pEncode: make struct! PTDMENCODESTRUCT compose [(0) 0 0 0 0 0 0 0 0 0 0 0]
     pImage: make struct! PTIMAGESTRUCT [0 0 0 0 0]
So far, nothing that you're complaining about with REBOL is as difficult or limiting as you describe. I have used a number of DLLs for cases where the native REBOL API didn't satisfy my needs. I've found that most DLLs which can be used in VB are trivial to convert to REBOL - just a few minutes of work. And if I couldn't use REBOL for part of a project, or if it was impractical, then I could integrate another tool - that's not difficult, and I have no prejudice against other languages/tool sets. As I explained, I was happy to find a great video conference solution available in Flash, but I still used REBOL CGI for the rest of the site, as a practical choice. I've used Purebasic in the past to create DLLs and executables that I called from REBOL (Purbasic's OS API integration is fantastic and easy to use, it builds small, fast executables, cross platform, etc.). AGAIN, you're missing my point. I use REBOL for an enormous scope of work, because the native cross-platform API does contain so much of what I need to complete the overwhelming scope of custom computing work I find myself needing to accomplish, for which there aren't packaged applications. I use it when I can, because for that overwhelming majority of work, it's more productive and enjoyable to use than other tools. If I need to get something done which can't be accomplished with REBOL, then I use another tool. If that's not the case for the majority of your work, then you should use a tool that fits your needs more appropriately. My point is that REBOL has been VERY capable at satisfying my commercial and personal development needs, in virtually every case. And because it's sooo much more productive than other tools, I actually get many more projects completed. To me, that's been the main benefit of using REBOL. Do you some sort of problem with that?

posted by:   Nick     23-Aug-2010/15:17:25-7:00

Yeah, I have a problem with that..
** Access Error: Cannot open PtImageRW.dll as library
** Near: PtImageRW: load/library %PtImageRW.dll
PtDMEncode: load/library
Let the fun begin.

posted by:   Yuri     23-Aug-2010/15:56:59-7:00

Rebol is like using a Model T Ford as your daily commute vehicle. Can it be done? Of course.
As long as you have lots of patience, and don't mind cars zipping past you on the information highway while you're plugging in freakin' DLLs

posted by:   Yuri     23-Aug-2010/16:04:08-7:00

Yuri, I'm not getting that error. Have you been damaged by REBOL in some way? What's all the venom for?

posted by:   Nick     23-Aug-2010/16:34:59-7:00

you have those 2 quotes:-
"Then found that with the advent of .NET, many of the advantages of REBOL were now obsolete."
"At this point, REBOL is regarded as a utility language used primarily by programmers for in-house scripting."
you lost me there, where did you get these 2 lines from ? I am searching from the top of this page, but cannot find these two lines.
generally speaking, there is some truth about the point of "reusable component". just for the sake of discussion, if I need a data table, I can reuse Henrik's data table or dobeash data table. the more people we have in the community, the more reusable components we have. the smaller the community, the less components are available.
I am referring to reusable components/scriptlets versus using layers & layers of frameworks/technology in coming up with a solution or the use of multiple languages for a solution e.g CSS, AJAX, HTML, JavaScript, XML + a main language like Java or .Net or PHP. that's too much to cobble together.
and also generally speaking, the smaller the community, the slower the language takes to mature.
for example there is no web framework in rebol. we have to use embedded rebol code and logic in html. and this is not a good separation of concerns , viz MVC approach.
on the other hand, you can see the hell that Java developers have to go through, they have to use java fx, java, servlet, jsp, java fx and jsf, and a lot of times have to use a lot of other frameworks, like spring, struts, wicket, tapestry, ejb etc... just to come up with a solution. this is an overkill.
in the end, everyone has to make one's own decision whether to use Rebol or not. One should not try to discourage other people to not use it.

posted by:   yuem     23-Aug-2010/21:27:58-7:00

@yuem: I don't know how did happen but my post is in "Does Anyone Know The Status Of Rebol 3" topic (but I wrote it in this topic?), quotes are from http://www.focus.com/briefs/software-development/12-coding-languages/

posted by:   Endo     24-Aug-2010/6:42:56-7:00

"What's all the venom for?"
LESSON 3 Small communities consist primarily of fans.
In a community of special interest (like Rebol), as it begins to dwindle, all that's left are the die-hards. The fanboys. They have a vested interest in the technology.
Ego seems to play a large part, and there's more of a 'boys club' mentality. In a larger community, pockets of interest diverge. A smaller community forces these into a single group. Criticism of the technology, or anything else that doesn't fit in the club's ideals) becomes unacceptable. Standing up against the status quo or ideals of the community or a member of the 'elite', generates your usual accusations of being "venomous" or Troll Calling

posted by:   Yuri     24-Aug-2010/11:26:23-7:00

@yuem "One should not try to discourage other people to not use it."
That's an erroneous statement. As stated, my original purpose of this post is to prevent others from making the same mistakes that I have made.
Preventing young developers from making mistakes is a good thing.
Of course, if it doesn't fit your agenda, then you'll probably disagree. Every religion has it's zealots.

posted by:   Yuri     24-Aug-2010/13:53:19-7:00

Yuri, as I've said several times, your perspective is valued and I appreciate your point of view. Yes, it's good for potential new users to have all the perspective they can get. All I can do is speak from my point of view, in a way that I feel is reasonable, about my own experiences. I have no vested interest in REBOL, and no agenda other than sharing some of my experiences with it, because it's been a useful tool for my needs.

posted by:   Nick     24-Aug-2010/16:06:14-7:00

Nick, that's fine. This post is lessons I've learned dealing with Rebol.

posted by:   Yuri     24-Aug-2010/17:09:49-7:00

If I was going to find a job in programming, I'd need to learn mainstream languages. Note the plural. However, I work for a US state government HR/Payroll section that has SAP and I code in ABAP. We use Microsoft, but no-one really codes any .NET apps.
There isn't a lot of jobs for REBOL programmers and that seems to be a underlying and unmentioned point. For that matter, there isn't a lot of Python or Ruby jobs out there either.
But I am here attempting to learn a bit of REBOL for self use and expanding my mind.

posted by:   Steve Oldner     25-Aug-2010/11:31:09-7:00

LESSON - With an obscure language, you're on your own
Have a cool idea using Rebol for a project that will benefit the entire community, but need some help developing it?
Consider yourself fortunate if you can find a single person with any interest at all.
The entire Rebol community is made up of, at best, 100 'fans'.
Even if you build it, there's few who need it, or would use it.
Cheyenne is considered one of Rebol's success stories, but how many Cheyenne servers are in productive use? Judging by the feedback, my guess is fewer than 10, and likely fewer than 5.

posted by:   Yuri     25-Aug-2010/12:26:23-7:00

I am sorry, you are coming across as a loser and a very bitter and disillusioned person, who is blaming a language for all your failures.
"Preventing young developers from making mistakes is a good thing. "
who do you think you are? the saviour of the world ? I bet not. Most likely a megalomaniac ...
you sounds very presumptuous to me. I would say it's definitely a bad thing to think young developers are as dumb as you.
what makes you think young developers don't know how to use their own mind to make their own decisions? young developers today are a lot smarter than you are, and I can speak for them as well, being 22 years old myself.
No young developer is that dumb, and they won't need any advice from someone as stupid as you. The language doesn't control us, we decide if and how to use the language to our own advantage.
Mr Yuri Andropov,... only people in communist countries brainwash their youths or their population. Here in the west, people are allowed to think for themselves.
I must disclose , I don't have any agenda here . Java and C# are my main languages. . one or two times I have used Rebol ( its one liners) , only if they fit my need and I also use ruby and python from time to time.
you are displaying a pattern of behaviour that helps understand your utmost bitterness towards Rebol. you are also showing a habit of pontificating, without knowing what you are doing or talking about.
"every religion has its zealots" .... every atheist too is a zealot in that they 100% believe in no deities, no compromise.
with all the knowledge you have about the "fanboys" "clique" , and the hatred you have for the language and community, and despite feeling miserable within the community , you are still here after 12 years? or does it take you 12 years to have your epiphany ? you sound more like a masochist.
even the average Joe won't be spending 12 years to figure this out
if you find a language and its community are not worth it, you still stick around for 12 years !!!!. you have to blame yourself for that. only stupid people do stick that long even if they are now wanted that long within a community.
besides.... all you comments you are posting have already been mentioned many times by different people, who didn't take 12 years to figure this out.    
You are just going around searching for comments on the web and then sticking those comments in your posts here pretending it's yours, that's why it's taking you days to post every lesson learned.... ... maybe you will need 12 years to post your lessons learned.
also just for your information, I am not going to reply to any of your further posts. I don't need 12 years to figure this out. I don't think you are a person worthy of any further reply and besides I visit this site very rarely.

posted by:   youngDeveloper     25-Aug-2010/22:44:51-7:00

You forgot to call me a Troll.

posted by:   Yuri     26-Aug-2010/1:12:52-7:00

3) Rebol.. a lumbering dinosaur
When Rebol first came out, it was leading edge. -
- "Runs on over 30 platforms"
- "Additional key features of the REBOL language include its compact size (150k on Windows)"
These were important in 1998, the net was young. A massive 5GB hard drive was $400. In 1998 the term "Open Source Software" was first coined. Proprietary was the name of the game.
While Rebol chugged along, the IT world raced past.
Rebol 2 is considered "never finished" by some gurus (For the record, I've always found Rebol itself perfectly fine as is, and rarely, if ever found a bug.)
Rebol 3 development has been ongoing for what, 5 years?! If that isn't lumbering, what is?
While these years of effort have gone into the still incomplete language, the rest has languished.
There's more examples of "lumbering dinosaur" syndrome, please feel free to post your own.
@youngDeveloper.. I've been following Rebol for 12 years. Can you understand the difference between following and using? I knew you could.

posted by:   Yuri     26-Aug-2010/2:48:50-7:00

Which brings us to the next lesson.. and it's a big one..

posted by:   Yuri     26-Aug-2010/2:50:06-7:00

@youngDeveloper - why do you jump to the conclusion that Yuri is a brainwashing communist atheist?
@Yuri - your self-restraint is admirable.

posted by:   From Distant Shores     26-Aug-2010/3:36:39-7:00

LESSON - Proprietary Languages Suck
"All non-Free software is a dead end."
It's not about money, it's about freedom. (Ok, and money too)
As an ISP in 1994, I had nearly a 1000 customers willing to pay me $1/hour to surf the net on 14.4 and 28.8 dial-up modems. But as the competition grew, internet access became more and more of a commodity. Clients fled to "unlimited" dial-up for $20/month.. then even less.
12 years ago it was possible to get away with charging outrageous fees (by today's standards) for what is essentially a tool.
I paid Rebol Tech over $1000.00 for an unlimited command license for one of my products, only to have that product no longer supported months later. Great. (Don't get me wrong, I did ok.. as I mentioned, I've earned over $100K using Rebol.. did you hear that youngDeveloper?)
However, those days are looong gone. Rebol has way too much competition now.
RT still charges $149.00 USD for /command.. with it's ODBC and Encryption...
Unbelievable. Absolutely unbelievable. I can't iterate enough how absurd that makes the company look. (see "lumbering dinosaur above").
Until RT.. well lets just say it.. Until Carl wakes up, Rebol is doomed to perpetual obscurity.
Later in this post I'm going to make a few suggestions for anybody interested in developing for the 21st Century

posted by:   Yuri     26-Aug-2010/3:40:26-7:00

"All non-Free software is a dead end."
Not true. Look at MS, SAP, and now Oracle.Java. SAP with its proprietary ABAP is still going strong, and now is a stronger since new, younger, guys came in to SAP. It has adapted over the years and it still changing.
Look at the iphone. It's the app, not what it was coded in that the user uses.
However I will agree that being more "open source" would have the potential of making it grow, if just for the name 'open-source'.
I'm enjoying the contrast in points.

posted by:   Steve Oldner     26-Aug-2010/11:13:06-7:00

Encryption and ODBC are available in the current free version of REBOL.

posted by:   Nick     26-Aug-2010/12:12:06-7:00

I think many of your points would be more critically important if people had to choose only one tool to use, and then never had the option to use anything else. But that's never what any developer does. For example, if you need to create a desktop solution for your datamatrix situation, then your PHP solution is no longer viable - or at least, it's much more cumbersome to implement - so you'd likely just use another tool that makes the most sense. That doesn't detract from the usefulness of PHP in its domain. REBOL has its values, and like I've said, I agree that it's important for newbies to have a full perspective about its benefits and drawbacks, so I think this is a valuable discussion, and appreciate your point of view. It's good to see things from every angle. My angle is that the time I've spent with REBOL has been fantastically productive, enjoyable, and worth while.

posted by:   Nick     26-Aug-2010/12:41:03-7:00

"Encryption and ODBC are available in the current free version of REBOL."
Yeah, and /command is still $149.

posted by:   Yuri     26-Aug-2010/13:51:08-7:00

"All non-Free software is a dead end.
Not true. Look at MS, SAP, and now Oracle.Java..."
A dead end. They just haven't reached the end yet.

posted by:   Yuri     26-Aug-2010/13:54:35-7:00

100 years from now, I'm sure every development tool we currently use will be history. But in the here and now, we've got what we've got. MS, SAP, and Oracle.Java - you just dismissed a huge percentage of the current driving forces in computing, just because some day they'll reach the end of their life cycle? That makes me feel a whole lot better about your attempts to discredit REBOL. For many projects to come, for many years I suspect, for as long as I'm processing text data, using graphic UIs, serving files with Apache web server, etc., REBOL will continue to be as useful for me as it is today. There's a strong likelihood that REBOL will eventually become just a part of history, like MS, SAP, and Java, etc., but I'm gonna continue to use it until something comes along which satisfies my needs better, for the things I do every day with REBOL, now.

posted by:   Nick     26-Aug-2010/22:24:08-7:00

Unless there's some drastic change, Rebol is already a dead end.
You can still use a Model T as your daily commute, but it was considered a dead end a long time ago.

posted by:   Yuri     27-Aug-2010/16:22:04-7:00

Terry aka Yuri
I've been using a free datamatrix component for several years in Rebol ... sure it's in postscript, but my postscript dialect dealt with that.

posted by:   Graham     28-Aug-2010/3:07:40-7:00

The Bible strongly condemns talking to the dead.
Ditto predicting the future.
Please desist, Yuri-Terry.
> There shall not be found among you
> anyone who burns his son or his
> daughter as an offering,
> anyone who practices divination or
> tells fortunes or interprets omens,
> or a sorcerer or a charmer or a
> medium or a necromancer or one who
> inquires of the dead,
> for whoever does these things is
> an abomination to the Lord.
[Deuteronomy 18:10-112]

posted by:   ga-ga rin     28-Aug-2010/4:38:55-7:00

to "young developer"
right on man. you've just said loud what others were quietly thinking of. you have balls !!! well done and well said !!! we need more people like you in this community.
to "distant shores",
actually "young developer" did mention more "qualities" than what you quoted:- he said yuri is a stupid, brainwashing communist atheist, megalomaniac, masochist and dumb, a slow thinker, and copying old comments already made by other people years ago.
pax romana ....

posted by:   close to land     28-Aug-2010/13:13:17-7:00

to "young developer"
sorry I don't want to appear sexist, if you happen to be a lady, the compliment still applies with the following modifications :-
Right on young lady... you have got guts...
pax romana

posted by:   close to land     28-Aug-2010/13:19:44-7:00

to "distant shores"
some more qualities that "young developer" said about yuri :-
he is a loser and a very bitter and disillusioned person, a pontificater, and a bad advisor who the young generation wants nothing to do with.
pax romana

posted by:   close to land     28-Aug-2010/13:37:52-7:00

LESSON - Desktop Apps are Lumbering Dinosaurs Too
The browser is everywhere, Rebol is nowhere. The Rebol plugin is a failure. Is there a SINGLE site that uses it?
The installation steps are mind-numbing and it's been buggy since day 1.
It comes with a stark warning....
"Note: The current version of REBOL/Plugin is beta-7. It runs only on Windows x86 systems at this time."
Use this prototype at your own risk. (See Security in subsequent posts)
Plugins have gone the way of the Dodo. Flash should be worried.
The only hope would be running Rebol on mobile devices.. seemed like a good fit, yet never happened.
The browser is the new desktop. I'll post some examples.. feel free to compare these with the best Rebol view apps.

posted by:   Yuri     30-Aug-2010/20:57:22-7:00

There's no end to these...

posted by:   Yuri     30-Aug-2010/21:11:30-7:00

Ok.. so lets compare.. how about some Rebol links.. I don't know of any, but I'm willing to check out what you have.

posted by:   Yuri     30-Aug-2010/21:16:51-7:00

Flying birds, sliding tables, and "Ball Droppings" - "Draw lines on the black screen to bounce the balls. Enjoy the music.". World changing stuff Yuri. These are all great examples of great HTML5 animations, very slick graphic interfaces, and other things that simply do nothing of practical value for me. You're just talking in circles here - this stuff is firmly outside the scope of REBOL's useful and productive data management capabilities. Great examples :)

posted by:   Nick     30-Aug-2010/23:48:15-7:00

It takes far less time and frustration to download REBOL for your OS and to type "do http://yourscript.r" than the update and 10+ meg download that my browser regularly does automatically - and not always at the best time (just happened, getting online tonight). No plugins to install, teenie tiny runtime, consistentcy across platforms - I see that as a better technological model than HTML5 - all the layers of technology that go into web applications are exactly the types of complexity that REBOL helps you beat, and in many cases simple is more practical.

posted by:   Nick     31-Aug-2010/0:17:57-7:00

HTML5 is just not the best technology for every type of application. Is there any reason that you think a web application would have been a better fit for the point of sale system with bar code scanning, etc., that I created to run on a local area network for Merchants' Village? You're talking about completely different application domains. If I want to bake an apple pie, you can show me the biggest, juiciest oranges, but they just won't be of much use in that situation. It doesn't mean that I don't like oranges :) ... and if I get tired of eating apples, I'm not going to go around yelling at everyone about how they shouldn't eat apples. Jeez man, get over it and move on.

posted by:   Nick     31-Aug-2010/0:28:19-7:00

Rebol Links
- CodeConscious content is stale
- RebolZine hasn't been updated in over 8 years
- Vanilla .. a single post in nearly 5 years
- Try Rebol site is down
- Darknet Altme with it's obscure sign up process,
- Synapse with 14 posts since June 25th, 8 of them from one guy.
- 3 apps, 1 game.
You know, this is just the way it is, and really reflects the nature of this language. This is one of the main areas where Rebol falls down.. again, way too much emphasis on the academia, and a gross lack of support docs, libs etc.
This link page is an embarrassment, and should be pulled down.
PS - This forum should strip whitespace
R E B O L []
n: " trim me "
trim n

posted by:   Yuri     31-Aug-2010/16:52:51-7:00

That page should be edited - it's very incomplete and out of date.

posted by:   Nick     31-Aug-2010/17:30:54-7:00

aka terry
the communist,
and atheist,
wanted to take a pee ,
in the sea ,
close to his teepee,
had his little weenie
by the fish shiny and tiny ,
making him cry in agony,
eeeh, eeeh, eeeh , eeeh,
he went around blaming the conspiracy,
in the galaxy,
and carl and rebol and the community,
for his stupidity,
making him a sissy,
and history.

posted by:   leo     31-Aug-2010/22:57:01-7:00

aka terry
the communist,
and atheist,
wanted to take a pee ,
in the sea ,
close to his teepee,
had his little weenie
by the fish shiny and tiny ,
making him cry in agony,
eeeh, eeeh, eeeh , eeeh,
he went around blaming the conspiracy,
in the galaxy,
and carl and rebol and the community,
for his stupidity,
making him a sissy,
and history.

posted by:   leo     31-Aug-2010/22:57:39-7:00

Try this with your Rebol

posted by:   Yuri     31-Aug-2010/23:01:26-7:00

or these

posted by:   Yuri     31-Aug-2010/23:10:44-7:00

LESSON - Security based on trust is foolish
It's trivial to write a .r script that;
a) reads and mails the contents of a person's HD
b) formats the drive
considering this, how often do Rebols simply "do" a script that they haven't examined? Perhaps from the library, or a link from a post?
Of course, the reply will be "that can happen with any language".. or "the script asks for permission".. yeah, it does..what a nuisance.
How this hasn't happened within the Rebol community only emphasizes how small it really is.
Frankly, it's a time bomb.

posted by:   Yuri     31-Aug-2010/23:58-7:00

Check out my "Killer JSON Interface" post for an example.

posted by:   Yuri     1-Sep-2010/0:08:08-7:00

Running any unknown application which has access to the file system has the potential to do damage. The same caveats are true for REBOL as are true for any other software that has system access - this isn't a problem specific to REBOL.
When I opened http://www.thewildernessdowntown.com, here's the message displayed on their front page: "This site may not work with your browser. It was designed with Google Chrome in mind, you may need to download Google Chrome and try launching this site again". Oops.

posted by:   Nick     1-Sep-2010/1:20:25-7:00

Google Chrome has 7.52% of the market to date.
What's that, 75 million users?
It was released exactly 2 years ago. ( How long has Rebol 3 been in development again? Oh yeah.. over 6 years. It's taken so long even the greatest fans doubt it will ever get finished. See Graham's comments on the other posts)
It's development, including V8, is dynamic, and funded by a multi-billion dollar company.
The Chromium-discuss Google group has 3090 members alone.
Another group has 3815 members discussing just extensions.. they
The Chromium-OS group has 1800 users.
Rebol has, at best 50 users? After how many years? Good grief man.
You'll be lucky to find an extension to develop that hasn't been done 10 times over by now. Just how many extensions in less than 2 years? 7,910
And you're going to tell me about comparing apples with oranges?

posted by:   Yuri     1-Sep-2010/3:22:11-7:00

Any client that prefers /view over a nice HTML5 page (that works EVERYWHERE, including iphone, ipad) is clueless!
Get them to give me a call, and I'll show them some oranges.

posted by:   Yuri     1-Sep-2010/3:30:29-7:00

Ok.. I think I'm done here. There's no end when you take this side of the "Rebol, yes or no?" debate.
The real shame is Rebol was a great language.
If you choose Rebol as your hobby, then you're in for a rough ride.
Besides... who needs a hobby that wastes so much time, surrounded by so many poets?

posted by:   Yuri     1-Sep-2010/4:05:40-7:00

Good luck Yuri :)

posted by:   Nick     2-Sep-2010/8:35:17-7:00

Yuri, please update after a while. This has been a good discussion and I will be wondering what you have done.

posted by:   Steve Oldner     3-Sep-2010/11:55:25-7:00

Regarding "JAVA is dead:" http://marxsoftware.blogspot.com/2010/01/i-use-dead-programming-languages.html

posted by:   Nick     4-Sep-2010/12:07:33-7:00

Cobol is still around, although they said it died decades ago. java will still be around decades from now. they may not necessarily be star languages in the future, but they sure will be around.
It's what the corporate world uses that mainly determines how long a language is around. billions of dollars were spent in the technology, and they can't stop , or convert everything just because yuri said so. It's going to need billions of dollars to convert them to whatever the new languages are.
small businesses may use new languages, their applications are very tiny compared to those used in big corporate organizations, so it's a lot simpler to convert.
at the end of the day, we as IT workers, decide what languages we want to learn and use. No one can force me to use a language I don't want to use.

posted by:   yuem     5-Sep-2010/1:18:11-7:00

"I used Flash for a multiplatform videoconference app, because the tools I needed for that project were built into the platform, there was existing code available for me to use and tweak, and the entire package, including Adobe's video server software, was the best solution I could find for my needs. In that problem domain, Flash is better than REBOL, so that's what I used for that project. I could have used REBOL, but in that case, it wasn't the most practical solution"
"It took me just a few minutes with nothing more than search/replace and copy/paste in a text editor to convert the VB API in the above zip file, to REBOL"
"I've found that most DLLs which can be used in VB are trivial to convert to REBOL - just a few minutes of work. And if I couldn't use REBOL for part of a project, or if it was impractical, then I could integrate another tool - that's not difficult, and I have no prejudice against other languages/tool sets. As I explained, I was happy to find a great video conference solution available in Flash"
its odd that you would use flash as in the codec, the scripting language and/or the video codec container ?
i cant seem to find a single rebol ffmpeg/x264 wrapper to any video encoder DLL to date libx264 etc, whereas there appear to be many VB to ffmpeg/x264 wrappers see
it would be a very good thing if someone that knows rebol would spend these few minutes you describe and make a current rebol wrapper to
these DLL's and provide a basic script to parse an input directory, open each video file found there and do a simple x264 encode.
the API DLL equivalent of ffmpeg.exe -i 1080P.mkv -flags +global_header -vcodec libx264 -crf 21 -acodec aac -ac 2 -ab 192000 -strict experimental -vpre hq -vpre veryfast -refs 3 -threads 4 output3.mp4    
using a current nightly from http://ffmpeg.arrozcru.org/autobuilds/
for instance and any 1080P mkv videoyou might have laying around.
i must say though , you choosing flash in whatever capacity your using it over using an quality ffmpeg/x264 AVC.H.264 high profile encode to do your realtime transcoding video chat etc plus rebol to feed the video chat windows is really surprising TODAY.

posted by:   ffmpeg     13-Sep-2010/8:02:57-7:00

does chrome work here with the current captcha
2 words typed without spaces in their letters.... and d a single space between them
apparently not as i have to enter my first post in IE and now this one to to let you know the bug

posted by:   ffmpeg     13-Sep-2010/8:09:22-7:00

ffmpeg, I've never taken a look at wrapping ffmpeg in REBOL. I've read several times on AltMe that Cyphre has a functioning ffmpeg wrapper for R2, but I've never seen it or tried it. Try searching the AltMe history on rebol.org, or post a note for Cyphre on AltMe, and I'll take a look at the link above :)
I'm posting this using Chrome 6.0.472.55. No problems here.

posted by:   Nick     13-Sep-2010/9:42:19-7:00

The videoconference solution that I chose came from Influxis.com. They sell FMS (rtmp) hosting services, and provide a variety of applications with source. I tweaked the layout of one of their simple apps, and integrated it into my web design. I didn't need to look at codecs, protocols, or do any low level coding of any sort - just adjusted the look, recompiled the .swf, and inserted into my page. It's been in commercial use, working reliably and performing perfectly on a daily basis, on both PC and Mac, using many different browsers, for several years now. I haven't had any reason to look for any other solution.

posted by:   Nick     13-Sep-2010/9:52:14-7:00

ffmpeg, I downloaded and took a look at http://vbffmpegwrapper.codeplex.com (first page result at the link above). It requires .net 4, which I don't want to install at the moment (48 Meg download, and requires minimum 850 Megs of HD space). I'll look around a bit more for a lighter solutions...

posted by:   Nick     13-Sep-2010/10:27:38-7:00

ohh readers should be aware the windows ffmpeg compiles have an oddity when using the -vpre command in that windows ffmpeg is looking for the preset files in a fixed place relative to wherever you run the ffmpeg exe.
the simple solution is to make and place ll the .ffpreset files in
C:\usr\local\share\ffmpeg\ if your running the ffmpeg from somewhere on C: or if your running ffmpeg from a subdir on f: then make and place a copy of them in
F:\usr\local\share\ffmpeg\ etc also, its not a problem as their really small text files that x264 will use to produce its output, you can also set a env variable instead but iv never found out the right one and this placing the ffpreset files on each partition you might use for encoding seems simpler.
if your a masochist you can also replace the vpre with fpre and use absolute paths and full whatever.ffpreset you want to use on the line lol.
for your rt video chat encoding tests you could also try setting the fastest encode it has
-vpre ultrafast but -vpre veryfast usually great for reasonable speed dual/quad x86 desktop PCs today even if you set only 1 thread for ffmpeg to use.
as a side note, the -strict experimental is requires so you can use the current internal AAC codec -acodec aac -ac 2 to re-code your audio
i Really Hope you or someone manages to make a working rebol ffmpeg/x264 wrapper and some generic rebol support cli/gui ? scripts to use it and document its use.

posted by:   ffmpeg     13-Sep-2010/10:31-7:00

Religious beliefs are faith based. Many people do many things with many other things. We have all heard the truism, "when the only tool you have is a hammer everything starts to look like a nail".
I am coming to programming late in life but bring a lifetime of experience to the process. I know that you should pick up the very best and most robust tools you can find because often you will stay with them for a very long time. The time spent selecting them is never wasted.
I have a friend who is starting this journey with me. We both agree on the goals, the methodology and the time line. An expert is the sum of 5 years of effort variously expressed as 20,000 examples or 10,000 hrs. That's what it takes to master the basics and rise to competency in a new field of endeavor.
We have chosen a functional language approach hiving off into newLISP and picolisp. My friend chose newLISP for various reasons and launched himself into creation and a web application paired with sqlite using this "scripting" dialect of LISP that came with all sorts of modern builtins.
I am still trying to start, I'm sure everyone here has been there too. So because I am not able to 'dive' in I am going wide. I'm looking at languages, structures and methods. I'm collecting a vast store of commentary and discussion. The history of LISP makes interesting reading.
The proponents make a good case, the detractors of course point to various other examples, which isn't hard, considering the estimated 8500 languages that have come and gone or stayed or floundered or niche'd.
The bottom line however is that it is still all 1's and 0's. I keep repeating that to myself during all the debate and proselytizing.
I read Siebel's 'Coders at Work' and Biancuzzi's 'Masterminds of Programming' which created a lot of extra perspective as to what the debate is all about.
REBOL is everything Yuri says but it is also everything Nick and everyone else says as well. I know all of these arguments. I've lived them since 1985 because that is when I made a choice between one OS and another, one architecture over another and one path versus another.
I had been saving for a computer and the Apple Lisa seemed a dream come true. Then the Mac came out but somehow it seemed wrong. The money I had put aside disappeared for life expenses and the decision was delayed.
One day I was walking along a main street and I chanced upon another computer store I had never visited. Inside the door an Amiga 1000 sat with three boxes on a screen and in each of the boxes what appeared to be a program was running, add that to the screen they sat open on I simply stood there with my mouth open. There was a paradigm shift in my understanding of the world at that moment.
As the years passed by I found the flaws in that Mac, Byte magazine ads were declaring Lotus 123 on the PC ran in 256K whilst the Mac offered a meagre 128K non-expandable memory. PC's of the day beeped and flickered whilst the Amiga flowed and multi-tasked for a decade unchallenged.
So now we get to the heart of why REBOL looks so much more interesting than the alternatives. History for one. Sassenrath sat down and created "intuition" behind a closed door as a single act of genius. That act made the Amiga a force of change in the world. It speaks to me like Graham's story of ViaWeb written in LISP and what it allowed him to do to his competitors.
Despite all the arguments one way or the other - a good tool remains a good tool.

posted by:   terry     3-Oct-2010/13:28:14-7:00

I was lucky enough to have parents who exposed me to some really unusual, exciting and interesting music as a child. Because of those performances, I eventually started a career as a musician, playing classical guitar. I had a natural interest in the music that I heard classical musicians performing back then - there was just so much depth and excitement in those performances. I cut my teeth, developed my technique, built my fundamental musical skills, and began my career by learning and performing classical pieces. As a professional, now I perform mostly mainstream music (rock, country, pop, blues, jazz, etc.). I rarely have a reason to play solo classical guitar any more, but after 32 years learning and performing music, and 25 years in the business (more than 3000 performances), I occasionally get a chance to perform some of the music which originally sparked my desire to become a musician. Those pieces are truly works of art, timeless and valuable for the creative vision and intuitive musical excitement/energy they embody. Those pieces are still a commercially valuable part of my repertoire, and they will always be a huge part of the foundation of my musical skill. Not only do I NOT regret learning those pieces and spending time seriously studying classical music - I have a great appreciation for having gone through the process of learning that music with so much passion. It helped form me.
I began programming BASIC on an early Tandy computer when I was 7 years old. I had the typical lineup of popular machines through the years: TRS-80, TI99-4a, Commodore 64, the original Macintosh, all the versions of DOS and Windows from the original 4.7Mhz IBM PC xt through 286, 386, 486, Pentiums, etc... I programmed my first graphics in assembly code, and I began learning C before the first ANSI standard was published. I studied CS in college, at an interesting time and place where LISP was the language of choice and the university network ran on VMS. I created commercial applications in the first version of Visual Basic (for DOS), installed business systems on the first versions of MS Windows, hacked together a web site content management system in PERL before Internet access was common place, and dabbled with PHP/MySQL before there were any commercially available books to learn from. I used MS Access to create database systems that have been running successful businesses for more than 15 years. I wrote my first book - part of the curriculum for IU music school - on a 286 that ran on floppies. My first instructional guitar videos (VHS tapes) were edited on a video toaster (an Amiga based machine). I owned a retail computer business for more than a decade, where I built computing systems on every OS imaginable (remember Netware?). Not only do I NOT regret having learned all those computing environments and tools - I have a great appreciation for having gone through the process of learning them, for the practical and creative values they embodied at the time. They helped form me.
I first came across REBOL more than a decade ago, and it's been an indispensable tool in my life for 6+ years. REBOL has been at least as useful and important to me as HTML, inexpensive web hosting and broadband Internet access, netbooks and wireless networking, cell phones, etc... It made sense to me and was productive from the very beginning, and it regularly satisfied my development needs through a variety of large and small projects. It has been a very practical choice for me.
I'm sure that whatever tool you choose to learn programming will only be the first in a long journey - just part of the foundation of your eventual experiences. Pick one that makes sense to you now and which demonstrates some practical potential for your immediate and near future needs. Then keep your mind open and be prepared to change directions as technology moves forward... :)

posted by:   Nick     4-Oct-2010/10:06:45-7:00

Carl did not write Intuition. It was written by RJ Mical. Carl wrote exec.
There are a number of people who do not believe the Super programming language perpetuated by Paul Graham. See http://alarmingdevelopment.org/?p=392

posted by:   Graham     8-Oct-2010/3:36:17-7:00

Some more corrections.
Yuri said:
- Try Rebol site is down
Sure, I and the Internet between you and me don't have 99.99% availability. It's probably more like 99%, but Try REBOL is up and being maintained.
I won't comment on Terry further. He's undermining his valid criticisms by mixing them with statements that can't be taken seriously - and I don't like discussing with people who use false names to spread negativity.

posted by:   Kaj     8-Oct-2010/11:22:56-7:00

yuem said:
"for example there is no web framework in rebol. we have to use embedded rebol code and logic in html. and this is not a good separation of concerns , viz MVC approach."
Since nobody has picked up on this, I'll mention that REBOL has several web frameworks, including a rather nice MVC one, called QuarterMaster:

posted by:   Kaj     8-Oct-2010/11:26:14-7:00

the page states:-
QuarterMaster is still at early stage of development and that was in 2007.
Is it stll alive? Is there no further development since 2007?

posted by:   yuem     8-Oct-2010/23:20:59-7:00

That the quide was written in 2007 doesn't mean that the last program version is from 2007. The last change I know about is from a few months ago.
Rather, it means that QuarterMaster has a nice dialected interface, which has the effect that you can work on the implementation without changing much of the dialect, or the guide.
Here's QM's ongoing work:
QM is also the default web framework in the Syllable Server operating system, and supported there in combination with the Cheyenne web server.

posted by:   Kaj     9-Oct-2010/12:43:52-7:00

thanks for the information Kaj.
just wondering why the link to this framework is not on the Rebol site.
any other web frameworks links that you could let us have here ?

posted by:   yuem     11-Oct-2010/9:40:20-7:00

Yeah, QM is remarkably unknown.
The other frameworks are either old (Magic!, Vanilla) or mainly for static websites. Of course, there's also still the web app/RSP API included in Cheyenne. The most notable static framework is Remark, because it is moving towards a dynamic engine:
However, the newer rewrites don't seem to be published yet.
I have an extensive framework of my own that is in heavy development and that I don't intend to publish in full, at least not soon, but I use it to run a number of sites.
So QuarterMaster is the fullest offer. There are usage and development sections about it in the Syllable Server manual:

posted by:   Kaj     11-Oct-2010/10:14:19-7:00

Well...is it a case of blaming one's tools...?
A success? It is. Are others more popular?
Marketing? Or mainstream vs the road less traveled.
Stand out and be different and get nailed.

posted by:   bk     18-Nov-2010/20:36:27-8:00

Actually Yuri has a point. His original complaint was he can't get a job as a REBOL developer. Try to get one just knowing Ruby, Python, or Groovy and you'll starve too.
Now how to get the large corporations to start building and using applications in REBOL would be a more productive line of thought.
I code in ABAP. I can work for any corporation that uses SAP. It is not open source, and it'll be one of my main languages until I retire. But it's not sexy.
There are many languages that never make it to mainstream. Perhaps REBOL is one of them. Only time will tell.

posted by:   Steve Oldner     22-Nov-2010/14:13:25-8:00

Getting the large corporations to start building and using applications in REBOL is impossible until REBOL is backed by a large entity. That could be either a large company or an open source community. Both are unlikely.

posted by:   Kaj     23-Nov-2010/14:59-8:00

Actually, I think that if there was a port of REBOL that targeted the JVM, you would have a relatively easy time getting corporations that have standardized on Java to allow its use. There is more and more acceptance of languages such as Scala and Clojure, which compile to Java bytecode and have full interoperability with existing Java code.
Lots of Java developers have discovered the benefits of languages that offer functional programming features, conciseness and expressiveness and, where it makes sense, are introducing these into their workflow.

posted by:   Adrian     29-Nov-2010/9:17:01-8:00

The problem with that is that a REBOL compiling to bytecode would not be a port, but a complete rewrite. The current rewrite to REBOL 3 has taken half a decade, so...
The best that might be done would be a port of REBOL 3 that would interface tightly with the JVM. But that would still require you to install an extra executable, so it would still be the same obstacle.

posted by:   Kaj     29-Nov-2010/10:56:07-8:00

Come to think of it, it would be possible to build a REBOL 3 executable that would include one of the open source implementations of Java with a license that doesn't conflict with REBOL. So you could disguise REBOL very well, but you would have to require people to install your version of the JVM.

posted by:   Kaj     29-Nov-2010/11:02:13-8:00

There is another possibility for REBOL-Java interop which I mentioned some time ago on AltME. When you're talking about corporate development using Java, deployment typically done on application servers such as WebLogic, WebSphere, Glassfish, etc. Most of these big names have changed their low level infrastructure to be based on OSGi - a modularization framework that provides for dynamically updatable, versionable code bundles which provide services at the JVM level.
These bundles are basically zip archives containing Java class files, resources and and native dll's that might be needed along with some metadata that describes the services provided by the bundle. REBOL could be provided as such a bundle and could upon loading, provide proxy Java services to interact with other services in the JVM or with services in local or remote JVMs using the remote OSGi spec (socket level connectivity). These Java classes could be generated by the REBOL bundle on demand and added to the JVM at runtime as additional bundles, or they could be pre-generated and deployed with the REBOL bundle.

posted by:   Adrian     29-Nov-2010/15:51:18-8:00

Interesting; like a sort of standardised server web plug-in. That should indeed be doable with REBOL 3.

posted by:   Kaj     30-Nov-2010/17:41:09-8:00

Yuri is reading what i say in altme too much and i like that !!!
I pretty agree with all he said since it comes from me :)..
Yuri you attrackted some heavy racist commentary from hiding people that's funny people didn't go that far with me.
To all of you yuri's hater do you feel like being part of a community and being open minded and ready to help the other ? How can you dare say that after what is said here.
but you are the reflect of the poison mining rebol world for some years. You do nothing but you talk big on the acheivements of others...
Does rebol is a hobbistic language yes! and this hobby those past 5 years had become a true pain in the ass!

posted by:   Shadwolf     4-Jan-2011/21:45:11-8:00

Yeah, we hate the race of trolls...

posted by:   Kaj     5-Jan-2011/22:51:06-8:00

and i hate hypocrits :)

posted by:   shadwolf     13-Jan-2011/20:00:39-8:00

one day kaj you will learn free talk doesn't mean having people coming to flater your ego :).
what yuri said in his 12 lessons of rebol is the truth and kaj let me quote your how words "I don't want to be limited by Carl's design".
I prefere from far people like yuri that try to change things by having frantic discussions than people like you kaj that in front of carl say to him he is a genius and on his back try their best to spoil him copy his product in the shadows.
You want me to troll you kaj what about this catch phrase "Be a moron code in Boron" :)

posted by:   shadwolf     13-Jan-2011/20:12:25-8:00

I wouldn't have responded, but I do want to call you out on this lie: "I don't want to be limited by Carl's design". I never said that.

posted by:   Kaj     14-Jan-2011/16:00:52-8:00

Love the "How Rebol began" and "Where it is today" slides from Doc's presentation of Red.
Stick that in your pipe and smoke it.

posted by:   Yuri     23-Mar-2011/14:50:05-7:00

Here it is, 9 months since my last post, and Rebol is more dead than dead. Surely even the fanboys have given up by now?

posted by:   Yuri     19-Dec-2011/4:00:47-8:00

I'm still using REBOL regularly.    
During the past 9 months I've created an inventory and point of sale system for a new grocery store in Archbald, PA (took just a few days to write from scratch, and has been in production for several months now).    
The software that I wrote to operate Merchants' Village has processed more than 300,000 sales transactions, and has been operating without any trouble for more than a year now.    
Rockfactory is humming along on all the REBOL software that has been in production for 7 year (the New York Times will be doing a story about us in the near future - I'll post about that when I get a publication date).    
I'm currently writing some REBOL code to help automate local cable cut-away spots for a major TV network.    
And of course, I still use REBOL regularly for all sorts of daily computing tasks.
I haven't needed any updates - for my needs, REBOL has been stable for years :)

posted by:   Nick     22-Dec-2011/7:35:30-8:00

R2 is stable enough to use in general programming.
I got my SDK license and just after 2 days I completed a job in 3 days (using REBGui) to a big customer (Citibank). And onther one for 1500$ in a few days..
It is possible to do the jobs in another language but it definitely takes longer and no fun at all.
Of course we all expect to see release of R3 but no need just to wait.
REBOL's biggest advantage is those kind community.

posted by:   Endo     22-Dec-2011/12:24:35-8:00

283 posts in 14 groups from 26 people during the last 10 days :)

posted by:   Nick     22-Dec-2011/12:47:32-8:00

591 posts in 19 groups from 30 people during the last 16 days

posted by:   Nick     23-Dec-2011/17:14:35-8:00

591 posts in 19 groups from 30 people during the last 16 days

posted by:   Nick     23-Dec-2011/17:14:42-8:00

I don't usually debate this, since I know who Yuri is, but he should probably learn about two clones, one conceptually close to REBOL, called "Red" and the other, which is more like REBOL, "World Language". Google them. Many people are closely following them.
So, even if REBOL 2 one day magically stops working and REBOL 3 development stops, there are at least two other ways forward.
Also, since my income is currently 95% based on REBOL development, I'd say, it's not quite dead yet.

posted by:   Henrik     24-Dec-2011/7:41:29-8:00

"if REBOL 2 one day magically stops working"

posted by:   Endo     27-Dec-2011/7:35:51-8:00

enddo, henrik,
if rebol is not being maintained or upgraded to work with newer version of os whether windows or linux or even the machine architecture , then there is a risk that at some point it will not work properly, and if you have done a lot of apps with it, then you are at a risk with not being able to do anything for your clients.
We just ran with some problems at work , where one of the app was not able to run with a new version of solaris and the new oracle hardware architecture.

posted by:   yuem     27-Dec-2011/22:04:28-8:00