Sunday, September 9, 2012

Install Time: Just Basic vs VB Express

There is a significant difference in the time to download and install Just Basic and downloading Microsoft Visual Basic Express.   The Just Basic product is small and downloads within a minute, and its installation takes about a minute.  If your version of Windows is missing the Microsoft WinHlp32.exe file, then downloading and installing that will take about 10 minutes.  So the total time to download and install Just Basic is less than 15 minutes.  If you are using Windows XP, then you already have WinHlp32.exe and your computer will take less than 5 minutes to download and install Just Basic.

Microsoft Visual Basic Express is a large product.  Plan on an hour to download and install it.  You need to check on it every 15 minutes.  At some point during the download you might need to restart your computer.  Then the download resumes.  After the download and installation, go ahead and launch it.  The first time it comes up it does some final installation chores and that takes a couple of minutes. 

Don't download Microsoft Visual Basic Express unless you have at least an hour to spare.

Robert

Saturday, September 8, 2012

Just Basic Tutorials and WinHlp32

I have investigated Just Basic, a free version of basic.  It is at version 1.01 and was released in 2004.  They have a commercial version, Liberty Basic, that is just $60.  That is cheaper than a meal at the Cheesecake Factory.  So if you really like Just Basic, there is an upgrade available if you want to continue working with it.

Just Basic comes with a tutorial.  You can find it under Help > Just Basic Tutorial.  It works just fine in Windows XP.  However, Microsoft dropped a file WinHlp32.exe, from Windows releases subsequent to XP.  The tutorial requires this executable file, but it is still available from Microsoft.  You just have to get it and install it.  Of course, Microsoft has made this more difficult by requiring that you use their proprietary browser, MS Internet Explorer.

WinHlp.exe comes in different versions for Windows Vista and Windows 7.  Google to get the download page for WinHlp.exe for your version of Windows using Microsoft Internet Explorer.  That is important.  Microsoft has designed their download for WinHlp32 so it will not work with Mozilla or Chrome.  Once the download and installation is complete (the download process has an installation step), you can open the tutorial.

The tutorial is designed for real beginners.  It has a section in Week 1 (the tutorial is designed as a 6 week class) entitled, "Programming - What is it?"  This is important for a person not previously introduced to programming.  The book Head First C, for example, explicitly says it does not teach programming.  The Head First organization has a book to teach programming, Head First Programming, but it uses Python as the teaching language.  Python is a fine language, but scripting languages tend to be faddish and fall by the wayside, replaced by the latest fad in scripting languages.  If you only learn one programming language in your entire life, it should be Basic.  It is a language that is here to stay.  It was created 48 years ago and is still used by businesses in creating professional, complex products and tools.  Visual Basic for Applications (VBA), for example, is embedded by Microsoft in some of its products.  I have created complex, technical applications using VBA in Excel and in Visio.  I will mention, however, that VBA will choke on large problems.  It has limited memory available to it and chokes on large data sets and large quantities of data structures.  Professional programmers must know more than one language.

Visual Basic 2010 Express is also a free tool.  I will discuss this another time.

Robert

PS: Remember that the book Programming for the Absolute Beginner by Jerry Ford uses Just Basic.

Saturday, August 4, 2012

Inno Setup -- Free Installer

An installer is a professional way to deliver software applications to a customer.  Inno Setup is a free tool suite for creating installers for Windows.  I have used it and I recommend it.  There are two downloads:  isetup-5.5.1.exe is the basic installer tool, Inno Setup, which I recommend.  The other download is ispack-5.5.1.exe,  the Inno Setup QuickStart Pack. 

Launch Inno Setup and it will ask you questions and then take your answers and create the dot iss installation scripts that are used to create the installer.

Say you have already created an installer.  You change your code, build a new executable, and need a new installer.  You simply run the previously created dot iss script(s) to make a new installer.  If I remember correctly, you do File > Open to open the top level dot iss script.  Then you do Build > Compile to build the new installer.

InstallShield scripts end in dot iss, which explains the dot iss notation.  The glory of the wizards is that you do not need to understand InstallShield scripts in order to create them because the tool writes them for you.

Try the tool now.  Write a HelloWorld.vbs file, use Inno Setup to create an installer for it, run the installer, and then use the desktop shortcut to launch the HelloWorld.vbs program.  Then use Start > Programs > HelloWorld to launch it from the Start Menu.  You will be pleased at how simple this is.

Robert

UltraEdit -- COTS Tool

I have used UltraEdit as a file editor on Windows machines and have been very happy with it.  I usually use Notepad++ because that is free.

Robert

Beyond Compare -- COTS Tool

Beyond Compare is a COTS tool for finding differences between files and directories.  It is reasonably priced and is an excellent tool.  I usually use Kdiff3 because that is free.

Robert

COTS = Commercial Off-the-Shelf

Sunday, July 8, 2012

Definition of a Serious Programmer

Here is a definition from to C:  A Reference Manual, 2nd Edition, by Samuel P. Harbison and Guy L. Steele, Jr., Prentice-Hall, 1987, page xi (Preface):

“… serious programmers are more concerned with correctness and reliability than with programming speed.  Their programs are meant to last a generation, not a weekend.  Their programming emphasizes clarity, maintainability, and portability rather than clever tricks and the fewest number of source program lines.”

If you think about the high standards for reliable operation that were once expected of the American telephone system, then you can understand this definition.  The circumstances today are different.  I believe almost every company developing commercial software expects to ship products than have some bugs in the software.  Your bank ATMs work very reliably, but that cannot be expected from most new software products.  Shipping on schedule is the paramount concern and corners get cut to make schedule.

A lot of companies today do not last a generation, and neither do their products, so why develop software that stands the test of time better than the company creating the software?  Still, Harbison & Steele's definition of a serious (superior) programmer is a nice ideal for certain types of products.

Remember that different product types demand different measures of excellence.

Robert

Monday, July 2, 2012

A Fix for K & R Chapter 1

The Kernighan and Ritchie (K & R) book, The C Programming Language, 2nd Edition, has a trouble-some code snippet in chapter 1.    Many of the examples in chapter 1 have this test:

getchar() != EOF

This test might have worked 20 or 30 years ago, but it does not work well with modern keyboards.  If you code and run the examples with this code snippet, then to simulate the EOF character you have to use this combination in the Eclipse IDE:  Enter Control-z
In the Code Blocks IDE you need to do "Enter Control-z Enter"

You are better off modifying the program this way:

getchar() != '\n'

Now the program exits the while-loop when the Enter button is hit.

Robert