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

today's howtos

KaOS 2016.06 Moves the Distro to Linux Kernel 4.6, Adds Full-Disk Encryption

The developers of the KaOS Linux operating system have had the great pleasure of announcing the release and immediate availability for download of the KaOS 2016.06 ISO image with some very exciting goodies. First and foremost, the devs have decided to move the distribution from the long-term supported Linux 4.4 kernel series to Linux kernel 4.6, which makes it possible to fully automate the early microcode update. Furthermore, the default desktop environment has been migrated to the Beta of the upcoming KDE Plasma 5.7. Read more

Tiny Core Linux 7.2 Enters Development, First Release Candidate Is Out Now

The developers of one of the smallest GNU/Linux operating systems, Tiny Core, have announced that the next point release in the Tiny Core Linux 7 series, version 7.2, is now open for development. Tiny Core Linux 7.2 RC1 (Release Candidate 1) has been released today, June 25, 2016, and it lets early adopters and public testers get an early taste of what's coming to the final Tiny Core Linux 7.2 operating system in the coming weeks. Read more

Huawei CEO: Will keep using Android as long as it's open

He made the said comment in a Weibo post, where-in he also noted that Google's mobile OS has promoted the development of smartphones, which in turn has benefited consumers. Interestingly, he didn't say anything about whether or not Huawei is developing an in-house mobile OS - said to be called Kirin OS. His silence on the matter, though, can be taken as a confirmation of sorts, especially when his comment reflects the possibility of Google restricting the companies’ freedom with Android in future. Read more Also: Huawei CEO Comments On Rumors about its Independent OS