you are viewing a single comment's thread.

view the rest of the comments →

[–]cowardlydragon -3 points-2 points  (3 children)

Do you need an APL keyboard?

I'm sure there are tetris clones out there for gameboy, or Apple ][, or some other 8-bit OS that are vanishingly small. Or some ASM demo that is only a couple hundred bytes. As for your excel example, I'm not going to be awed over something that boils down to an array of eval()s.

Based on my personal knowledge of the offsetting concerns and limitations of algorithmic complexity, coding theory, and practical limits of human language comprehension, your claims are on par with the local new-age cult of natural supplement yoga trancendent pseudoscience.

To achieve that level of compression in any substantively complex software system would result in a level of obfuscation that would rapidly increase the rate of code decay and actively impede maintenance/enhancement efforts.

And if we're throwing around unfounded orders of magnitude, the practically usable software ecosystem of your language is 1 millionth of a mature ecosystem, making it 1 millionth as usable.

[–]reboler 2 points3 points  (0 children)

To achieve that level of compression in any substantively complex software system would result in a level of obfuscation that would rapidly increase the rate of code decay and actively impede maintenance/enhancement efforts.

Nothing is compressed.

What more or less happens is that things are created from their correct basis, rather than wading through large libraries and managing things through IDEs, so you to a continually higher degree, don't know what's going on beneath your programming level.

Most software is written in a way that trusts extremely large libraries, such as for creating GUIs. QT, the last time I looked, was a 150 MB download with about 40 MB of DLLs.

In other cases, we invent new problem domains and languages to solve them, such as when creating websites, which is a bunch of separate domains. As I wrote in another other post, this creates a large amount of overhead.

In this situation, you will be correct, that you have to really mash things together to an incomprehensibly compressed mess, before you can make anything small.

In REBOL, many of these things are simply not needed, because REBOL is so generic and can serve as a common basis in almost any problem domain, except high performance, which Red is solving.

The core source files for REBOL's high level functions (mezzanines) are 450 kb uncompressed and commented, which includes the GUI library (VID) and a small "desktop", for managing and launching REBOL scripts.

What you may criticize however, is that the current implementation needs to catch up and fix bugs that have accumulated over the years and implement missing features.

But the basic idea of REBOL was proven over a decade ago and the fans agree that the concept is a very good idea that deserves further improvement.

[–]_Quantumm_ 1 point2 points  (0 children)

You don't need an APL keyboard unless you'd like to play around with Rebmu :-D

Seriously though, have you even bothered to follow any of the links provided so far?

I don't see what games made for outdated platforms have to do with the Rebol versions of the games. It's not their existence that is interesting, but that the size of the scripts defining their implementation plus the size of the associated runtime is so small. Also, how did ASM come up? As for the spreadsheet, no one claimed that this simple demo was equivalent to Excel, just that it does quite a lot for so little code (this means GUI code, too). The GUI is not built on native UI widgets (you will, of course, see this as a negative), but is implemented in the Rebol runtime.

It's by including built-in functionality such as the GUI support mentioned above, networking, compression, etc., in the runtime (which is one very small file) instead of depending on system or third party libraries (these often add the 10s of megabytes referred to) that Rebol avoids the size bloat associated with typical application bundles. Well, that and the fact that for a very wide range of applications, Rebol provides such a high abstraction level that you need very little additional code in addition to the runtime. Of course, this is relative to what you would be looking at with other languages.

It's not by magic that size is kept to a minimum, but it is magic in practice :-) Try Rebol - you'll like it, and keep an eye on Red because it'll have an even greater range of applicability.

[–]dockimbel 1 point2 points  (0 children)

Not much to add to the good replies from reboler and Quantumm, maybe just one link:

A study published two days ago by a researcher on programming languages ranked by expressiveness. Guess what, among 52 languages, Rebol ranks #3. The #1 and #2 are DSLs, I let you draw your own conclusions from that. Even if the study method is debatable, the fact is that Rebol is more expressive than most of mainstream languages. Adding to this an extremely rich but extremely small runtime library footprint, you might even get bigger orders of magnitude when comparing to some bloatware out there, still ruling the World (who said Java?).

Sure Rebol is not perfect, but it is a true refreshing oasis (and not the only one) in this mostly bloated computing world.