An independent reference for people learning to program from scratch. Not affiliated with the former site on this domain, with companies or with schools; we do not sell courses or promise employment.

Glossary

Glossary

In the first lessons, a beginner is hit by an avalanche of unfamiliar words: variable, function, dependency, commit, branch. Many of them sound more complicated than they are. Here the key terms are collected in three groups: the code itself, developer tools and working together on a project. The definitions are simplified for clarity; look for precise wording in the documentation for your language and tools.

You can skip the word "recursion" in your first week, but you will need the word "commit" by day two.

— Editor's note

How this section works: we explain terms in plain language and sometimes give illustrative examples. Where a concept has a strict definition in a specification or documentation, go by that.

Code

Program
A sequence of instructions that a computer carries out in order. It is written in a programming language in ordinary text files.
Variable
A name under which a program stores a value: a number, some text, a list. The value can be read and changed while the program runs.
Function
A named piece of code that does one job and can be called many times. It takes input and often returns a result.
Condition
A construct that runs one part of the code if a statement is true and another if it is not. An illustrative example: if the shopping list is empty, print "All bought".
Loop
A construct for repeating actions: while a condition holds, or for each item in a list.
Syntax
The rules for writing code in a particular language: where to put brackets, quotes, indents and punctuation. Syntax errors are the most common beginner mistake.
Library
A ready-made set of functions written by other people. You plug it into your program so you do not have to solve already-solved problems again.

Tools

Interpreter
A program that reads and executes code on the fly, without a separate build step. This is how programs in Python, for example, are usually run.
Compiler
A program that translates source code in advance into an executable file or an intermediate format. It reports syntax errors before the program even runs.
Terminal
A text interface for controlling a computer with commands. It is also called the command line or the console.
Code editor
A text editor with syntax highlighting, suggestions and error checking. A fuller version with built-in debugging and building is called an integrated development environment (IDE).
Package manager
A tool that downloads and installs libraries from a language's registry and keeps track of their versions.
Dependency
An external library your project cannot work without. A list of dependencies with versions helps you run the project on another computer.

Working together

Repository
A store for a project together with its full history of changes. It can live on your computer and have a copy on a remote server.
Commit
A saved snapshot of the project with a description of what changed. Commits make up the history you can use to go back.
Branch
A separate line of changes in a repository. In a branch you can try new things without touching the main working version.
Merge
Combining changes from one branch into another. If the same lines were edited differently, a conflict arises and has to be resolved by hand.
Semantic versioning
A convention for version numbers in the form MAJOR.MINOR.PATCH: the major number changes with incompatible changes, the minor with new features and the patch with fixes. It is described in the specification at semver.org.
Open licence
The terms under which an author allows others to use, study, modify and distribute their code. The Open Source Definition is maintained by the Open Source Initiative.
  • Tools

    A brand-free beginner's kit: code editor, terminal, interpreter or compiler, version control, repository hosting and a package manager.

  • Guides

    Step-by-step guides: setting up, a first script, a first repository, error messages, asking the community. The article catalogue is here too.

  • Security

    Beginner risks: keys and passwords in code, other people's scripts, fake packages, outdated dependencies, personal data in a public repository.

Sources

  • Git documentation
  • Python documentation
  • Semantic Versioning specification (semver.org)
  • Open Source Initiative — The Open Source Definition

Dates and definitions are taken from official documentation and specifications as of the preparation date. Languages and tools keep evolving, so check the details in current primary sources.