What The Heck Are Computer Programs Anyway?
What The Heck Are Computer Programs Anyway?

Friday • May 14th 2021 • 6:14:14 pm

What The Heck Are Computer Programs Anyway?

Friday • May 14th 2021 • 6:14:14 pm

Let me just say, becoming a programmer is very easy,

you just need to stick your foot in the door.

When I was little I was very fortunate to be introduced to the supremely user friendly Commodore 64,

you flip the switch and you get a prompt.

And you can immediately start programming,

you also get what I call a cookbook, with very small and very clever, and useful recipes.

Good recipes will help you dream a new program up,

you'll be able to splice what you need together, out of the bits of the recipes.

Do it a few times, for a couple of different programs,

and you are a programmer.


Today, things are even easier,

but you have to start in the right place.

People will try to tell you about programming web applications, phone apps, internet of things,

or making window applications, and stuff like using online programming environments - don't listen - start small and strong.

Start by writing a node.js based Linux program,

for your Raspberry Pi.

Don't worry,

you never start from scratch.

You start with an existing project,

and then you modify it.

What project to start with?

we'll create it, together, right now.


Let us call it,

fragrance after a sophisticated french word.

The entry point is index.js, the main functions are stored in api.js, which is short for Application Programming Interface,

and the little reusable functions sit in helpers.js.

The Raspberry Pi, that I recommend is the 8GB Raspberry Pi 4 Complete Starter Kit,

but get a super fancy keyboard, an extra fast 64GB Class 10 MicroSD card, a couple of monitors, and an extra Micro HDMI Cable.

Don't forget to plug the fan into the 14th pin on the GPIO header,

as that will let the operating system turn it on and off as needed.

You'll figure it all out,

a little bit of discomfort is good when learning amazing new things.


Use nvm to install node,

and clone the fragrance get inside the fragrance directory, and execute ```npm link```.

It lets you install it as a Linux command,

but you can still tinker with, it is like a local installation.

Use grep to find all instances of the word fragrance,

and change it to something nicer.

Later on as you get the hang of things,

setup github, create a new repository, clone it down, copy your files into it, and push it up into your github.


And now we arrive at the title question,

what are programs?

They are your digital extensions,

it cannot be said what programs do, because they do absolutely everything.

Your programs are your magic spells,

whatever you want is just a few days of programming away.

You can't be told what you can do, there are cameras, robot arms, relay switches, chat bots, 2D and Text Games,

Code Editors and visualization libraries like Cytoscape.js and D3 there are no limits.

To get a neat overview of what else is out there,

search for Awesome node.js

But you can do,

everything, on the server, in the web browser, in a window with electron, and on the Linux command line.


Your program library is no different than your tool drawer,

where you keep your screwdriver, pliers, your trusty hammer.

You only write or use programs when you need them,

if you are interested in learning how to program, search the internet for node.js tutorials to get a better picture.