Software development is interesting both for programmers and those who want to become such. The article touches upon the concepts necessary for the launch.
The article is divided into 4 parts. Pay attention that important words or word combinations introduced in this series are marked in bold font. At the end of each of the four sections, there will be a short quiz that tests knowledge and explains some of the points in detail.
What is programming?
The easiest and most accurate answer is: “Programming is the act of instructing computers to perform tasks. It is also called development or coding.
So, what is a computer program? Software is a sequence of instructions executed by a PC. A computer is any device capable of processing code.
Software development and analogy
Firstly, there are programming examples even in everyday life. The universe is quite predictable: day and night, seasons, sunrise and sunset. People go through such stages as meeting a new day, attending school, university or work. We get instructions from the bosses and teachers. There are also recipes that can be used to prepare a dish.
Natural computer language
Machines use their own language. They do not understand Russian, English or Spanish. The natural language of electronic equipment is binary code 1 and 0. It is two states: on (1), off (0).
Learn programming languages
In order to communicate with machines that speak a binary language, we master languages that are as close as possible to our own, namely, programming languages. They are clearly structured and must be carefully studied.
There are high and low levels. High level programming languages are farther away from machine languages than low level languages. This is usually referred to as “further” abstraction.
The computer needs to understand our human language. You will need a translator for this.
Definition of interpreters
The source code refers to the code written in the selected programming language. Translators are responsible for converting the source code into machine language (the same units and zeros). We can refer to binary files, such as object code, program or today’s generally accepted term – application.
Translators can be anybody:
- interpreters;
- compilers;
- Hybrids of interpreters and compilers;
- assemblers.
Interpreters
In order for software development to be successful, it must be understood that languages can be interpreted. In this case, the translator processes the source code by lines and also runs each line in the finished program (application).
It means that the source code being interpreted is launched until it encounters an error. Then the interpreter stops reporting such errors.
Compilers
Compilers work differently. They completely convert the source code by compiling it into a binary file. Then the binary code is executed. If there were errors in the source version, they are detected and marked during compilation. This interrupts the binary code generation process.

Interpreters work line by line and execute one line before moving on to the next one. The compiler, on the other hand, translates all the lines of the program into a file (binary) and executes it in its entirety.
Remember the definition of a computer program? This is a sequence of instructions for the computer. Execution of a program is usually called a process. Such software uses certain resources in the computer system or any other device. Resources include memory, disk space and file system.
We use the word “run” when executing a computer program. The time spent on starting the program is called the program execution time.
Usually we consider products known as applications. We also associate programs with the platforms or environments in which they work or for which they are intended.
Interpretable source code is executed from the source file, compiled – converted into a binary file. This file is then executed. The compiled code may fail at runtime even after a successful compilation.
Hybrid Translators
The hybrid translator is a combination of interpreter and compiler. The popular hybrid programming language is Java.
Software development on Java is convenient. First, the source code is compiled into an intermediate format known as Bytecode. Bytecode is then interpreted and executed using a virtual machine.
This allows hybrid translators to run byte code in different operating systems, making it cross-platform.
Assemblers
Assembler is also used to translate low-level Assembler into binary, but we will focus on high-level languages.
A good way to understand the differences between translators is to see their work in person. Simply download the necessary ones and install them on your computer.
Frequently asked question
Here’s a question that’s usually asked by beginners: “Where do I start?”
There are hundreds of nuclear weapons. They are judged by popularity, community, long-term support, pedagogy and use. They can also be evaluated by technical parameters. For example, whether they are functional, imperative, static, strong or poorly typified.
Some programming languages are intended solely for educational purposes, not for use in business. A good example is the JP for children. There are also powerful languages that are easy to set up and learn. Python is one of them. Usually it is recommended for beginners.
If you are interested in a more detailed study of the issue, here are a few good studies.
When you want to learn a new language, you will need a language interpreter. This is a program that is installed and configured on a computer system.
We recommend that you start learning how to use the command line (CLI). Think of the terminal as an alternative to a graphical interface (GUI). When you work with a computer via the GUI, you depend on the visual representation of the directories and everything you do.
But when you use the CLI, you interact with the computer directly, using the terminal and special commands.