Welcome

[vocab] code | data | program | developer

M. Lim
Intro to Programming
2 min readJan 6, 2018

--

“Computer science is as much about programming as astronomy is about telescopes.”
— Mike Fellows

In other words: programming is just a tool. “Science is not about tools, it is about how we use them and what we find out when we do.”

As we dive into the specifics of programming, let’s always keep this bigger picture in mind. How can these tools help us understand the world a little better?

What is code?

Code refers to written computer instructions. It’s a super general term that can actually mean a lot of different things.

What is data?

Data is digital information (numbers, text, images, sounds, video, etc.) that’s stored and transmitted in the form of electrical signals. Therefore, code is also data.

What is a program?

A program is an organized list of instructions that tells a computer what to do. Everything a computer does is done through programs.

Programs are always code, but code is not always a program 🤯

Languages

A markup language is used to present data. HTML and XML are markup languages, not programming languages.

A programming language is used to transform data. Python, JavaScript, Java, Clojure, Ruby, and C++ are all programming languages.

There are hundreds of programming languages out there, all created by people. So remember that none of them are “perfect” — they are always changing and improving.

Fun fact: My favorite language is Clojure. It was created in 2008 by Rich Hickey.

What is software?

Basically a program, or collection of programs. Software is a general term that’s often used in contrast to the physical hardware of a computer.

So many names

Software development is a young, messy field that’s still figuring itself out. That makes it beautiful and exciting, but also confusing — especially when it comes to how things are named! Totally different things can have the same name, and there can be a bunch of different names for the same thing.

For example, these are all used interchangeably to describe someone who writes programs:

  • Programmer
  • Developer
  • Software Engineer

There will be many other examples as we dive into the world of programming. Just remember that sometimes the way things are done is crazy, and you’re not crazy for not getting it right away.

Welcome to the beautiful messy world of computer programming!

--

--