start

In the previous “installment” in this series, we looked at how searching on the Internet is a form of “programming.” With Internet searches, it’s not easy to see the tools you are manipulating – they are all computers that are in “the cloud” (more about that later.) If you are going to learn how to think like a programmer, you will eventually need to have a computer at home. But most of us do already and we have plenty of tools on it that we make ourselves familiar with everyday.Perhaps the software that’s most common to any computer owner is a browser – you have them on your laptops, and also on your phones (if that’s the only computer you have.) So let’s start with that. With your browser, as with many other applications, you have to interact using the keyboard – you type something in to get to a website. You might be aware that the area you type in a website address, or “URL”, is called the address bar.

You might only be interacting with your browser by typing into the address bar, and not the browser menu items. Most applications offer some menu items as well, that let you access other functionality in the browser. For example, you might use your browser’s menu items to change some settings, like the privacy settings that control how much personal information is sent by your browser to websites.

If you use other applications, like say iTunes on a Mac, or Microsoft Word on Windows, you might find yourself using these drop-down menu items a lot more as there are many interactions you need to get familiar with to make real use of these applications beyond the most basic functions.

An easy first step into learning how to code is to get more familiar with these drop-down menu options because you find yourself quickly learning two things about coding:

  • You have to memorize many arbitrary rules.
  • You have to rely on the Internet a lot.

For example, if you were using Microsoft Word, and wanted to know how to change the right margin of the paragraphs on a page, it isn’t very easy to figure that out from the names of the menu items. You might search for it and find a page that’s something like this one. There you learn that you first have to select the paragraphs where you are changing the margin, then choose the Layout tab, and so on and so forth.

Why the “Layout” tab? Why not the “Design” tab? What did the creators of Microsoft Word think when they used these specific words, that seem to have similar meanings? After many such experiences with software application menus, users come to accept that these questions aren’t really worth asking – it’s just easier to remember the layout like you learn the names of the streets in your neighborhood without ever asking, well, how come Massachusetts Ave is next to Georgia St, even though the states don’t have a common border?

There is a lot more to programming than just rote memorization and searching on the Internet, but boy, will you find yourself doing a lot of both! So one thing you need to get good at, to be really good at programming, are these two skills.

To learn them really well, it’s very helpful to start using as many different applications as you can find – each one will have its own set of menu items, which gives you a chance to observe patterns and similarities; and also exercise your search and memorization skills across different types of applications, in order to achieve different kinds of goals.

What’s more, you will find yourself discovering the world of software, especially that of open-source software. If you are lucky to have access to, or afford for yourself, a lot of proprietary software, that’s great but even if you don’t, there are free and/or open-source equivalents for most applications. For example:

  • Libre Office instead of the Microsoft Office Suite
  • Thunderbird instead of an email client like Outlook or Airmail
  • Avira instead of proprietary anti-virus software like McAfee or Kaspersky products

and many others, some of which you can find in this LifeHacker article.