Skip to main content


Showing posts from February, 2015

Programming @ the speed of thought

Computer programming is the means of getting machines to assist with or perform cognitive tasks -- ranging from purely mechanistic ones to tasks with high levels of (semi-)autonomy. In this sense, this practice is fast becoming the language, currency and mechanism for advancement in almost all areas of human endeavor and enterprise.
The steady technological progress in both hardware and software has increased the scope and difficulty of tasks possible for a computer. However, the tools available to a programmer (i.e. editors, IDEs, debuggers, profilers, etc.) are based on one primary modality -- typing. This modality may increasingly prove to be an impediment to the goal of rapid prototyping of solutions to an increasing array of problems that are now amenable to a computer. In other words, one cannot usually type as fast as they can think! (Notwithstanding, of course, the legions of emacs and vim ninjas who would beg to disagree!).
This leads us to consider other modalities for prog…