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".