How I Learned to Program
Tags: beginners, programming, basic, learning
Published: 2019-03-08 14:46:39

---
title: How I Learned to Program
published: yes
description: How I learned to program
tags: beginners, programming, basic, learning
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xkauifgm513sg06mkejv.jpeg
---

Here's how I learned to program, inspired by this tweet from Marco Arment:

https://twitter.com/marcoarment/status/1101932427260411906

I first became aware of programming as a thing in early 1984 on an [Atari 400](http://oldcomputers.net/atari400.html) using [Atari BASIC](https://en.wikipedia.org/wiki/Atari_BASIC).

I started off by typing in programs from [Atari computer magazine BASIC program listings](https://www.atarimagazines.com) and then tried changing the code to get a feel for how things worked.

I then moved on to learning from books. One of my favorites was [Dr. C. Wacko's miracle guide to designing and programming your own Atari computer arcade games](https://archive.org/details/Dr_Wackos_Guide_to_Creating_Arcade_Games)</a>.

During this time I also wrote BASIC programs on paper, mostly because I wasn't always allowed to use the computer (since it was hooked up to our only TV at the time). Plus, I didn't have a way to actually save programs I wrote (a tape drive would come later), so I had to write them down to remember them.

![Temperature Converter in BASIC](https://thepracticaldev.s3.amazonaws.com/i/xkauifgm513sg06mkejv.jpeg)

I have a binder of stuff from this time period and it's full of programs I wrote (hand-written and printouts) and even has a rejection letter I got for the first program I submitted to a magazine!

As I began to bump into the limits of BASIC, I moved on to other languages such as Pascal and C and other computers such as the [Atari ST](http://oldcomputers.net/atari520st.html), which had a graphical user interface similar to the Mac.

On the Atari ST I learned about event-driven programming and window management. I even made some money on an Atari ST program (JumpSTART app launcher) I wrote in Pascal, my first earnings as a programmer. I actually made of Xojo implementation of JumpStart for the 2018 Just Code Challenge and also made the [original Pascal source code available on GitHub](https://github.com/paullefebvre/JumpSTART-AtariST).

The fun of programming, especially with BASIC, back in the 80s was hard to beat. I was thrilled when I found about Xojo (then Realbasic) back in 2001 and these days, I think Xojo is the closest thing you can get that brings the fun back to programming. Xojo is a modern, full-blown IDE with a structured, object-oriented and thoroughly modern language. But its syntax will give you just a whiff of BASIC that will bring back fond memories.

Xojo lets you create apps quickly in a fun, fast environment that runs on whatever computer you prefer: Windows, Mac or Linux. And Xojo lets you make whatever types of apps you want: Desktop (Mac/Windows/Linux/Raspberry Pi), web or mobile (iOS, with [Android in development](https://blog.xojo.com/2018/11/20/behind-the-scenes-a-xojo-android-update)). Xojo even lets you make text-based console apps if you want to totally relive old-school user interfaces.

Those early days are often fondly remembered, but not everything from back then was great. For example, I'd rather not go back to a world where 64K of RAM was considered a lot and I had to worry about every byte.

But if you miss those early days when programming was easy and fun, you need to take Xojo for a spin. Xojo is free to use so [download it](http://www.xojo.com/download) and try it for yourself. There's also a [free book](https://www.xojo.com/learn) to help get you started. You only need to purchase a license when you decide you want to build your own apps to distribute to others. And I guarantee a Xojo license starts at less than what the tape drive for my Atari 400 cost back in 1984!