Instrumental base of information technologies, Software...

Information Technology Toolbox

The tools of production in the form of tools and technological equipment are a necessary component of any technology. Information technologies, functioning on the basis of an instrumental base, including software, technical and methodological means, are no exception. The main factor in the successful development and introduction of technology at the industrial level is the unification and standardization of all components, including the tool base. The analysis of all components of the tool base shows the existing trends in their development, allows you to orientate in the developed market of computing and network products. To enter the common information space, it is necessary to focus on the world standards, which are given considerable attention when considering methodological tools.

Information Technology Tools

The software of information technology can be divided into two large groups: basic and applied.

Basic software refers to the information technology strategy tool and include:

• Operating systems (OS);

• programming languages;

• software environments;

• Database management systems (DBMS).

The application software is designed to solve a set of tasks or individual tasks in different subject areas. They are considered in detail in Ch. 6.

The OS is designed to manage the resources of the computer and the processes that use these resources. Currently, there are two main lines of development of the OS: Windows and Unix. The genealogical lines of these OS data evolved as follows:

1. CP/M → QDOS → 86-DOS → MS-DOS → Windows;

2. Multics → UNIX → Minix → Linux.

In turn, each element of the line has its development, for example, Windows developed in such a sequence: Windows 95, 98, Me, NT, 2000. Accordingly, Linux developed as follows: versions 0.01, 0.96, 0.99, 1.0, 1.2, 2.0, 2.1, 2.1.10. Each version can be distinguished by the addition of new functionality (network tools, orientation to different processors, multiprocessor configurations, etc.).

Most algorithmic programming languages ​​(C, Pascal) were created at the turn of the 60's and 70's (with the exception of Java). Over the past period of time, new programming languages ​​have appeared periodically, but in practice they have not been widely and continuously propagated. Another trend in the evolution of modern programming languages ​​was the attempts to create universal languages ​​(Algol, PL/1, Ada), combining the advantages of the previously developed ones.

The appearance of a PC and OS with a graphical interface (Mac OS, Windows) has led to a shift in the attention of software developers to the field of visual or object-oriented programming, network protocols, databases. This has led to the use of a specific programming environment as a tool environment (Delphi, Access, etc.) and knowledge of the basic programming language is required. Therefore, we can assume that the range of programming languages ​​used has stabilized.

An analysis of the syntax and semantics of programming languages ​​shows that their related constructions differ mainly in "appearance" (a set of keywords or the order of components). The content is almost identical, except for small differences that do not matter much. Thus, the constructions of modern languages ​​have a common content (semantics), a different order of components (syntax) and different keywords (vocabulary). Therefore, different languages ​​give the user the same opportunities with different appearance of programs.

Standardization of programming languages ​​is currently carried out by ISO/ANSI committees, but their activities are mainly directed at unjustified syntactic extension of languages. To eliminate existing shortcomings, ways of specifying the semantic and syntactic standards of programming languages ​​are proposed.

The semantic description of any language construct (operator, data type, procedure, etc.) should contain at least three required parts:

• list of components (in the Type of Index, these are the Type Name and Basic Type components);

• a description of each component;

• Description of the structure as a whole.

For a syntactic description, a formal description of the structure is usually used, for example, in the form of BNF. The syntactic description is present in any language, beginning with Algol.

Among the large number of languages, the most significant role in the development of programming was played by three pairs: Algol-60 and Fortran, Pascal and C, Java and C ++. These languages ​​are not accidentally combined into pairs, as the opposition of the ideas embedded in them contributed to the progressive development.

In Table. 8.1 provides basic information about the most common languages, and in Table. 8.2 - on special-purpose languages ​​(experimental and industrial) [39]. Types (paradigms) of languages ​​by areas of application:

Table 8.1

Programming language

Year

Creating

View

Company

Standard

FORTRAN

1954

A

IBM

ISO 1539.1997

Lisp (LISP)

1958

F

MIT

-

Algol-60 (Algol 60)

1960

A

1FIP

-

Cobol (COBOL)

1960

A

COLASYL

Commitete

ISO 1989: 1985

Simula (Sumula)

1962

In

-

- *

BASIC

1963

A

Darmouth

College

ISO 10279: 1991

PL/1 (PL/1)

1964

A

IBM

ISO 6160: 1979

Algol-68 (Algol 68)

1968

A

IF1P

Pascal

1970

C

ETH

ISO 7185: 1990

Fort (FORTH)

1970

A *

Mohasco

Industrie

ISO 15145: 19) 7

C (C)

1972

C *

AT & T Bell Labs

ISO 9899: 1999

Smalltalk

1972

In

Xerox PARC

Prolog (Prolog)

1973

E

Univ. of Aix-Marseille

ISO 13211: 1995

Ala (Ada)

1980

H *

Cil Hon ewe11

ISO 8652: 1995

C ++

1984

H *

AT & T Bell Labs

ISO 14882: 1998

Java

1995

N

Sun Labs

-

* Support for system programming.

Table 8.2

Programming language

Year

Creating

View

Company

Standard

Premier League (APL)

1957

I

Harvard Univ

ISO 8485: 1989

Snobol (Shobol)

1962

I

AT & T Bell Labs

-

Settle (SETL)

1969

I

IBM

-

Parallel Pascal Concurrent Pascal

1974

G

CIT

-

CLU

1974

D

MIT

-

Schema

1975

F

M1T

-

Mesa

1976

D *

Xerox PARC

-

Icon

1977

I

AT & T Bell Labs

-

Molula-2 (Modula-2)

1979

D *

ETH

ISO 10514: 1996

Occam

1982

G *

Inmos

-

Cedar

1983

H *

Xerox PARC

-

Common Lisp

1984

F

MIT

-

Objective C

1984

H *

Productivity

Products

-

Eiffel

1986

D *

ISE

-

Oberon (Obcron)

1988

D *

ETH

-

Modula-3 (ModuIa-3)

1988

H *

DEC SRC

-

Oberon 2 (Obcron-2))

1991

D *

ETH

-

Limbo

1996

D *

Bell Labs (Lucent)

-

Component Pascal

1997

D *

Microsystems

-

C #

2000

H *

-

* See. tile. 8.1.

A - procedural programming;

B - object-oriented programming;

C - structural programming;

D - modular (component programming);

E - logical (relational) programming;

F - functional programming;

G - parallel programming;

H - hybrid (mixture of paradigms B + C + D + G);

I is a specialized language.

The abbreviations that occur in Table. 8.1 and 8.2: MIT - Massachsetts Institute of Technology; PARC - Palo Alto Research Center; ETH - Swiss Federal Institute of Technology; SRC - Systems Research Center; ISE - Interactive Software Engeneering; ISO - International Standard Organization; CIT - California Institute of Technology.

It is important to distinguish the programming language and its implementation. The language itself is a recording system, a set of rules that determine the syntax and semantics of the program. A language implementation is a program that converts a high-level record into a sequence of machine instructions. There are two ways to implement the language: compilation (Figure 8.1) and interpretation (Figure 8.2).

At compilation, a special working program (compiler) translates the working program into an equivalent work-in-progress code and its execution in conjunction with the data. In the interpretation method, a special program (interpreter) establishes a correspondence between the language and the machine codes, applying commands to the data. In principle, any programming language can be interpreted or compiled, but in most cases there is a preferred way to implement it. Unfortunately, at present there is no universal compiler that could work with any existing language. This is due to the lack of a single semantic base. Although modern programming languages ​​are similar to each other, their identity is far from complete. In Fig. 8.3 shows the areas of intersection and union of programming languages. Thus, there is a common semantic zone, which includes constructs belonging to all programming languages ​​(or most of them), and a union area containing constructs specific to the language. Therefore, the creation of a universal compiler is possible in two ways:

Compilation Scheme

Fig. 8.1. Compilation Scheme

Interpretation Scheme

Fig. 8.2. Interpretation Scheme

1. The use of common constructions (the intersection area), the exclusion of specific language constructs (a union domain). This will cause to "impoverishment" of all programming languages.

2. Use of all available designs (union area + intersection area). This approach will lead to a significant expansion of the semantic base and the use of additional resources.

For years, there has been a dispute about what programming is - science, art or the production process. We must admit that all three definitions have the right to existence. However, in connection with the advent of information technology, the industrial character of programming comes to the fore, which corresponds to the traditional stages of the software product life cycle:

• requirements analysis;

• development of specifications;

• Design;

• Layout;

• writing the source text;

• Debugging;

• Documentation;

• testing and maintenance.

Along with this trend, so-called research programming is developing. For example, E. Raymond's proposed self-organizing, anarchic programming, called "bazaar". Its distinctive features are the absence of a clear plan, minimal project management, a large number of third-party remote developers, free exchange of ideas and codes.

Software environments implement separate tasks and operations of information technology. These include:

Areas of intersection and union of programming languages

Fig. 8.3. Areas of intersection and union of programming languages ​​

1. Word processors: Microsoft Word, Lexicon, Lotus Word Perfect, Corel Word Pro, Sun Star Office Writer, etc.;

2. Spreadsheets: Microsoft Excel, Corel Quattro Pro, Lotus 1-2-3, Sun Star Office Calc, etc.;

3. Personal information systems: Microsoft Outlook, Lotus Organizer, Lotus Notes, Sun Star Office Schedule, etc.;

4. Presentation graphics programs: Microsoft Power Point, Lotus Freelance Graphics, Corel Presentations, Sun Star Office Impress, etc.

5. Browsers: Microsoft Internet Explorer, Netscape Navigator, Opera, etc.;

6. Editors of WEB-pages: Microsoft Front Page, Netscape Composer, Macromedia Free Hand, etc.;

7. Mail clients: Microsoft Outlook, Microsoft Outlook Express, Netscape Messenger, The Bat, etc.;

8. Editors of raster graphics: Adobe Photoshop, Corel Photo-Paint, etc.;

9. Editors of vector graphics: Corel Draw, Adobe Illustrator, etc.;

10. Desktop publishing: Adobe Page Maker, Quark Xpress, Corel Ventura, Microsoft Publisher, etc.;

11. Development tools: Borland Delphi, Microsoft Visual Basic, Borland C ++ Builder, Microsoft Visual C ++, etc.

Also We Can Offer!

Other services that we offer

If you don’t see the necessary subject, paper type, or topic in our list of available services and examples, don’t worry! We have a number of other academic disciplines to suit the needs of anyone who visits this website looking for help.

How to ...

We made your life easier with putting together a big number of articles and guidelines on how to plan and write different types of assignments (Essay, Research Paper, Dissertation etc)