vb6 ide

The other day I was thinking of all the programming languages I used over the years.  I describe the tasks I remember them being used for below.  As I am getting older, I thought I would document it here for the future me and for anyone who may find it of interest.

Languages:

  1. Basic
  2. 6502 Assembly (Commodore 64)
  3. Z80 Assembly (Amstrad CPC464)
  4. 68000 Assembly (Amiga)
  5. Pascal (Prime mainframe/Windows)
  6. Cobol (Prime mainframe/AS400)
  7. REXX (MVS mainframe/Amiga)
  8. C (AS400/Windows)
  9. RPG III / CL (AS400)
  10. Perl (Windows/SUN Solaris).
  11. NET/C#
  12. Java

BASIC

The first language I learnt was Commodore PET basic at school and made a few games.  This was followed by BBC and the Apple IIe basic.

One BBC micro model B project included a “Taste for Health” questionnaire with digitised pictures of various food stuffs, and this was shown at a county fair.  A week before the fair the BBC disk drive corrupted both my backup disks and I had to redo everything in 7 days!  My first experience of I.T related stress.

The Apple IIe project was the creation of a library database system to store an inventory of books for the local government.

In 1999 (from memory) I had created an FTP server called b4FtpServer in a mix of C and VB6.  This sold well and was included on the cover disk of PC Pro in December 2000.  I also created one called PlatinumFTP Server (based on B4FtrpServer) and client.  This version had a built-in script editor to extend the server functions but due to work/family life, I had to eventually shut down the site and stop development.  The user guide for both can be downloaded here: https://happyzoidgames.com/downloads/ftpman.zip  and an enhanced Ftp Client (download chm help file here: https://happyzoidgames.com/downloads/PlatinumFTPclient.zip)

The biggest failing of VB6 was not supporting Unicode.  Creating a UI in MFC is a fair amount of work compared to the rapid progress you get with VB.  Although several component suites with Unicode support were created for VB6, they were awfully expensive to purchase and now that HIGH-DPI monitor support is required, there is no option but to use .NET which I personally find very bloaty and slow.  I have created software in both VB.Net and C# I still prefer the old Visual Studio 6.

In 2006 I worked on a couple of PC applications called iDump and iDumpPro with my buddy Andie.   The name stood for Information Dump (or something else if you have a dirty mind) and the programs were designed to read and copy media from Apple iPods.   iDump performed a one-way copy from the device to a PC folder.  iDumpPro was an audio media player and it allowed you to read and write media files to the device, create playlists, backup/restore and play music.  It would only work when you connected an iPod to the PC and launched the application.  You could also RipCd’s directly to the iPod, Sync with iTunes and also stream music over the users network.  The user help file can be downloaded here: https://happyzoidgames.com/downloads/iDumpPro.zip .  As the applications were written in VB6, its biggest failings were not supporting Unicode, and this caused all sorts of problems as both applications were used all over the world.  Supporting the iPhone and iTouch was a nightmare with all their security enhancements and in the end, we stopped developing any software for apple devices.  A screen shot of iDumpPro can be seen if you click here: https://fitzsoft.dev/wp-content/uploads/2019/07/Music_Big.jpg

6502 – C64

All the 6502 Assembly has been on the mighty Commodore 64.   Recently I have obtained the original Brown C64 and a 1541 disk drive and will be having a look through some of my old disks to see if there is anything I can add to my Retro Scene page.

You can read more here: https://happyzoidgames.com/c64-emulator-and-demos/

and here: https://happyzoidgames.com/about/

Z80 – Amstrad

I am a sucker for shiny new technology and when the Amstrad CPC464 became available, it was a joy to own and use.   As some of my friends had the ZX Spectrum, I could be the boy on the block with the Amstrad and we could play each other’s machines after school.   My favourite game on the Amstrad was Oh Mummy, Blagger and Manic Minor.    We had a friend Phil whose father worked at AMSoft (senior manager) and was a friend of Alan Sugar.  Before new games came out, we would go to his house to play them.

I never released any demos or games on this platform.   Of the few things I remember writing in Z80 were (1) A game cassette loader system which played music, drew a picture and loaded a game all at the same time. (2) A space Harrier clone which was abandoned halfway through and (3) A graphic/text based adventure.  I knew people at a company called Advanced Software who released Laurel and Hardy on the C64, Butch Hard Guy on the ZX Spectrum.  They were happy to take the game when finished.

68000 – Amiga

The Amiga was an enormous beast compared to the C64.    If the C64 was a motor bike, the Amiga was a Ferrari!    All my Amiga source code disks are lost and will never be able to bring them to the internet.

The Amigas I had in my collection were: Amiga A500, A500+, A600 and A1200.  I remember having at least one of each type.

My two favourite demos I remember making were one telling the story of man’s flight to the moon with lots of animations and digitized content and the second, a hard disk only demo about the Simpsons.  This demo had animations, scroll bars, vector bobs, awesome music and distributed on five floppy disks.  It was the most technical demo I had ever created.

It was in this period though a mutual friend, I met an awesome brainy 68000 programmer (Atari ST & Amiga) whose name is Fredrick Jnr McMillan (known as Jnr).  He was the creator of Body Blows for Team 17.   Being the talent he was, I believe he had a few Amigas.  One to code on, the other to receive and run the game via a connected cable.  I think from memory he had a 68060 upgrade. He showed me an awesome sprite animation editor.  Worked from his rented bedroom to create these master pieces.  I often wonder where he is now.

Pascal – Windows/Prime

Pascal was one of those languages I had to go to night school to learn.   A few years later I used it to calculate how many days to take each planet in our solar system to go around our sun.  I have no idea why I did this.

Cobol – AS400/Prime

Cobol was another course I took at night school.   Many years later while at work, there was a bug in an application what needed fixing which monitors all the terminals connected to an AS400 system.  It checked how much CPU and other resource was being consumed and would alert the operators there was an issue with a long running process.  An operating system upgrade broke the application.

Rexx – AS400/Mainframe/Amiga

If you work with mainframes or other mid-range systems, you will know of a team of operators who would mount cartridges or big reel tapes.   If a program needed data not on one of the disks, it would put a message on an operator console and someone would go and mount the tape on a specified device and the program will detect the mount and continue.   On occasion when the operators were watching TV or messing about, you could be waiting a while.   For two companies I worked, I created in REXX, a game called Hang-Operator.   You guessed it, Hangman.  Using terminal characters to build the gallows and man.  On the amiga I used it to automate some tasks.

C – AS400/Windows

I vaguely remember fixing bugs in a couple of C programs for my team and when we had a vendor onsite, they were trying to debug some of their code, and I looked over his shoulder and said, “That’s the problem” and more of a guess than anything else.  I felt some statements did not look right and it turned out to be correct.

During the creation of my FTP Servers way back when, I used C for the core handling of network data transfer for the FTP engine and VB6 hooked into its core and UI.

RPG III – AS400

RPG stands for Report Program Generator and is usually used alongside programs written in a language called CL (Control Language).

It was 1999 and every company I know was business updating software and testing for the year 2000.  People really do underestimate how much work was done in the years leading up to the millennium.

On the AS400 system at the time, there was no way to save the reports generated to disk or tape.  The company had some software that was not Y2K compliant, and it was not being fixed as it was so old, and the vendor no longer existed.    I spent some of 1999 creating a set of tools where the user could enter a command, enter the print queue and then the program will scan, log and archive to tape the queue contents.   For the restore command, the user entered a command, it provided a list of archived queues by date and then selected the queue or reports and it then restored them.

Perl – Windows/Solaris

I worked for a big company that ran thousands of IBM WebSphere MQ installations.  Someone in my team had created a housekeeping script in Perl which archived and deleted linear logs.  I took the code, extended it to do several functions and to run both on Solaris and Windows.   Not only did it take care of housekeeping, but it would also prepare a configuration dump of the queue manager and feed it into an SQL database.  We then created a web front end to allow developers to check the queue manager status, channel activity and queue depths.  It saved us a lot of time getting this information when requested.

VB.NET/C#

If I create any software today for Windows, it will be mainly VB.Net. When required, I will do a little C# but for some reason, I am not fond of {} in any programming language which is most of them today.  I find VB.Net better structured, easier to read and a blessing for beginners who want to program.  I have freeware over at FitzSoft.dev written in .Net.

Java

Way back in the 90’s I discovered Java and thought it was an ok language.  I used it for various tasks on Windows and only for simple ones.  When the UI became available to build forms/buttons etc, I found the whole thing slow and clunky, and it made me shy away from any big projects.

AOB

I am now in my 50’s and there are so many programming languages out there now that I would only use one if it were for a specific task that could not be done by one of the existing languages in my arsenal.

I have done so many things over the years that every now and again, when the memories return, I will update this post.  Until then, happy exploration.