REBOL for COBOL programmers
Date written: April 13, 2012
This introduction tries to give you enough information to help you decide if you should continue reading, or move on.
"The use of COBOL cripples the mind"
So said Edsger Dijkstra. What did he mean? Was he right? Has the use of COBOL, or maybe any similar procedural language, created "unknown unknowns" in our minds, such that not only do we not know other ways of programming, but we don't even know that there ARE other ways?
"A man's got to know his limitations"
Clint Eastwood said that one, as one of his characters. The purpose of these pages it to accept our limitations, to embrace them and use them to our advantage. We will NOT try to forget all we have learned and start over. We will instead look at problems we would have solved in COBOL and figure out how we would use REBOL to solve them. In the process, we will write REBOL code in a COBOL way. It will look bad to a person skilled in REBOL, but it will work, and it will help us learn REBOL. As time goes by, using REBOL will lead us over to the REBOL way of thinking, and, we hope, heal our "crippled" minds.
Who should read this?
This is not an introduction to REBOL. It is expected that you know COBOL very well. That is the reason for the pages in the first place, that you know COBOL perhaps TOO well. You also should know some REBOL. It is expected that you have read the documentation on www.rebol.com (link will open a new window) and beat your heads against it for a while, and feel like you just don't "get" it. These pages won't necessarily help you "get" it, but they will help you use it. After you have used it with some success, you will start to "get" it. After that, you will gradually forget what all the difficulty was in the first place.
Carl would not approve
I ran across a note from Carl Sassenrath containing this quote:
"Since those days, I've glanced over a lot of REBOL code written by a wide variety of programmers, and quite often I'm floored. Many programmers use REBOL like they're writing in C or BASIC. I can spot it in an instant; they did not bother to learn the fundamental concepts of the REBOL language. When I see that kind of code, I wonder why they bothered to use REBOL at all. C is better written in C. You will never hear me contest that fact."
So it appears that I am one of those. On the other hand, I have glanced over a lot of REBOL code written by experts, and I find it to be very obscure. I will take full responsibility for my obtuseness, yet the obtuseness remains. What is a person to do? My approach is to build on my strengths, begin to use REBOL, reread the documentation after some practice, and then hope to absorb those fundamental concepts.
A customer base of 1
If you don't like this, or find it not useful, that's fine. I wrote it for one person, namely, myself, to get my thoughts straight about REBOL. If you do find it useful, then you are quite welcome.