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.

Tools

Tools

To write and run even the simplest program, you will need a few tools. In one you write the text, in another you give the computer commands, a third turns code into actions and a fourth keeps the history of your edits. It sounds cumbersome, but in practice it is a small set of programs that quickly become as familiar as a pen and notebook. Below are the types of these tools and what to look out for when choosing a specific option for yourself.

The best editor for a beginner is the one where you stop noticing the editor and think only about the code.

— Editor's note

How this section works: we describe types of tools, not products, and we name no brands. Almost every type has free, open-source options. Download programs only from their developers' official websites and never install builds from random archives.

The beginner's kit

Six tools that together make up a beginner programmer's workspace.

Code editor

A text editor that highlights syntax, suggests names and spots mistakes before you even run the code. A simple editor with highlighting is enough to begin with; heavyweight development environments can wait.

Guides

Terminal

A window where you control the computer with text commands: move between folders, run programs, install packages. Learning a dozen commands is enough to feel confident in it.

Errors

Interpreter or compiler

The program that turns your code into actions. An interpreter executes the program text as it reads it, while a compiler translates it into an executable file in advance. Which one you need depends on the language.

Glossary

Version control system

Remembers every committed state of the project, lets you go back, compare versions and work on changes in parallel. Git, one of the most widely used such systems, appeared in 2005.

Guides

Repository hosting service

Keeps a copy of your repository on a remote server and helps you work with other people. Check whether you can make a repository private, and never publish anything personal.

Security

Package manager

Installs ready-made libraries written by other people and keeps track of their versions. Take packages only from your language's official registry and double-check how their names are spelled.

Security

  • Guides

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

  • Glossary

    A plain-language glossary: coding terms, developer tools and working together on a project.

  • 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

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.