
The MC-10 came with 4 KB of RAM, upgradable to 20 KB by means of a 16 KB module. To give you some perspective, my current computer has 6 GB of RAM. That means that I now have about 300,000 times more memory than back then. Surprisingly, however, 20 KB was plenty to hold and execute any programs I used at the time, and this little computer forced you to at least type in computer code, even if you did not understand it all at the time. You were exposed to it, and could figure out how it worked, if you wanted to.

Even with these computers, I didn't spend a lot of time programming, so I was very basic in BASIC. When I was in university I did one computer course which included an introduction to Fortran, but I don't know what use that is these days. Being down in the underbelly of a language was being replaced by (forth generation programming languages) 4GLs.
I have an uncle who wrote programs in Progress for some large companies, and he wanted me to give him a hand, so I started learning that. My situation changed around 1994, however, and I ended up moving away before making much progress with Progress.
After moving, there came an opportunity to learn another 4GL, Clarion. I liked this one. It was easy to make a polished looking final product for the client, without knowing too much about what was happening in the guts of the language. Again, however, things changed, and Clarion fell by the wayside.

There were many free services popping up for people to establish their own presence on the Web. All you had to do was learn a simple scripting language call (hyper-text markup language) HTML. It let you embed images, and make words linkable to other places with a simple click of the mouse. So, by the end of 1994, I had put together a page using Notepad, and hosted it on Geocities, where is lived for many years.
Everyone wanted a website, so I was able to make a little money now and then by writing some simple HTML pages for clients. Eventually, I needed to add more features, so I started using (PHP: Hypertext Preprocessor) PHP as well. I wasn't exceptional at either, but back then it was enough to keep people happy. Eventually, websites got fancier and more complex, and I got left behind.
Jumping back to around 1992 or 1993, I started hearing about this thing called Linux. It was a free, open-source operating system. A couple years later I got my hands on a copy of Debian on a bunch of 3.5`floppy discs, but couldn't get it to work on my hardware, so it was put aside for a while. Somewhere I got a copy of Linspire, which I was able to get that running, and thus began my life as a GNU/Linux user.
The reason for talking about GNU/Linux, is because it is free, and most of the software for it is free. That is in both contexts of price, and your ability to modify it. After using things that people give you, eventually you think that perhaps you should give something back. And to do that, I need to get into programming more seriously. These days that means learning something like Python, C++, or Java.
After doing a little research, I decided to go with Python. A couple of us were going to build a bot for a Linux IRC channel we were on. The project went nowhere, and neither did my learning Python. Sometimes there is a lot more chat in a group than there is action.
Moving up to 2013, there are a bunch of formulas for evaluating different aspects of sailboats. I actually had a really nice PHP page made up for doing all the calculations. After I took my personal web server down, I transferred them all to a nifty LibreOffice spreadsheet. That was fine for me, but I wanted my friends to have access again like they did on the website. Another project for Python.
This time around I discovered that there are (Integrated Development Environments) IDEs. For Python you can use the likes of Eclipse, IDLE, and Eric. And wanting a graphical program that ran in windows, I found out about tkinter. I had the first formula, Speed=1.34x√LWL, working in the console, but broke it in the GUI. Trying to figure out what went wrong hurt my head, and I was halted again..
Then along came Coding 101 on the TWiT network. Their unconventional training method was to get people introduced to writing programs, and methodologies, not a complete A to Z lesson to show everything about a language. The problem was that they were starting with C# using the Visual Studio Express for Desktop. So, I was going to be starting with yet another language.
As an additional C# resource, I started watching the more complete, step-by-step instruction videos from Channel 9, and their C# Fundamentals: Development for Absolute Beginners series. This one really got me programming. Here is my first C# program code to do the same thing I was working on in Python.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HullSpeedConsole
{
class Program
{
static void Main(string[] args)
{
// Call to console for the waterline length of the boat in feet from the user.
Console.WriteLine("What is the waterline length of your vessel in decimal feet (eg. 27.36)?");
// Assign Length WaterLine Input (lwlIn) to String for input from console.
string lwlIn;
// Assign length waterline (lwl) and calculated maximum speed in knots to Double
double lwl, speed;
// Obtain the value submitted by the user from the console.
lwlIn = Console.ReadLine();
// Test that a usable number was provided and
// Convert the waterline length string to a double for use in the sqrt function.
bool testIn = double.TryParse(lwlIn, out lwl);
if (testIn == false)
{
// Add a blank line.
Console.WriteLine();
// Print a warning to console.
Console.WriteLine("That was not a valid number. Hit [Enter] to close window.");
// Keep window open until [Enter] is hit.
Console.ReadLine();
}
else
{
// Calculate the maximum speed of the boat rounded to 2 decimal places.
speed = Math.Round(1.34 * Math.Sqrt(lwl), 2);
// Add a blank line.
Console.WriteLine();
// Display the output from the formula to the user in console.
Console.WriteLine("Your boat has a calculated maximum speed of " + speed + " knots.");
// Add a blank line.
Console.WriteLine();
// Write instructions to console.
Console.WriteLine("Hit [Enter] to close window.");
// Keep window open until [Enter] is hit.
Console.ReadLine();
}
}
}
}
And that brings us up to today. Maybe I will make more progress this time around. It has only been 30 odd years.
No comments:
Post a Comment