Clicking vs Typing

In the beginning, there was the command line – a text-only interface that controlled the computer.  Typing and squinting in front of a terminal provided a lot of power to experienced users, but inexperienced users demanded something easier to use.  Later, when memory and peripherals became cheap, the point and click interface was born, allowing simple device gestures to abstract the text interface.  These days, it is almost unnecessary to type at all.

GIS, like most IT professions, is slowly edging out the command line for most users.  Many years ago, students were required to learn ESRI’s text-only ARC/INFO interface, because it was the only way to access much of GIS’s real power.  Now, one can complete a course in GIS without even using a command line once.  However, the text-based interface is still around.  Many users, especially in the back office, are building Python scripts and constructing their own SQL statements.  And a good Linux server administrator needs to be able to seamlessly navigate the command line.

Rarely, one will come across a situation where the command line is the only viable option.  As an example, this evening I found myself needing to run an SQL script remotely on one of my web hosts.  The purpose of the SQL was to populate a PostGIS table with over 90,000 records, which made for an extremely long script.  The web host was kind enough to provide phpPgAdmin, a highly useful graphical frontend for PostgreSQL, which helps users to upload and execute an SQL script.  But the script file was so large that the operation timed out before it could complete.  Fortunately, the web host also provided ftp and ssh access.  I was able to upload the script file, and then use a remote terminal to execute the script.  The whole operation only required three lines of code – yet without those three lines, the entire project would have stalled.

So an argument can definitely be made that most daily GIS users do not need to know much about the command line.  But I’d like to counter-argue that just a few lines of code can exponentially expand one’s bag of tricks.  Knowing how to do common operations more than one way makes a person more flexible, more adaptable – and ultimately more valuable.

Comments are closed.