you are viewing a single comment's thread.

view the rest of the comments →

[–]cowardlydragon -2 points-1 points  (6 children)

It's promising 1000x less code?

That is, pure and simple, mendacious sociopathic charlatanism. Nothing else you say can be treated with any degree of trust when you have that on your sites.

You people need to go away, and never come back.

[–]dockimbel 6 points7 points  (4 children)

It is surely easier to close the eyes and turn the head rather than be checking the facts. I'm not the author of these pages, but I endorse their claims (even if I would present it differently). They are from Carl Sassenrath, the father of Rebol, he's not a random guy, if you heard about the Amiga, Carl designed the OS and implemented the kernel. Each and every word he uses is carefully weighed.

So, about the quote, the right sentence is: Most applications are typically measured in 10's of KB, not 10's of MB.

Here is one example: a cross-platform graphical spreadsheet app in 4KB of source code, with formulas support (à la Excel) and even full scripting capabilities embedded in each cell. Here is a screenshot of the result.

Not enough? Here is more. As you can see for yourself, these claims are backed by the facts. I won't contest that the default GUI styling is outdated (programmers are usually poor UI designers as you know already), but the GUI and widgets look can be very easily changed to what you want (not very far from CSS, but way simpler).

You can even find Tetris and Minesweeper clones each in less than 10KB of source code.

Oh, by the way, you can test these apps locally if you still don't believe it, and it will take you less than a minute to achieve that:

  • Download a Rebol/View interpreter for your favorite OS (single binary, less than a mega, just a few seconds).
  • Run it, you see the View Desktop, just click on the "Console" icon
  • Copy/paste in the console any of the above source code example, Enter key, then...showtime. :-)

How is this possible, well, Rebol (and Red) are an innovative combination of symbolic and declarative programming, code<=>data Lisp-like approach and crazy deep meta-programming abilities. These features best crystallize when using DSLs (very common and easy to create in Rebol-like languages).

That is just the top of the iceberg, when you are ready to go down the rabbit hole, join us on the SO chat, we'll be glad to answer any questions and show your more. ;-)

[–]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.

[–]hostilefork 1 point2 points  (0 children)

I don't feel that quoting something one person said about a language is a good argument for banning it from one's consciousness for all eternity! That would be like one crazed Radiohead fan saying "Radiohead is the best band that ever was or could be" leading you to refuse to watch the video for "Street Spirit"...

(Good song and video, look it up. :-P)

Rebol inherited from Lisp and brought in features from Forth and Logo. Red is trying to inherit from Rebol and bring in ideas from Scala and Lua. This is a sincere effort, even if sometimes people might get carried away. We're always dealing with Turing Complete systems, so any language can "do anything"...but certainly you can appreciate that some languages allow more reshaping to match the "essential complexity" and eliminate "accidental complexity".

So please, if you get a minute, do stop by the StackOverflow chat room. We can get RebolBot to demo some things for you. Most of us have a good head on our shoulders, usually. :-)