Loving text editors especially Notepad.

You!

Yes, you!

You wanna learn how to code?

You have many questions, I’m sure. Perhaps one of them is “what will I use to write my programs?”

Oh boy. Where do we start? Let’s start at the beginning.

Early history of text editors

Early man used hard rocks to carve into softer ro–

Let’s skip ahead a little.

When screen-based computers first started taking off in the 70s, a small program called vi took the world by storm. Well, the Unix world anyway. It was revolutionary. Not only could you quickly and easily add and remove text for a file, it had powerful features. It could… copy and paste. Programmers around the world rejoiced, and quickly started filling the world with poorly edited copy/paste code.

vi, in all its glory

vi is still used to this day. Heck, I graduated from my Bachelor of IT last year, and it was the standard text editor for me for most of my degree. In the early 90’s, someone thought they could improve on perfection and created vim, a clone of vi with extended features. It’s completely backwards-compatible with vi, and frankly, is amazing.

vim, the pinnacle of text-editing technology

The main contender to vi was/is emacs, which introduced some interesting features. It is highly customisable and allows users to create their own commands (called macros) to increase productivity. It also causes the terrible affliction known as emacs pinky.

emacs, bane of the pinky finger

Despite this, emacs is not to be used. Stick to vi.

Coding today

“But Billy, I just want to write text. Why do I need all this extra stuff?”

Well, I guess you don’t. For beginners, any basic text editor works fine. This includes Notepad on Windows, or textEdit on MacOS.

You could build an entire website in just Notepad. But let’s look at some alternatives.

Online editors

If you want to add some social interaction to your coding, you could write your code in an online editor, such as CodePen. Not only is your code safely stored online, but you can share it with other users.

CodePen, with some code for a dog in a snowglobe

They can also add a lot of advanced features, such as project management, and realtime previews of your code. But this is really the domain of the…

Integrated Development Environment (IDE)

As your code gets more and more complex, you’re likely to need an IDE. Popular IDEs include Notepad++ and Atom. Not only do you get project management and realtime previews, but you can easily debug with inbuilt debuggers, syntax highlighters, autocomplete, autoclosing, autoeverything…

Atom, a popular IDE

As a beginner, you’re highly unlikely to need ANY of this. Syntax highlighting can make it a bit easier to read your code, and autocomplete can make you write a bit faster… but you should be focusing on writing your code correctly. As soon as you start writing programs or websites with more than 1 file, then it might be time to start looking at an IDE.

Summary

At the end of the day, the only thing that will make your code better is YOU. It doesn’t matter what you write your code in, it’s all just text at the end of the day. Write your code in whatever you’re comfortable with. There is no reason for you not to use the humble Notepad to learn how to program. Now you too can start loving text editors, especially Notepad.