What's R3R

R3R is a reader for RSS, ESF and Atom feeds. It has a simple GUI that gathers your subscribed feeds on startup and displays them into a single list.

R3R is designed to be simple, small, fast and portable.

Unlike most other feed readers, R3R does not bog down servers with repeated requests. It's more like an e-mail client that you can use, preferably no more than a few times per day.

R3R was originally written in PHP, because of the easy sockets; however, the lack of Unicode and threads and the complexity of the extension scheme became too much of an impediment, so R3R 2 is rewritten in Pascal.

About Pascal

This section gives information and insight about Pascal. This is in case you're curious about the language, if you're a programmer who hasn't been introduced to the language or if you simply want to learn how to program.


Why Isn't the rewrite in C?

Personally, I don't really like C. It's ugly, cryptic, inconsistent, and encourages buffer overflows. I can program in C if I have to, but I'd rather not. See the links above for some good comparisons.

Probably, the best thing about C is its portability. Standard C code can be compiled anywhere, because the burden is placed on the programmer rather than the compiler. Pascal is a much nicer and safer language, but slightly less portable.

Understandably, the portability comparison is purely theoretical. In practice, programs in either language will only work on one compiler per platform (hence, you need gcc to build almost all C code on *nix platforms, and compiling on Windows usually requires an expensive compiler such as Visual C++, Visual Basic, Delphi, or similar).

About Pascal Standards

There are Pascal standards, but compiler makers tend to ignore them and try to be compatible with Turbo Pascal, and add various other extensions as they go.

Compilers try to be compatible with Turbo Pascal, which tried to be compatible with Apple's Pascal compiler, which was extended from UCSD, which was extended from the original implementation (Pascal-p).

See my Pascal compiler comparison for a sample of the compatibility between compilers. There's a large degree of compatability, but it's not 100%. In particular, some compilers only support object-style OOP, though the class style is cleaner, higher level and more consistent with the existing language.

It should also be noted that, in all fairness, there are some things in the standards that are nicer than the non-standard Borland implementation. One of these things is conformant arrays, which are, compared to open arrays, more consistent with the way Pascal arrays have been used since day one (with definable bounds, not always zero to highest element), and would have made a more logical basis for dynamic arrays.

[OSS services provided by SourceForge.]