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.
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.
Related sections
- 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.