Instrumental by program examples. Instrumental software. Global computer network internet: basic concepts

Based on the tasks assigned to the instrumental software, a large number of different types of instrumental software:

1) Text editors

2) Integrated development environments

4) Compilers

5) Interpreters

6) Linkers

7) Parsers and parser generators (see Javacc)

8) Assemblers

9) Debuggers

10) Profilers

11) Documentation generators

12) Tools for analyzing code coverage

13) Tools for continuous integration

14) Means of automated testing

15) Version control systems and others.

It should be noted that the shells for creating application programs are also created by tool programs and therefore can be classified as application programs. Let's consider briefly the purpose of some tooling programs.

Conclusion

So, summarizing all of the above, it should be noted that instrumental software is one of the types of software, possessing its common tasks and functions.

However, being a highly specialized type of software, it has a certain set of unique properties and functions that provide a solution to its inherent problems.

It is necessary to note the emerging tendency to simplify the programming process and create a certain subclass - semi-professional programming for applied purposes.

This is what will allow an experienced computer user, but not a professional programmer, to create some applications and small executable files in the Microsoft Office environment, used primarily for accounting purposes and document management in small companies.

It is for this purpose that Microsoft developed the Visual Basic for Application software package, which makes it easier to program and makes it possible for users to engage in application programming, not programmers. This opportunity was implemented primarily by creating a program section - "Script Editor" and the ability to record and execute "Macros" as a separate type graphically programmable modules. The ability to create applications with a graphical interface for MSWindows has been implemented. Also the advantage of this kind of tooling software is its simple syntax, allowing you to very quickly learn the language, and apply it for programming in all standard Microsoft Office applications.

Therefore, it is difficult to overestimate the importance of instrumentation in general, and Visual Basic for Application in particular, although the shortcomings, as mentioned above, also take place. But these are rather not even negative aspects of the product, but guidelines for further improvement of instrumental support in the face of Visual Basic for Application.

List of sources used

1. Algorithmic languages real time / Ed. Young S. / 2004

2. PC Magazine Russian Edition №2 2008. Computer today.

3. Computer science. / Ed. Mogilev A.V., Pak N.I., Henner E.K / - M .: ACADEMIA, 2000.

4. Computer Science and Information Technology: Textbook / Ed. Romanova D.Yu. / LLC "Publishing House" Eksmo ", 2007.

5. The newest encyclopedia of a personal computer / Ed. Leontyeva V. / Moscow, 1999. - 271 p.

6. New programming languages \u200b\u200band tendencies of their development / Ed. V. Ushkova / 2001

7. Pedagogy / Ed. Pidkasistogo P.I. / - M .: Pedagogical Society of Russia, 2000.

8. Programming for Microsoft Excel 2000 in 21 days. / Ed. Harisa M./ - M .: Williams, 2000.

9. Simonovich S. Informatics: a basic course. Textbook. for universities. St. Petersburg, Peter, 2002

10.With Excel 2000, no problem. / Ed. Kowalski / - M .: Binom, 2000.

11. "Effective work in Windows 98" / Ed. Stinson K. / 2000. - 247 p.

12. Programming languages. book 5 / Ed. Vaulina A.S. / 2003

13. Programming languages: development and implementation / Ed. Terrence P. / 2001

14. Electronic textbook on computer science. Alekseev E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Service systems expand the capabilities of the OS for system maintenance, provide user-friendliness. This category includes maintenance systems, shell and OS environments, and utility programs.

Maintenance systems Is a set of PC software and hardware that perform control, testing and diagnostics and are used to check the functioning of computer devices and detect malfunctions during the operation of the computer. They are a tool for specialists in the operation and repair of computer hardware.

To organize a more convenient and intuitive user interface with a computer, use software shells operating systems - programs that allow the user to perform actions to manage computer resources using different means from those provided by the OS (more understandable and effective). The most popular skins include Norton Commander (Symantec), FAR (File and Archive manageR).

Utilities (utilities, lat. utilitas - benefit) are auxiliary programs that provide the user with a number of additional services for the implementation of frequently performed works or increase the convenience and comfort of work.

11. Instrumental software.

To the instrumental software include: programming systems - for the development of new programs, for example, Pascal, BASIC. Usually they include: a text editor that provides the creation and editing of programs in the source programming language (source programs), a translator, as well as libraries of subroutines; development environments for application development, for example, C ++, Delphi, Visual Basic, Java, which include visual programming tools; modeling systems, for example, the MatLab simulation system, the BpWin business process modeling system and ErWin databases, and others.

Translator (English translator - translator) is a translator program that converts a program from a high-level language into a program consisting of machine instructions. Translators are implemented as compilers or interpreters, which differ significantly in how they work.

Compiler (English compiler - compiler, collector) reads the entire program as a whole, makes its translation and creates a complete version of the program in machine language, which is then executed. After compilation, you get an executable program that does not need the source program or the compiler to run.

Interpreter (English interpreter - interpreter, interpreter) translates and executes the program line by line. The program processed by the interpreter must be re-translated into machine language each time it is started.

Drivers - special programs that control the operation of peripheral devices. Typically, drivers for various operating systems are shipped with new devices.

12.Application software.

Application software (PPO) is designed to solve user problems. It includes user application programs and application software packages (PPP) for various purposes.

User application program Is any program that contributes to the solution of a problem within a given problem area. Application programs can be used either stand-alone or as part of software packages or packages.

Application packages (PPP) - these are specially organized software systems designed for general use in a specific problem area and supplemented with appropriate technical documentation. The following types of RFP are distinguished:

· PPP general purpose - universal software products designed to automate a wide class of user tasks. These include:

Text editors (e.g. MS Word, Word Perfect, Lexicon);

Table processors (e.g. MS Excel, Lotus 1-2-3, Quattro Pro);

Dynamic presentation systems (e.g. MS Power Point, Freelance Graphics, Harvard Graphics);

Database management systems (for example, MS Access, Oracle, MS SQL Server, Informix);

Graphic editors (for example, Corel Draw, Adobe Photoshop);

Publishing systems (e.g. Page Maker, Venture Publisher);

Design automation systems (for example, BPWin, ERWin);

Electronic dictionaries and translation systems (e.g. Prompt, Socrates, Lingvo, Context);

OCR systems (e.g. Fine Reader, Cunei Form).

General purpose systems are often integrated into multicomponent packages for office automation - office suites - Microsoft Office, StarOffice, etc.

· Method-oriented PPP, which are based on the implementation of mathematical methods for solving problems. These include, for example, mathematical data processing systems (Mathematica, MathCad, Maple), statistical data processing systems (Statistica, Stat) .;

· Problem-oriented PPPs are designed to solve a specific problem in a specific subject area. For example, information and legal systems YurExpert, YurInform; accounting and control packages 1C: Accounting, Galaxy, Angelica; in the field of marketing - Killer Whale, Marketing Expert; banking system STBank;

· Integrated RFP are a set of several software products combined into a single tool. The most developed of them include a text editor, a personal manager (organizer), a spreadsheet, a database management system, e-mail support, a program for creating presentation graphics. The results obtained by separate routines can be combined into a final document containing tabular, graphic and textual material. These include, for example, MS Works. Integrated packages, as a rule, contain some kind of core, allowing for close interaction between the components.

Typically, application packages have customization tools, which allows them to be adapted to the specifics during operation subject area.

Software. Strictly speaking, the definition of application software includes the definition of instrumental software, therefore, instrumental software can be considered a separate subclass of application software.

Programming systems

  • assemblers are computer programs that convert programs in the form of source text in assembly language into machine instructions in the form of object code.
  • translators - programs or technical means that perform the translation of the program.
    • compilers - Programs that translate the text of a high-level language program into an equivalent machine language program.
    • interpreters - Programs (sometimes hardware) that parse commands or program statements and immediately execute them
  • linkers (link editors) - programs that make linking - take one or more object modules as input and build an executable module from them.
  • source preprocessors are computer programs that take input and output data intended for the input of another program, such as a compiler
  • Debugger (debugger) - is a module of the development environment or a separate application designed to find errors in the program.
  • text editors - computer programs designed to create and modify text files, as well as viewing them on the screen, printing them, searching for fragments of text, etc.
    • specialized source editors - text editors to create and edit source code of programs. A specialized source editor can be a stand-alone application, or be embedded in an integrated development environment (IDE).
  • routine libraries - Collections of routines or objects used for software development.
  • GUI Editors

The listed tools can be part of integrated development environments

Types of instrumental software

  • Profilers
  • Code coverage analysis tools
  • Continuous integration tools
  • Automated Testing Tools
  • and etc.

Wikimedia Foundation. 2010.

See what "Tool Software" is in other dictionaries:

    Software used in the development, correction or development of other programs: editors, compilers, debuggers, auxiliary system programs, graphics packages, etc. In English: Software tools Synonyms:…… Financial vocabulary

    instrumental software - supporting software supporting software tools - [L.G. Sumenko. English Russian Dictionary information technology... M .: GP TsNIIS, 2003.] Parallel texts EN RU The configuration options for all ... ... Technical translator's guide

    robot tooling software - Software designed to automate the development of robot software components ... Polytechnic Terminological Explanatory Dictionary

    A set of programs: providing data processing or transmission; designed for multiple use and use by different users. By the types of functions performed, the software is subdivided into system, application and ... ... Financial vocabulary

    The "Software" request is redirected here; see also other meanings ... Wikipedia

    The "Software" request is redirected here. Cm. also other meanings. Software (pronunciation software is not recommended, more precisely, not recommended) along with hardware, the most important component of information ... Wikipedia

    GOST R 51904-2002: Software for embedded systems. General requirements for development and documentation - Terminology GOST R 51904 2002: Software for embedded systems. General requirements to develop and document original document: 3.1 algorithm: A finite set of well-defined rules that set the sequence of actions ... Dictionary-reference book of terms of normative and technical documentation

    tool - 3.17 tool: A computer program used as a tool for the development, testing, analysis, production or modification of other programs or documents on them.

Workbenches are programs that are used in the development, revision, or development of other application or system programs.

Software development tools can provide assistance at all stages of software development. By their purpose, they are close to programming systems.

Toolkits include, for example:

  • - editors;
  • - means of linking programs;
  • - auxiliary programs that implement frequently used system actions;
  • - graphic software packages, etc.

PROGRAMMING SYSTEM

It is a system for developing new programs in a specific programming language. Modern programming systems usually provide users with powerful and convenient programming tools. They include:

  • - compiler or interpreter;
  • - integrated development environment;
  • - tools for creating and editing program texts;
  • - extensive libraries standard programs and functions;
  • - debugging programs, that is, programs that help to find and fix errors in the program;
  • - "user-friendly" dialogue environment;
  • - multi-window operation mode;
  • - powerful graphics libraries;
  • - utilities for working with libraries
  • - built-in assembler;
  • - built-in help desk;
  • - other specific features.

A translator is a translator program. It converts a program written in one of the high-level languages \u200b\u200binto a program consisting of machine instructions. Translators are implemented as compilers or interpreters. Compiler and interpreter differ significantly from the point of view of doing the work.

Compiler - reads the entire program, translates it and creates a complete version of the program in machine language, which is then executed.

Interpreter - Translates and executes the program line by line. After the program is compiled, neither the original program nor the compiler is needed anymore. At the same time, the program processed by the interpreter must be re-translated into machine language each time the program is started. Popular programming systems - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C ++, Borland Delphi. Each particular language is oriented either towards compilation or interpretation, depending on the purpose for which it was created. For example, Pascal is usually used to solve rather complex problems in which the speed of programs is important. therefore given language usually implemented with a compiler. On the other hand, Basic was created as a language for novice programmers, for whom line-by-line program execution has undeniable advantages. computer interactive application

Sometimes there is both a compiler and an interpreter for the same language. In this case, you can use the interpreter to develop and test the program, and then compile the debugged program to speed up its execution.

Tooling software - software intended for use in the design, development and maintenance of programs, as opposed to application and system software.

The instrumental level (translators and compilers of programming languages, programming systems) provide the creation of new programs for a personal computer.

Programming language - a formal sign system designed to describe algorithms in a form that is convenient for the performer (for example, a computer). A programming language defines a set of lexical, syntactic and semantic rules used in compiling computer program... It allows the programmer to determine exactly what events the computer will react to, how the data will be stored and transmitted, and also what actions should be performed on this data under various circumstances.

Programming languages \u200b\u200bare classified into low-level and high-level languages.

Low-level programming language - a programming language close to programming directly in machine codes.

Typically uses features of a particular processor family. A well-known example of a low-level language is language assembler.

High-level programming language - a programming language designed for speed and ease of use by a programmer. The word "high-level" here means that the language is designed to solve abstract high-level problems and operates not with instructions for equipment, but with logical concepts and data abstraction. This allows for faster programming of complex tasks and provides relative independence from hardware. The use of a variety of translators and interpreters allows programs written in high-level languages \u200b\u200bto communicate with various operating systems and hardware, while their source remains, for the most part, unchanged.

This kind of isolation of high-level languages \u200b\u200bfrom the hardware implementation of a computer has, in addition to many advantages, also disadvantages. In particular, it does not allow for simple and precise instructions for the equipment used. Programs written in high-level languages \u200b\u200bare easier for a programmer to understand, but much less efficient than their counterparts written in low-level languages. One of the consequences of this was the addition of support for one or another low-level language (assembly language) in most modern professional high-level programming languages.

The most common languages \u200b\u200bof this type are C ++, Visual basic, Java, Python, Ruby, Perl, Delphi, PHP.


Programming languages \u200b\u200bcan also be divided into compiled and interpreted.

A program in a compiled language using special program compiler is converted (compiled) into a set of instructions for of this type processor (machine code) and then written into an executable file, which can be launched for execution as a separate program. In other words, the compiler translates the program from a high-level language into a low-level language that the processor can understand.

If the program is written in an interpreted language, then interpreter directly executes (interprets) its text without preliminary translation. In this case, the program remains in the original language and cannot be launched without an interpreter. We can say that a computer's processor is a machine code interpreter.

In short, compiler translates a program into machine language at once and in its entirety, while creating a separate program, and interpreter translates into machine language right during program execution.

The division into compiled and interpreted languages \u200b\u200bis somewhat arbitrary. So, for any traditionally compiled language, such as Pascal, you can write an interpreter. In addition, most modern "pure" interpreters do not directly execute language constructs, but compile them into some high-level intermediate representation (for example, with variable dereferencing and macro expansion).

For any interpreted language, you can create a compiler - for example, the language Lisp, originally interpreted, can be compiled without any restrictions. The code created at runtime can also be dynamically compiled at runtime.

As a rule, compiled programs run faster and do not require additional programs to run, since they have already been translated into machine language. At the same time, every time the program text changes, it needs to be recompiled, which creates difficulties during development. In addition, a compiled program can only run on the same type of computers and, as a rule, under the same operating system for which the compiler was designed. New compilation is required to create an executable file for a different type of machine.

Interpreted languages \u200b\u200bhave some specific additional featuresmoreover, programs on them can be launched immediately after modification, which facilitates development. An interpreted language program can often be run on different types machines and operating systems without additional effort. However, interpreted programs run noticeably slower than compiled programs, and besides, they cannot be executed without an additional interpreter program.

Some languages, for example Java and C #, are between compiled and interpreted. Namely, the program is not compiled into machine language, but into low-level machine-independent code, bytecode... Further bytecode is executed virtual machine... To execute the bytecode, interpretation is usually used, although some of its parts to speed up the program can be translated into machine code directly during program execution using the compilation technology "on the fly" ( Just-in-time compilation). For Java bytecode is executed by a virtual machine Java (Java Virtual Machine), for C # - Common Language Runtime.

Classes of programming languages.Conventionally, programming languages \u200b\u200bcan be divided into the following classes (fig. 2.).

AT functional programming languages the main building blocks are functions. The texts of programs in functional programming languages \u200b\u200bdescribe "how to solve a problem", but do not prescribe a sequence of actions for solving.

The following are usually considered as the main properties of functional programming languages:

· Brevity and simplicity;

· Strong typing;

· Modularity;

· Functions - objects of calculation;

· Purity (no side effects);

· Lazy (lazy) calculations.


Figure: 2. Classes of programming languages

Examples of functional programming languages: Lisp, Haskell, Clean, ML, etc.

Procedural programming is a programming paradigm based on the concept procedure call... Procedures are also known as subroutines, methods, or functions (these are not mathematical functions, but functions similar to those used in functional programming). Procedures simply contain a sequence of steps to be performed. During program execution, any procedure can be called from any point, including the procedure itself.

Examples of procedural programming languages: Ada, BASIC, C, C ++, Pascal, Visual Basic, Dilphi, etc.

Interface description languageor IDL (eng. Interface Description Language) is a purely descriptive computer language, syntactically similar to C ++.

Examples of interface description languages: CORBA IDL (developed OMG for describing interfaces of distributed objects - names of methods and types of variable-arguments), COM IDL (similar to CORBA IDL development by Microsoft, created to describe interfaces between COM modules).

Object-oriented programming language (OO language) is a language that favors object-oriented programming. Modern OO languages \u200b\u200buse the following methods:

Inheritance... Creation of a new class of objects by adding new elements (methods). Currently, OO languages \u200b\u200ballow multiple inheritance, i.e. combine the capabilities of several other classes in one class.

Encapsulation... Data hiding, which (if implemented correctly) allows you to make changes to parts of the program painlessly for other parts of it. This greatly simplifies the maintenance and modernization of software.

Polymorphism... During inheritance, some parts (methods) of the parent class are replaced with new ones that implement actions specific to this child. Thus, the interface of the classes remains the same, but the implementation of methods with the same name and set of parameters is different.

Typing... Allows you to eliminate many errors at the time of compilation, operations are performed only on objects of a suitable type.

Examples of OO programming languages: C ++, Delphi (Object Pascal), C #, Java, etc.

Logic programming- programming paradigm, as well as a section of discrete mathematics that studies the methods and capabilities of this paradigm, based on the derivation of new facts from these facts according to the given logical rules. Logic programming is based on the theory of mathematical logic. The most famous logic programming language is Prologue, which is inherently a universal inference machine, working on the assumption of the closed world of facts.

Scripting language (eng. scripting language, also called scripting language) is a programming language designed to record "scripts", sequences of operations that a user can perform on a computer. Simple scripting languages \u200b\u200bused to be often called batch languages (batch languages). Scripts are always interpreted, not compiled.

AT application program, scenario (script) is a program that automates some task that, without a script, the user would do manually using the program interface.

Examples of scripting programming languages: VBA (Visual Basic Application), AutoLISP, 3DMAX Script, JCL, JavaScript, etc.

Currently, widespread use computer systems with cluster and GRID architectures set the task of creating high-level, powerful and easy-to-use programming languages \u200b\u200bthat would allow you to create complex, but at the same time, fast applications that effectively use parallel computing ... One of these languages \u200b\u200bis currently MC # (a high-level object-oriented programming language for the .NET platform that supports the creation of programs that work in a distributed environment with asynchronous calls).

Questions for self-test:

1. Software.

2. Basic level.

3. The system level of the software.

4. Service level of the software.

5. Application level of software.

6. What are called device drivers?

7. What are called utilities?

8. Give the definition of the programming language.

9. What is an interpreter?

10. What is a compiler?

11. Give examples of programming languages \u200b\u200bof low and high level, what is their difference?

12. What classes of programming languages \u200b\u200bcan be distinguished? Give examples for each class.

13. What are the main properties of functional programming languages

14. Name what methods are used in modern object-oriented programming languages.

15. What is a script (script)?