Monday, September 29, 2008

Why Programmers Love Linux, Or How I Learned to Stop Worrying and Love Text Files

Why is it that Programmers love Linux? Is it the power of the command line? The responsiveness of the systems compared to a bloated Windows interface? The programming tools that are standard on a Linux system? I submit the power of Linux is in large part due to the UNIX philosophy that "everything is a text file". The standard Linux shell on most systems is ready to work with text files immediately. Utilities such a 'wc', 'sed' and 'awk" are workhorse tools I use daily. Much of these powerful utilities' features has been absorbed by and as a consequence made more internally consistent by the Perl scripting language. For larger applications, Perl is great, but the tools available from the command line are there for immediate use and bypass the edit-run-debug cycle of scripting.

I will futher pursue the topic of text file manipulation in later posts, as this is a fundamental part of what Programmers do.

Thursday, September 11, 2008

BASIC, Considered Harmful?


It is almost a prerequisite of Capital "P" Programmerdom to have cut your teeth on BASIC. I started with the Radio Shack Color Computer BASIC and gradually made my was to BASICA when IBM PC-compatible machines started to take over. I spent many days typing in listings and running them to my constant amazement. Additionally, hours of fun could be had at the local department store, typing in crazy loops and other likewise routines, only to find the clerk bewildered at what happened and immediately restart the machine. Of course, in those days, a restart/reboot took only a few seconds, since most of these earlier computer did not have an operating system! 

The first BASIC I used on an operating system was GWBASIC on Microsoft DOS 3.x. From GWBASIC I followed BASIC through Visual BASIC (VB) for DOS and ultimately Windows. In fact, VB helped put me through my bachelor's degree in computer science by proving
to be a quick and quite useful way to develop Windows applications. I used VB in some truly unique situations, including a GPIB sensor/instrumentation/logging system and case where 
the application had no user interface at all! 

In any event, I learned the fundamentals of programming by hacking out loops and subroutines in the first consumer/hobbyist-available programming language. Later, in my engineering experience, BASIC showed itself many times: automation and control systems, instrumentation, specialty devices (eg: bar code scanners), etc, etc, etc. Today, there is some rabble about BASIC being a poor choice as a learning language. While I would not support the teaching of computer science using BASIC as the implementation language, BASIC does live on and is a fine language to solve computing problems. Just recently, I was turned on to an implementation of BASIC that carries on the tradition. I could go on and on about BASIC.

Conclusion: BASIC is a fine computer language, and I will defend it as a practical programming language and a perfectly acceptable way to learn and experience a little bit of what it's like to be "P".

Wednesday, August 27, 2008

In the time of chimpanzees I was a monkey

I have been called an anachronism, with my multiple xterms, emacs and a command-line compiler. Can one really say their productivity is enhanced by IDEs and GUI tools? Not that I don't use these tools on occasion, but my ability to work largely without a mouse enhances my programming experience. I prefer to tell the computer what to do versus asking-- an imperative versus interrogative interface to the capabilities of the system. A now even more dated book on the subject is Neal Stephenson's In the Beginning Was the Command Line.

Tuesday, August 26, 2008

What is this blog?

"Capital 'P' Programmer" is dedicated to issues involving what I call "Capital P" computer programmers; that is, programmers who have developed the requisite background and skills to become a proper noun. This is typically, but not limited to, programmers who were programming long before computer science was a discipline, or at least before programmers (note little "p") were coming out of bachelor's degree programs. These Programmers cut their teeth on BASIC for "personal computers", back when a personal computer was a luxury and time on the machine was precious and guarded.

The blog will relate the issues of Programmers and their place in the modern computational landscape. The decision to blog on this issue is due to my aging status as a member of programming teams and my thinking on what choices are "out there" for people like me. Topics are not limited to this realm, but to that of the mind of the Programmer, and what the future for this type of person might be.