Red is a programming language with an ambitious goal. Its a new kid on the block being born only in 2011. However it promises some features that (if it can deliver) will be incredible for the future of programming.
Red touts itself as aiming to be what is known as a full stack language.
Full stack in their definition means that you use one programming language that will adapt to your various needs on the database side, the program logic etc. Red aims to be Full stack language from the microprocessor upwards.
This means that one can technically use Red to build an exe
in any platform, to make an Android app, to make Javascript code for your web pages or to program your Raspberry Pi.
The project is ambitious to say the least.
Red is not the first language to mention the word full stack. Its parent language REBOL was one of the first attempts at making a full stack language. Lets also not forget that every programming language that claims to have a full stack tag must bow down to C++. (though its possible for C++ to be full stack no one uses it that way). Another language that's
Imagine programming in one language. You are programming a website. Imagine writing everything from your database queries to your GUI in one language. Imagine teaching kids one language which they can use to make software or mess with hardware. Red, if implemented properly, is incredibly useful.
It also is worth noting that Red aims to be homioiconic and incredibly simple. It is trying to also support Metaprogramming as much as it can. Plus, it aims to support both functional and imperitive programming.
Okay so lets go through the rest of the features as a series of meaningless words: native, compiled, embeddable, high-level scripting and REPL support, low level programming, concurrency, parallelism, low memory footprint, garbage collected and all of this in about 635Kb (at last count)
First we need to download the Red language from here Once downloaded open up the Red console and lets go
Now lets go through the absolute basics of programming in Red
a: 5 ;variable assignment <- this is is a comment
a: a - 1 ;remember the spaces are important
print a ; printing works for strings too
There's a ton more but this is just the basics