Return to Level B3 Outline
Intro & Orientation
The purpose of this section is to establish a set of consistent vocabulary and give a sense of structure for what it means to learn programming.Basic vocabulary
You're probably already familiar with many of these terms loosely. It is helpful to use specific definitions, though.Program
A program is an ordered sequence of instructions.Here is a silly example:
In this example, the program is written in a language called English and it is intended to be interpreted by a human brain.
But a real program is written in a different language and is intended to be interpreted by a computer. Languages intended for computers are called machine code and look like gibberish to humans.
The takeaway here is that programs are not magical things. They are just consistent sets of instructions based on a set of rules.
Code
Code is human-readable text. It is a representation of a program. However, code only makes sense to a human. In order for a computer to run code, it needs to be converted into a program.Compiler
A compiler is a program that converts code (text) into programs (computer instructions) that the computer can actually run.Yes, it is a program that creates programs.
Programming Language
A Programming Language is the combination of a language that one can write code in and the compiler that converts the code written in that language into programs.Programmer vs Coder vs Software Engineer
These all mean "someone who writes code". There is no technical difference between these terms. Programmer has a neutral connotation. Coder has a connotation that emphasizes the act of writing the code. Software Engineer has a vocational connotation.In recent times you may also hear Hacker. This has nothing to do with breaking into systems unless the context specifically suggests otherwise. This term has a messy "whatever works" connotation.
Some numbers
There are thousands of programming languages although only about 20 of them are considered standard/popular.A typical university student will learn about 3 programming languages.
A typical coding bootcamp student will learn 1 or 2 programming languages.
A typical professional software engineer will actively use between 5 and 10 programming languages during their career but they may be vaguely familiar with more.
If you are logged in, you can add these terms to your study list and use the flashcards app. Otherwise, you will have to settle for this table.
program | A sequence of instructions that a computer understands. |
machine code | The language that computers understand that looks like gibberish to humans. A program may be written in human-readable code, but ultimately it is converted into machine code. |
code | Human-written and human-readable text that represents a program. Code is written in a programming language and is converted into a program by a compiler. |
compiler | A program that converts code written in a programming language into a program. |
programming language | The language that code is written in AND the compiler that converts it into a real program. |