Language Selection

English French German Italian Portuguese Spanish

A smarter CLI - Innovation by Simplicity

Good command line tools are more important than ever and not just a relict of ancient times in comparison to RIA or GUI applications. Experienced system administrators appreciate their power in sophisticated shell scripts and could probably not manage their environments without them. The question is how can we make command line tools smarter and more powerful than today? This article discusses some ideas and potential implementations always keeping in mind "Do not reinvent the wheel" and "keep it simple".

In the world of free software which made tremendous progress during the last 25 years the CLI (Command Line Interface) never lost it's importance and is still a standard component of well designed applications which expose their APIs and functionality through programming libraries (e.g. in C/C++/C#, Java,...), scripting wrappers (Perl, Python. Ruby, PHP, JavaScript, Tcl, Groovy, Boo, Lua, Lisp, Guile,...), command line utilities, REST/SOAP/XML-RPC/JSON-RPC/D-BUS interfaces and interactive GUI/Web applications.

From a more modern perspective command line tools and the interrelated mini or little languages (e.g. check Eric Raymond's book about The Art of Unix Programming) are special cases of Domain-specific languages (DSL) with the additional focus on interactivity and do not look that old fashioned any more! The syntactic resemblance of command line expressions with functional language constructs e.g. in Haskell or Scala shows further paths of investigation and potential innovations.

The past and future of command line tools




More in Tux Machines

Git 2.2.1 Released To Fix Critical Security Issue

Today's Git vulnerability affects those using the Git client on case-insensitive file-systems. On case-insensitive platforms like Windows and OS X, committing to .Git/config could overwrite the user's .git/config and could lead to arbitrary code execution. Fortunately with most Phoronix readers out there running Linux, this isn't an issue thanks to case-sensitive file-systems. Read more

Ubuntu 15.04 Alpha 1 For Its Various Flavors

While Ubuntu itself no longer puts out alpha/beta releases in favor of just testing out the daily Live ISOs, the various Ubuntu flavors still participating in the traditional release process have done their first alpha releases this afternoon for Ubuntu 15.04. Read more

Robolinux 7.7.1 LXDE Runs Windows Apps with Stealth VM

Robolinux 7.7.1, a fast and easy-to-use Linux distribution based on Debian has just received a new desktop environment, LXDE, making this the third second flavor of the distribution. Read more

Jolla's Sailfish OS Update 10 Is Now Available

The tenth update to Jolla's Sailfish mobile operating system is now available. This update is version 1.1.1.26 and is codenamed Vaarainjärvi. This latest update to Jolla's Sailfish OS includes the device lock now supporting alpha-numeric codes, copy-paste support between Android and native Sailfish apps, Mail app improvements, new overlays for maps, search improvements, unification to the accounts framework, new MMS settings, UI improvements, and an assortment of other improvements. Read more