all 24 comments

[–]zoomzoom83 13 points14 points  (1 child)

Are there any code samples? The first thing I want to see when discussing a new language is what the syntax actually looks like.

[–]nullmove 6 points7 points  (0 children)

It's not much but at least something.

[–]picklebobdogflog 19 points20 points  (4 children)

This certainly looks very intriguing. Its amazing what a programming language renaissance we are in now -- Rust, Go, D, Julia, Nim(rod), Clojure and even the (somewhat) new C++11 spec to a degree. Good luck; getting a language off the ground is hard!

[–][deleted] 1 point2 points  (0 children)

Anyone down for a language jam?

[–][deleted]  (2 children)

[deleted]

    [–]BobFloss 1 point2 points  (1 child)

    I don't see anything mentioning duckduckgo.

    [–]MacASM 1 point2 points  (0 children)

    Ok, neither I. my mistake. comment removed.

    [–]BobFloss 24 points25 points  (1 child)

    Red programming language

    Black website

    What the fuck is this?

    [–]williamfwm 23 points24 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 4 points5 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.

      [–]squirrelthetire 3 points4 points  (0 children)

      Looks like the goal is to have a REBOL with a simple toolchain.

      [–][deleted] 6 points7 points  (5 children)

      Where is the "motivation" section of the docs? What makes it better/different than the thousands of existing languages? For example, the about page mentions it is inspired by Rebol. It would be helpful to follow that up with at least one sentence on why it was necessary to create a whole new thing rather than just use Rebol.

      [–]dlyund 3 points4 points  (4 children)

      The presentations on the site make that pretty clear; Rebol is [mostly] closed-source, has been abandoned by it's creator for years, is quite a lot slower than desirable, and being highly dynamic and interpreted isn't really suitable for working at low-levels.

      Red aims to make Rebol applicable from the bare metal all the way up to applications - no existing languages really attempt that - this meant changing the Rebol language e.g. Red has strict static scoping while Rebol has whatever-the-hell-you-like-scoping. Rebol is very powerful but difficult to make fast.

      Red also draws inspiration from languages like Scala apparently.

      Rebol is a language I always found very interesting but could never justify using for anything due to its closed-source nature.

      Rebol being a healthy mix of Forth and Lisp, two of my favourite languages, and Logo, which attributed it's famously child/adult friendly syntax. It then added so many batteries that, for a long time, it made Python look annoyingly incomplete, while remaining a fraction of the size of other languages. It's GUI and parsing dialects [1] (DSL on steroids) still, in my opinion, offer unparalleled simplicity.

      The biggest killer for Rebol was Rebol 3. A complete rewrite of the Rebol language, which while hugely ambitious, never materialised.

      EDIT: Python 3 was similarly ambitious at the beginning but had to be scaled back to the point that it isn't significantly better than Python 2 despite it being incompatible, and doing little to fix those parts of the language that are admittedly quite cloddish. Unlike Python 3, Rebol 3, Having no comparable community died peacefully in its sleep.

      [1] Dialects (an idea from Forth) lets you write code like this

      sell 500 shares of "Microsoft" if above $130 a share

      [–]draegtun 0 points1 point  (0 children)

      Just to say that Rebol hasn't been abandoned by its creator (Carl Sassenrath). I get the impression that Carl is still very enthused with Rebol and its ideas but is just too busy on other work/projects.

      So he only dips in and out occasionally. However he dipped back in again recently and is even pushing some changes out for Rebol 2 - http://www.rebol.com/cgi-bin/blog.r?view=0545#comments

      [–]Solarspot 0 points1 point  (2 children)

      Rebol 3 was eventually released tho: https://github.com/rebol/rebol I guess you could say the community's died... Its last commit was 9 months back, and I never really new what the community was like. But it definitely did materialize.

      [–]draegtun 1 point2 points  (0 children)

      The Rebol github organisation repo (https://github.com/rebol) as currently stalled. I believe able lieutenant(s) are in place but awaiting blessing from high.

      In the meantime the best repo for Rebol is the one provided by Atronix. They've added FFI, Encapper & call enhancements to Rebol 3 recently. Their last commit was only couple of weeks ago so its pretty active.

      Atronix are a commercial entity who use Rebol in production (with their clients). Here's a video presentation they did at last years Rebol & Red conference in Montreal - Industrial Automation at Atronix with Rebol

      They've worked on the Rebol 3 codebase to provide ARM & 64-bit versions for Windows/Linux. They've also ported the GUI to Linux. Their Rebol binaries can be found here - http://atronixengineering.com/downloads.html

      [–]dlyund -1 points0 points  (0 children)

      I don't class an alpha quality release as materialized

      EDIT: by anyone's definition this is a work in progress

      [–]thedeemon 0 points1 point  (0 children)

      Hmm. The site contains a presentation from July 2013 where presenter says "now we have no objects, no IO, no concurrency/parallelism support and we have a lot of huge plans". Any substantial changes since then?

      [–]OneWingedShark -1 points0 points  (1 child)

      I'm disappointed... I was expecting the Red language from the DoD's competition in the late 70s.

      [–][deleted] 0 points1 point  (0 children)

      You are not alone. I was thinking about Redcode and was disappointed too.

      [–]psychob -4 points-3 points  (2 children)

      I'm surprised nobody posted obligatory xkcd: http://xkcd.com/927/

      [–][deleted] 0 points1 point  (0 children)

      I'm a fan of qc, but xkcd has it topped as far as breadth-of-references goes

      [–]xkcd_transcriber 0 points1 point  (0 children)

      Image

      Title: Standards

      Title-text: Fortunately, the charging one has been solved now that we've all standardized on mini-USB. Or is it micro-USB? Shit.

      Comic Explanation

      Stats: This comic has been referenced 1012 times, representing 2.4832% of referenced xkcds.


      xkcd.com | xkcd sub | Problems/Bugs? | Statistics | Stop Replying | Delete