Skip to main content

About Swanson Software

What is Swanson Software

Not a business is not a business, it is my personal Web site. You will find no advertisements on this site, it is not a source of income.


To disseminate the principles and practices of software construction.


I haved worked in software development for over 30 years, for companies of all sizes from 2 developers to hundreds, and I have seen the tools and processes evolve. The evolution has been dramatic: the first programs I wrote were on punch cards, and now I use SVN and github to store work on network servers or the internet.

Historical Perspective

Long ago, we didn't use applications to track software bugs. Bugs were tracked in a text file or spreadsheet. Source code control was a manual process, there was no application for that. Software editing was done in a character-based terminal connected to a main frame, or in a command window on a pc, or on a teletype that used paper feed instead of a display monitor, or with a text editor. Code editors did not highlight syntax or provide any help with spelling.

Today we use applications for tracking bugs and for source control; we have development environments that not only highlight syntax, but provide suggestions on syntax alternatives, fix mistakes, and much more.

We also learned about software life cycles and design, and how to improve programming skills with reviews. That learning, however, is spread piecemeal on the internet and in dozens of books.