Transcript Programming


Programming - the process of creating
computer programs.
In a narrow sense (the so-called coding) for programming
means writing instructions (programs) in a specific
programming language (often on an existing algorithm - the
plan, the method of solution of the problem.) Accordingly,
people who do this are called programmers (in the jargon encoder), and those who develop algorithms - algoritmistami,
domain
experts,
mathematicians.
In a broader sense, the programming is the total range of
activities associated with the creation and maintenance of
software - computer software. Otherwise, it is called "Software
Engineering" ("Software Engineering"). This includes the
analysis and formulation of the problem, designing the
program, the construction of algorithms, data structure design,
text writing programs, debugging and testing a program (test
program), documentation, setup (configuration), completion
and maintenance.
Programming a computer is based on the use of
languages in which the program is recorded. The
program can be understood and performed the
computer requires a special tool - translator.
Currently widely used integrated development
environments, including in its membership as an
editor and word processing programs, debuggers
for troubleshooting, translators from various
languages, linker for programs of several
modules and other system modules.
Text editor programming environments may have
specific functionality such as indexing names, display
documents, visual user interface creation. Using a text
editor, programmer makes a set and edit the text to
create a program which is called the source code.
Programming language defines the syntax and
semantics of the original source code. The compiler
converts the program code into machine code directly
executable
electronic
computer
components.
Interpreter creates a virtual machine to run the
program, which is fully or partially take over the
functions of program execution.
Programming in the broad sense, can be divided into
several stages:






Analysis
Design - Develop a set of algorithms
Coding and compilation - writing source code and
convert it into executable code using the compiler
Testing and debugging - the identification and
correction of errors in the programs,
Testing and commissioning program
Maintenance
Most of the work associated with the programmers write
source code, test and debug programs in a programming
language. Source code and executable files are protected
by copyright and other intellectual property of their
authors
and
rights
holders.
Different programming languages support different styles
of programming (programming paradigm). Part of the art
of programming is to choose the language that best suits
the intended purpose. Different languages require the
programmer to different levels of attention to detail in the
implementation of the algorithm, resulting in often
compromise between simplicity and performance (or the
time between the programmer and the user's time.)
The only language directly executable computer - a machine
language (also called machine code and machine language
instructions). Initially, all the programs were written in
machine code, but now it has practically not done. Instead,
programmers write source code in a particular programming
language, then use the compiler translates it into one or more
stages in the machine code, ready for execution on the target
processor, or to an intermediate representation that can be
performed by a special interpreter - a virtual machine . But this
is true only for high-level languages. If you want the full lowlevel control of the system at the level of machine instructions
and the individual memory cells, programs written in assembly
language, mnemonic instructions are transformed one by one to
the corresponding machine language instructions of the target
processor computers. (For this reason, language translators
assembler - Assembler - obtained algorithmically simplest
translators.)
Some languages instead of native code generated
by the interpreted binary "virtual machine", also
called a byte-code (byte-code). This approach is
used in Forth, some implementations of Lisp,
Java, Perl, Python, languages for. NET
Framework.

Software used in the design of programs are divided
into systemic and instrumental. In the system for core
operating systems, tools and technologies Windows,
Mac OS X, Linux, etc.
At competitions in computer science and programming
have been used successfully only open source licensing
tools (mostly distributed under license GNU GPL).
Programming language for programming competitions
in recent years, often used programming
languages Pascal, C / C + + and Java.
For documentation when developing the program can
be used office software packages (eg, OpenOffice.org
and Microsoft Office).