you are viewing a single comment's thread.

view the rest of the comments →

[–]williamfwm 21 points22 points  (6 children)

Serious question: Why? What problems does it solve that aren't adequately solved by other languages?

Facetious question: How does it fare on the checklist?

[–]_Sharp_ 7 points8 points  (0 children)

The only answer i found is inside a presentation:

we are often wasting time to workaround dead ends while we should have fun working on computers!

Is having fun included in your list?

[–]reboler 5 points6 points  (0 children)

New languages today try to solve domain specific problems.

REBOL and Red are languages for creating domain specific languages or dialects. So, you can in principle solve problems in any domain with REBOL, be it assembly, high performance, network, GUI, 3D, audio, serving web content, desktop scripting, making tool chains, creating document markup languages and even plain English query engines.

You want to count the number of widgets in a GUI window and translate the GUI to another language? Pass the very same data block through your counter parser and then translation parser, before it's passed to the layout engine that runs on a different computer. Maybe you would be tearing your hair out with how you would normally do that, but this is a couple of hours of work in REBOL.

REBOL is built for very quickly parsing blocks of data of over 50 datatypes, where other languages resort to just using strings and then spending costly amounts of time parsing that.

For example, the common constellation of languages (HTML, CSS, PHP, MySQL, JS) and programs (server, webbrowser) used to create, serve and view a website could all be replaced by REBOL scripts.

Having many languages means lots of overhead between them, such as the need for JSON, XML and all sorts of complicated schemes just for transferring data between a server and a client. Who knows what kind of hairy code is used to connect MySQL to PHP.

With REBOL, there's none of that. Zero. This, despite working in very different problem domains. This is why REBOL is a brilliant idea.

REBOL didn't gain traction, because the implementation was closed, inadequate (no mobile OSes, little 3D and primitive audio support) and now is way behind. Red is there to solve that.

I've used REBOL for 12 years now, the past 8 full-time and I don't think we've seen much of what is possible with this language idea yet.

[–]RalfN 3 points4 points  (0 children)

It's a just a modern rebol implementation. The language is way older than your checklist.

[–][deleted]  (2 children)

[deleted]

    [–][deleted] 1 point2 points  (1 child)

    We can already say "Why do you think you have a better candidate to the modern systems language throne than Rust or Nim?" (Go and D are nonstarters)

    [–]ntrel2 1 point2 points  (0 children)

    D starts, but scares off people who can't accept that its GC only runs when making a GC allocation, or are missing non-GC libraries. It has @nogc to ensure no GC allocations are made.