Red is a next-generation full stack programming language, strongly inspired by REBOL.
Elevate your Red skills through 49 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Red's characteristics mostly come from the fact that the basis of its creation was Rebol, and Red's development started as an open source community alternative. In the meantime, Rebol's development has stopped, and Red is constantly evolving.
Just like Rebol, Red is a general purpose programming language. You can use it to create any application you want. To be as familiar to developers as possible, multiple paradigms are implemented: imperative, functional, object, symbolic, and reactive. Although its entire toolchain fits in a 1.5 MB download, it has Graphical User Interface implementations for all major operating systems (Windows, Linux, macOS) and no dependencies on external libraries.
Red strives to be as simple as possible. It's designed by making the most usable compromises and choosing sensible defaults to allow the completion of every task without being overwhelmed by a number of choices. It's focused on human readability, so syntax sugar is reduced to a minimum and programs try to resemble sentences of natural language. As a result, Red and Rebol are highly expressive.
An unusual value of Red is its homoiconicity, so a Red program can be manipulated just like any Red data structure. Hence, Red and Rebol are also data formats. A fun fact is that JSON was inspired by Rebol.
Compared to Rebol, Red has been greatly improved. It can be compiled to a single executable for every supported platform, using any of them. So, you can compile Windows programs on Linux or macOS programs on Windows. There is also a REPL console available, both command line and graphical, which enables instant manipulation of data with Red commands by typing them one-by-one.
What also differentiates Red is its dialect, Red/System, which makes Red a full stack language, allowing development of low-level code like in C.
Red is open source. Its development is hosted in GitHub repository. Currently the project is in alpha stage, so expect things to change and break.
Full-stack
Red can be used to create a device driver as well as a GUI application.
Lightweight
Entire toolchain is about 1.5 MB download, single executable. Low memory footprint.
Code is data
Red is its own meta-language and own data-format. Program can operate on it's own code.
DSL
It's easy to create Domain Specific Languages, dialects and parsers.
GUI
It's simple as: view [b: base 100x100 button {Draw circle} [b/draw: [pen red circle 50x50 50]]]
Reactive
Objects can be linked by reactions to reduce size and complexity of program.
Full-stack
Red can be used to create a device driver as well as a GUI application.
Lightweight
Entire toolchain is about 1.5 MB download, single executable. Low memory footprint.
Code is data
Red is its own meta-language and own data-format. Program can operate on it's own code.
DSL
It's easy to create Domain Specific Languages, dialects and parsers.
GUI
It's simple as: view [b: base 100x100 button {Draw circle} [b/draw: [pen red circle 50x50 50]]]
Reactive
Objects can be linked by reactions to reduce size and complexity of program.