Why

We might probably agree that shell programming is also kind of
nuts in terms of syntax:

123

if[ -z $STRING]; then ...
fi

Like, ehm, what the hell? fi? -z? brackets?

Fighting with Bash, or the common shell programming language,
can get intense from time to time. Writing code such as:

123

if(this==that){parts=this.split("/").filter(...).map(...)}

will bring tears to your eyes if you’re using the shell.

Now, you can do similar things with any mainstream programming
languages (the example above is valid javascript): what these
languages are not great at is their integration with the
underlying system — a shell is simply much more coincise / powerful
from that perspective.

Imagine you could run code like:

12345

host=$(hostname)if(host=="johns_computer"){ ...
}

Well, you don’t have to “imagine” no more: ABS is a language that
combines quick and simple system commands with a more elegant syntax.

Think of it as the best thing since candy, only to remember this
is the definition ABS’ author gave you. But seriously, it’s pretty
darn convenient.

Don’t believe me? Read on!

Examples

I’m a firm believer in the “show me the code!” mantra, so let’s quickly
get to it. Running shell commands is extremely easy in abs:

You can skim through the whole documentation
within 15 minutes: ABS’ aim is not to be a general-purpose, feature-loaded language,
so the surface isn’t that wide. In addition, if you’ve worked with languages such as JavaScript,
Python or Ruby you won’t have troubles getting used to ABS.