- Slides: 10
� 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 low-level 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, Open. Office. org and Microsoft Office).