Rebol has always interested me, as a person that follows programming languages. There seems to be a spark of insight to it. I wasn't aware that there were free and open source languages inspired by it (or made by its author), nor had I heard about Red. I'm impressed by what I've seen so far and am going to have to take a closer look!
I have suspected that a well-enough designed programming language could subsume many programming tasks that are currently different languages or data formats. There are so many. It looks like Red is attempting to tackle that problem directly - I'm curious what headway can be made.
Rebol itself was open sourced a while ago, but IIRC that didn't include the GUI system, and few third parties seem to be interested. Last update to the github repo [1] was two years ago…
If we're talking about Amiga almuni projects, DragonFlyBSD seems to be the healthier one.
Red/Rebol is basically LISP without parentheses (highly dynamic and homoiconic). Syntax is weird but easy to grasp. Red/Rebol is basically a All-in-One Package as a tiny executable contains a lots of useful functions for which you would require the use of big, heavy libraries in C/C++.
Red/Rebol allows for very clean (subjective term!), short and concise code, which allows for easy long term maintenance and also leads to more work done in less amount of time.
The syntax is a big deviation than the imperative C-Style languages people are used to. But if you ask me, then well, it is for the good.
I didn't think of it as LISP without parenthesis. Glancing at it, I thought it might work different enough that I'd have a LISP-like headache wrapping my hand around it. I appreciate you telling me that as I might build up energy to take another go at REBOL/Red. High-level, DSL-driven languages are certainly advantageous over the competition in many attributes.
REBOL syntax is even closer to Logo. Logo is well-known for its "turtle graphics" drawing system but beyond that it is actually a full-featured dynamically scoped (traditionally) Lisp.
Heck, now that you say that, I think I agree, intuitively, though did not think of it before (and I've been checking out Red lately, and Rebol some time earlier). (Used Logo as a kid.) I'll have to analyze why. Interesting observation.
Not to say anything bad about Rebol, but .. K2 had a superfast interpreter, superfast and supereffective reactive GUI (with a milspec kind of look), and a superfast ha transactional database engine for about 400K static exe.
Alas, they dropped the GUI when K3 came out; the most recent available version K4 is ~400K without GUI, and the next version KPARC is a complete OS (boots on metal) with GUI, file system, database and everything at less than 1MB
The syntax is intuitive to some people, especially those named Arthur Whitney or using the nickname geocar (but I also find it intuitive); most others tend to disagree about how intuitive it is.
There's also Picolisp: a tiny Lisp with HTML/webbrowser-based GUI and integrated database (using Pilog, its own Prolog-inspired querying language). Latest source is 943 KB.
The syntax may be alien on first look, but it makes lot of sense once you dig bit into it.
It is multi-paradigm language with heavy focus on dialects (DSLs).
I'm digging this. While it's too early for me to dove in, I can definitely see this language having a future. It's nice to have languages questioning the current paradigm of what a language and syntax should look like. These kinds of experiments, even if they happen do go nowhere, are important for the future of programming. They help change and form opinions and inspire thoughts of what a programming language could/should look like. Each language created helps us pave the way for a more optimal future by seeing what doesn't work and what does work and then taking those notes of benefits and drawbacks to help create future technologies.
Last I looked into Red someone said they weren't ready to draw attention to Red. I can't find the source now, but figured if Red's creators aren't even ready to attract attention, it's too early for me to hop on board.
Is there any truth to this? Whatever the case, I will learn Red eventually. It looks really awesome. The project has ambitious goals and seems to be achieving them at a good pace.
Red is still alpha and certain important features are still missing (see roadmap for details). But it is not some hobby language, Nenad, the author, is very dedicated as are other members of Fullstack Technologies (company behind Red), so you can expect Red improving at steady pace.
I am really glad you like Red. It is already useful as it is now. Check the Red room on Gitter (sorry, I am on phone now, so no link), there is lot of people willing to help you.
Yes it was true. But not in this sense. The current IO support is minimal and temporary (IO is scheduled for 0.7.0). Also, the gui support is currently windows only (more OSes to come soon). So dockimbel and others meant that we should avoid over-exposure else it would lead to negative attention as there is a large bunch of devs on Linux and OSX platforms as well. The point is that lots of planned features are missing right now.
Although my personal opinion is that it is a good time to jump into Red because it is expected that Red 1.0 release date near about 1 year. So, learning Red, and finding bugs in it is gonna help you and both the project to advance further quickly and get ready for prime time action.
is the gui backend coded width direct windows system calls or there is a layer ? I'm thinking about the work to be done for other systems (linux, os x, ...)
As rebolek said, yes, there is a layer. The blog states that
`Flexible backend support that can be mapped to virtually any kind of UI library.`
which means that the abstractions used are good enough to support different OS.
There are plans to support View (gui) on each platform (desktop/mobile) that Red supports. But it's going to take some time. Lots of other features to be added as well :D .
If they can deliver truly cross platform GUI toolkit it would be huge. No one has quite pulled it off yet. But frankly the task is so large it is hard to have much hope.
im not sure this language is popular enough to do this kind of post without taking the second-third paragraphs to explain to new people why its worth to get interested in this shiny new thing
It's from the language's own blog - and they have a perfectly valid "about" section on that page (It's a modern REBOL-inspired language).
What I found mostly interesting with the post (other than playing with the GUI examples after downloading the current build), is that they announce full I/O and networking support will be in 0.7!
Okay so it's yet another programming language to add onto the other hundreds of them, it can make GUIs that are Windows 7 era sort of. The syntax looks way off from most other programming languages.
Honestly, this looks like a mess and I don't understand the purpose of it if it's meant to be used by real users. Why would anyone prefer this?
Kind of quick of judging something you don't know. I too find the syntax alien to me, but I don't automatically assume that means it is a bad thing or a bad syntax. If you look at smalltalk, LISP or forth they all have very different syntax which will seem alien but usually they are all quite simple below the surface and quite quick to learn.
Plenty of languages with familiar looking syntax which are horribly complicated. E.g. like C++ ;-)
It's not limited to Windows 7 era GUIs by design, there are plans to have GUI support for OSX, Linux, Android, etc...
Furthermore, don't get confused between styling and layout. The code is focused on layout, the styling can look just as modern as any other GUI framework.
Lastly, as to why anyone would use Red, it enables you to create full graphical apps in a small amount of code, and is designed to be compact (runtime under 1MB) and fast (native compilation). Once you get familiar with the syntax (which is easily done by reading a short tutorial) then you have quite a powerful tool at your disposal.
Well, you've just asked an eternal question - why yet another programming language? So - do you suggest ppl should refrain from trying their new ways? :-)
And yes, Rebol like syntax might feel kind of weird, when coming from other environments. But it is clean, unnecessary punctuation free, and once used to, very obvious and productive.
As for GUIs, Rebol featured custom one, Red uses binding to native widgets. Both aproaches have their advantages/disadvantages. You can bet, it will improve and I am the one, who would like to see "Metro" supported as far as Windows is concerned ....
>Okay so it's yet another programming language to add onto the other hundreds of them
Yeah, sort of like your comment is yet another comment to add onto the other hundreds of them (and us all here on HN are just yet another 10-20.000 humans to add to the other billions on earth).
>it can make GUIs that are Windows 7 era sort of
Because its GUI bindings is where a language is truly evaluated from...
>Honestly, this looks like a mess and I don't understand the purpose of it if it's meant to be used by real users. Why would anyone prefer this?
Based on Rebol, a very high level language, with extremely powerful DSLs (and easy to do DSL's in), with first class support for lots of things as types, homoiconic, very versatile and easy to get advanced results with very little code.
My point was more what is the average developer going to think of this language / its homepage. Its mission isn't entirely clear, and it's showing off some GUI functionality that's been available in other languages for a very long time.
I didn't mean the GUI support was the basis of evaluating it and I guess my post came off as flippant.
It wasn't clear from their site though why this language should enter the mainstream. I couldn't really glean off the site if that's even their goal or not, it was pretty technical and not very inviting.
Rebol is an elegant attempt at better using language to solve problems. It offers a rich vocabulary centered around words and includes natural representations of various types, such as URLs (that you can query), emails (that you can send messages to), times, dates and more. The main data structure (blocks) are instrumental in language flow and can be manipulated as data before being interpreted as code:
It is different and it's not immediately apparent what it brings to the table. However, that it does have this depth and is squeezed into a < 1 meg package without dependencies hints at why there are a few of us that consider it tremendously versatile and worthy of a more prominent place in the development firmament.
I have suspected that a well-enough designed programming language could subsume many programming tasks that are currently different languages or data formats. There are so many. It looks like Red is attempting to tackle that problem directly - I'm curious what headway can be made.