Guidance Forums / Reginald Rexx / Various question about Reginald

Search 搜索
Home Home

Forum List • Thread List • Refresh • New Topic • Search • Previous • Next First 1 Last
Message1. Various question about Reginald
Posted by: jezibel 2005-07-10 12:39:43
I VERY LUCKILY discovered Reginald Rexx just two days ago. I am still in high excitement over the possibilities created by the existence of this software.

I have been trying to learn how to program for YEARS, but never succeeded in doing so. I am of extreme short-patience, and if I can't figure out a programming language in the first few days, I end up abandoning it.
I've been through EVERYTHING....Java, pascal, PHP, and every iteration of the basic language. NOTHING has stuck. I feel my LAST hope to learn practical programming is with REXX. The reason I keep looking for a language is because I DESPERATELY need to effectively do GUI and CGI programming for some projects I will like to get involved in. So far, Rexx looks promising but I have a few questions.

Currently, I have been making a stronger than usual effort with a Basic language program called Hotbasic. (
The benefits of Hotbasic are:

1. Creates extremely tiny GUI executables starting at about 5k in size
2. Creates extremely fast compiled binaries, comparable to C++ due to having ASM (assembly) underpinnings.
3. Contains own GUI, CGI, Console, and Database libararies.
4. Has a fairly easy and logical syntax

The only drawback of Hotbasic is that, being maintained by only a single person, it is extremely deficient in tutorials, especially the STEP-BY-STEP variety. Additionally, the person maintaining Hotbasic assumes Hotbasic users are seasoned programmers and provides no material targeted to newbies. Consequently, an excellent program is made inaccessible to new programmers.

It seems that Reginald Rexx is also being singularly maintained (by Jeff). But Jeff has taken the time and trouble to create excellent Step-by-step tutorials which assumes nothing about the user.

I would like to use Reginald Rexx to accomplish my project goals if possible. Thereby, I would like to know the following things:

1. How FAST is Reginald Rexx?
2. Is Reggie an interpreted language?

3. How does it compare to other interpreted languages in speed and features?

4. How does it compare to compiled languages, like C++, Delphi, Visual Basic?

5. Can it be made into stand-alone executables? If so, can this feature be added into RPC sometime soon?

6. If so, are the .exe's reasonable safe from decompiling?

7. What are the average size of the exe's?

8. What is the smallest possible size of a Reggie GUI .exe?

9. Is Reggie capable of multi-threading?

10. Can Reggie access COM (.dll's, Lib's) objects made with other programming languages?

11. How many concurrent hits are Reggie CGI's capable of handling?

12. Does Reggie-made CGI's have session handling capabilites?

13. What about cookies?

14. Does Reggie have any memory-leak or FPU overflow issues?

15. Do you think GUI Reggie is capable of being used to produce high-end professional apps?

16. Any potential for cross-platform compatibilities?

17. What is the difference between Reginald And Regina?

18. Why cant Reginald be used on Mod-Rexx with Apache (like Regina)?
19. Which file in the Reginald Folder is the actual Rexx processor?

20. What language are Reginald and RPC written in?

21. I THINK Reginald Rexx is an interpreted language. If so, is it possible to create a compiled, binary (possibly cross-platform as well) executable (assembly) which will not need any runtime libraries (for extremely small size and speed)? I ask because Hotbasic (a compiled basic language) was based ALMOST ENTIRELY on RAPIDQ (an interpreted basic language).

22. And for Jeff, how'd you know so much about REXX? And how'd you know so much about programming in general to make sucha KICKASS prog? In other words, what is your programming background?
Message2. Re: IMPORTANT Please READ!!! Need some info about Reginald Rexx...
Posted by: Jeff Glatt 2005-07-10 15:48:09 Last edited by: Jeff Glatt 2007-06-25 03:39:30 (Total edited 1 time)
Wow. THis is like a dissertation.

1,2,3,4) Reginald REXX is indeed an interpreted  language. Interpreted languages are generally not known for their speed. I suspect that Reginald REXX's speed  compares favorably with other interpreted languages, but undoubtably not with compiled code of languages like C, C++, and the like. When you have a language  where you have things like declared variables, data types, and "functions" that have a distinct start and end, this greatly helps a compiler optimize things. REXX doesn't have this. What REXX has, and what its biggest selling point is, is simplicity and ease-of-use. You don't need to bother with a lot of the stuff
that other languages force you to do. But that comes at a price. REXX is definitely an interpreted language, and making a compiler for it would be next to impossible (unless you deliberately forbid a programmer from doing things like using the INTERPRET instruction, and SIGNAL'ing from one subroutine into the middle of another, etc).

But if you write some software in an interpreted language, and it runs without any speed problems noticeable to the enduser, then speed is a moot point.

5,6,7,8) There is no REXX compiler of which I'm aware. Reginald doesn't have one. Reginald does have a tool called Rexx2Exe which turns a script into an EXE. But it's not really a compiler. It's more of a way to repackage several scripts into one self-launching EXE. It still requires Reginald to be installed. (But this is not uncommon with "compiled" interpreted code. For example, Visual Basic compiled programs still need some VB DLLs installed on a system, although those are shipped with Windows. And Java programs need java installed).

The EXE is not all that safe from being disassembled by someone who has the skills to do so. But then, nothing is. As a programmer with a bit of experience working in Intel and Motorola assembly code (I used to write drivers and low-level code), I've done a bit of disassembling myself, and it isn't hard if one knows the instruction set.

The size of the EXE is quite small, often smaller than the original script.

9) Reginald is not capable of multi-threading. This is a feature that I plan to add at some point, but I do have a bit of design planning to do. (The REXX language has no standard for starting new tasks, and inter-task communication, so I'd be designing it from scratch).

On the other hand, it is definitely possible for one script to startup another instance of Reginald running another simultaneously running script. But there really isn't any current method of exchanging data back and forth (other than the clipboard) at the moment. An example of this is on my scripts page.

10) Reginald can indeed access DLLs written in another language. The FUNCDEF function lets you register such a DLL's functions. See the page "The REXX Language -> Access to the operating system" for more info. Reginald also supports calling functions in COM objects.

11) I'm not sure what you mean by "concurrent hits".

12) I'm not a CGI guy, so again, I'm not sure what you mean by "session handling".

13) There are no built-in functions to handle cookies per se. But the WinINet DLL shipped with Windows does have some cookie handling functions. You could FUNCDEF those and call them. My tutorial for using WinINet doesn't cover those specific functions. (It deals only with some of the Ftp and Http functions).

But if there's something in particular you need, I can look into it.

14) Reginald should have no memory leaks. I hate those. It was one of the reasons why I ended up doing Reginald in the first place.

REXX math is a little different than most languages. REXX uses "string math" which means it has arbitrary precision. The floating point calculations therefore do not even involve the FPU. You get more flexibility at some expense of speed.

15) I wouldn't use REXX to make a version of Microsoft Office, that's for sure. If you're looking to make something really "slick", I'd go with a language like C++. You can't go wrong there. REXX is definitely good for making utilities though, and a lot of people are using it for that, including people making software for businesses.

16) I do have Linux installed on one of my partitions. I'll be porting Reginald  itself (although not REXX Programmer Center nor the new GUI. Those are much too Windows centric). But that's on the back burner. Frankly, I don't much like Linux. It has a very featured-starved API. It is missing an awful lot of stuff that Windows offers a programmer. And some of the things it does have, it does in a much more crude manner than Windows does. Linux is a very, very overrated operating system. It may be a fine for a server, but it's graphical API is horrendously primitive and inefficient compared to Windows, and a lot of other stuff is likewise. It's definitely not a very good desktop OS. As far as other operating systems go, I have no plans at all to port Reginald.

17) There's an older message on this board where I answer the question of how Reginald is different from Regina.,2090

There are numerous feature differences, and internally, the source code base is very, very different.

(Nearly everything in Reginald has been rewritten). For more of a history of Reginald, see:

And another article:

18) Probably the only reason it "can't" is because no one has ever figured out exactly how to set it up. I believe Bill Bass has done some work on this, but I don't know what his final results were. I don't run a server, and don't work with Apache, so I can't say what is involved. You and Bill may want to work together on this.

19) The REXX interpreter is in REGINALD.DLL. The script launcher frontend is RXLAUNCH.EXE.

20) Reginald and RPC are done entirely in C. It's still my favorite language.

21) I have no plans to make a compiler. It would be a tremendously difficult undertaking, and I think that REXX's real selling point is simplicity and ease-of-use anyway. But I will be integrating Rexx2Exe into RPC so that it will be easier to create an EXE.

22) I've been working with REXX since I had my Amiga. I was an electrical tech, but then I fell to the dark side when I took a course in microprocessor programming (low level assembly coding). But since that one course, everything else has been self-taught. That's probably why I like clear and explicit documentation.
Forum List • Thread List • Refresh • New Topic • Search • Previous • Next First 1 Last
© Sun 2024-4-14  Guidance Laboratory Inc. Hits:0