Okay, okay. I know. You don't need another lecture on how you need to learn to code. You get it.
So how do you get started?
Understanding how to program or code took me a while. First I had to get around the gate-keepers who said coding was impossible to learn.
Programming is hard, but it's not impossible.
In this article series, we go through the basic building blocks of learning to code from the beginning.
What does binary have to do with it?
I'm going to get low-level on you and start talking binary (i.e., 1s and 0s).
Just as atoms make up matter, binary makes up computer systems. Just as atoms are the basic building block of all life, binary is the basic building block of all computer programs.
Sticking with this analogy, a complete organism such as a frog or a human equals a comprehensive program such as a website or Microsoft Excel.
If atoms are like binary, then molecules are like data structures. Data structures are things like a string (e.g. "This is a string"
or an array (e.g., a list like [1, 2, 3]
or ["one", "two", "three"]
).
If atoms are like binary, then organs are like software libraries. Just like your heart or your liver with blood flow and filtration, these libraries do much more complicated things like process payments or calendar scheduling.
What is the difference between "scripts" and "programs"?
The difference between "scripts" and "programs" is all in the semantics.
In essence, coding or programming is when you type some stuff and then run it to get a computer to do what you want. You are scripting/programming behavior for the computer.
At an extremely high-level, scripts tend to have more human-readable code. They are then run and compiled on-the-fly (or, at run-time).
On the other side, programs are compiled or built into binary beforehand so that they run much faster.
For the purposes of this article and those following it, "scripting" and "programming" are synonymous.
How do I start learning?
Time is the number one deterrent in learning a new skill. To start learning how to code, you only need to allocate time and start learning.
First off, with any intense learning, you need to condition the brain or at least understand how it processes information. You need periods of intense concentration (i.e., deep work) followed by periods of relaxation to diffuse and fully grok what you just learned.
This process is explained in-depth with the short but highly informative Coursera course, Learning How to Learn.
It will take about a week of 30-60 minute videos and activities once a day and is quite cheesy at times. However, the lessons learned will be invaluable for the rest of your life, so there's no reason not to take this series.
Toast some marshmallows with FreeCodeCamp
HTML and CSS aren't necessarily programming languages, but "templated documents." Kind of like scripts, they are template document structures which compile at run-time.
However, as a small business owner, these are highly useful languages to know and be able to manipulate so that you don't need to hire a separate developer.
To learn HTML, CSS, and maybe even some JavaScript, I highly recommend FreeCodeCamp.
FreeCodeCamp is an entirely free, non-profit, and self-paced curriculum of quick tasks relative to web development. Upon following the instructions, you complete the code in the browser and run the tests to see if they pass before moving on to the next problem. It's a linear course building on what you previously learned. Very simple and straightforward, but exceptionally educational.
The real kicker behind FreeCodeCamp is the fantastic community behind it. If you ever get stuck, there are always many Campers who are right with you. Plus, there are several study groups in your area.
TLDR;
Sign up for FreeCodeCamp to learn how to code.