. - 3GL   - 4GL

, , . - , .

.

4.1.

- .

, . . 4.1 .

. , [ 1986].

4.1.1.

4.1.1.1.

, , . .

[ 1999]. . (, ), (, ), (, ) (, ). , , - , , , . , . , , , , , . . - - , . , , " " (. 4. 2).

, , , , . , .

, , - . , [ 1986] (. 4. 3).

.

(, ). - , , , .

, , .

, , , .


: , (http://asu.pstu.ac.ru/structure/prepod/solov.htm).

[ 1986].


, . , , . - [ 1999]: ", , , : ": , ". : ": ". "" - : """.

, . , -. - " , ".

- , .

- Ri, , Li, Ri , Ri [ 2000]. Li Ri . Li .

.

[ 1990]. - . - . .

. . , (http://progstone.nm.ru) , , . , , . . " " ( 1866 . . [ 1985]) " ?" (. 4.1).

4.1.

,
! ! !
 

- , . , , , , .

- , , . , XX . , . - , . :

. -, , " , , , , " [ 1996].

- - , . - , , , ( , . . ). , , , .

. , . , .


" ". , "", "". - . "", " ". [- 2000], , , .

[ 2000]. (. 4. 4). si Li. L1 si. S1 S2. , L1 - L2. , L2 S2. , S2, L2. L1->L2 , .

. , , . ,


- . .

. (http://asu.pstu.ac.ru/structure/prepod/solov.htm).

4.1.1.2.

- , ( ), . :

4.1.1.3.

( ) - , , ( ) ( ).

- , , , , - .

[, 1991].

,
. ? ? , . , . , .


, .


, , Pascal, . , , (, writeln()) .

.

, , , .

. - [ 1985] 2570 , .


, . , . , .

4.1.2.

- .
.

4.1.2.1.

.

, .

4.1.2.2.

. .

. 4.5. , : '

4.1.3.

4.1.3.1.

.

, .

. , .

4.1.3.2.

. .

80- XX . :

- (, ) , , . , . .

. , .

.

4.1.4.

, .
.

:

-, , . , -, .

-, , . , , - .

Java [ 1998].

, . , - "" [ 2001].

, , .

, , - , . .,

, . (, Microsoft, Sun Microsystems . .) , .

4.1.5.

, .

, :

:

4.2. ,

4.2.1.

, , , .
( , )

. .

4.2.2.


, " ".

- . , , [, , 1984]. , . , ( ), . , , . . . ( 4.5) i , j .

. :

, . 4.6 , , , . ( ), .

. , . , , , [ 1999].

4.2.3.

, , . 4.4.

4.2.4. ()

, , . 4.5.

4.2.5.

, .

. , . .

4.2.6.

, , - () . .

, , .

4.2.7.

, . ( ). :

4.2.8.

,
,
,
.
.

. , , .

4.3.

4.3.1. " "

, - .

- . , .

, (Peter Denning) . - . , . , , ( ). [Appleby 1991].

, .

4.3.2.

, .
.

4.3.2.1.

- , . ( , ).

.

4.3.2.2.

. - , .

, [ 1990]. - ( - ) . - , , .

. - ? ( - ), . - , .

4.3.2.3.

, , .

:

(.A.R. Hoare). , , , - . , .

4.3.2.4.

.

- , . - , () .

[Cardelli, Wegner 1985].


, - .

. , :

3 + 4

3.0 + 4

3 + 4.0

3.0 + 4.0

+ .


(Bjarne Stroustrup) "Generalizing Overloading for ++ 2000" (http://www.research.att.com/-bs/papers.html), 1 1998 ., C++. , , .

4.3.2.5.

.

.

4.3.2.6.

. -. ,.|

. 4.8 () . , - , .

" " [ 1989]. . , 64 64- , . (, " ").

. .

4.3.3.

4.3.3.1.

. - , : , .

:

? 1965 , . , (, , ) .


- , - . , .

4.3.3.2.

[ 1975]. -, . - , . - . .

, - . - - -, , , . - -, , . - , , . , . . 4.10 - .

, , .

4.3.3.3.

, .

:

if () then ;

switch case case ...;

:

4.3.3.4.

, . - for. while ... do ... repeat . . . until.

. , CLU s elements (s) ( 4.1).

4.1.

setsum = proc(s:intset)returns(int)signals(NumOverFlow)

sum: int := 0

for i: int in intset$elements(s) do

sum := sum + i

end

return(sum)

end setsum

. :

which (: )

, , .

4.3.3.5.

, , - . , , , . , (, , ).

[ 2000]. , C++.

, .

, (, Pascal) .

PL/I. ( PL/I) , . PL/I :

, , . , :

(subscriptrange): begin

...

end;

" " , . , "goto ". " " :

" " :

c1, 2

%

...

c1: < 1>,

2: < 2>

c1 , , : c1!.

4.3.3.6.

. . , , , , .

:

if ( c1)

{ s1; } /* c1 */

s2;

.

S1: :=3;

S2: b:=a;

S3: :=+3;

S1: :=b+3;

S2: b:=47;

S1: a:=x+2;

S2: b:=a-3;

S3: :=-45;

, , .

4.3.4.

4.3.4.1.

- , , , , . - , , , . , - . .

4.3.4.2.

.

:

, .

4.3.4.3.

[Holt 1975]. .

[ 1980]. :

.

7 (+/-2)
. "" - , . 7 .

()

, , . , goto. , .

() (cohesion) - . - , . , .


, (, FORTRAN Pascal). , Ada, - .

. .

(coupling) - . . , . .

.

- ( ). , ( ).

, , . .

4.4.

4.4.1.

, . . 3.2.3. , ( , , ). .

4.4.1.1.

. 4.11 -.

, 4.12 , .

4.4.1.2.

. 4.13 .

. 4.14 .

4.4.1.3. "-"

. 4.15 "-".

4.4.2. -

, - . . 3.2.3. , , ( , , ). .

4.4.2.1 . ACME

, .

- ACME [, 2001] 4.2.

4.2. ACME

System simple_cs={

Component client=(Port send-request}

Component server=(Port receive-request}

Connector rpc={ Roles {caller, receiver}}

Attachments: {

Client.send-request to rpc-caller;

Server.receive-request to rpc-receiver}

}

4.4.2.2. - (--)

. 4.16 --.

1
1
2
2
3
3

. 4.16. -

4.4.2.3. UML

UML [, , 2000].

4.4.2.4.

. 4.17 .

(. 4.17, ), - (. 4.17, ). . 4.17, .

. 4.18. .

4.4.2.5.

. 4.19 .

4.4.2.6.

. 4.20 .

(. 4.20, ), (. 4.20, ). . 4.20, , . 4.20, - .

4.4.2.7.

. 4.21 .

. 4.21, . . 4.21, , . 4.21, 4.21, - .

4.4.2.8.

. 4.22, . (. 4.22, ).

. 4.23 .

4.4.2.9.

. 4.24 4.25 .

4.4.2.10.

. 4.26 .

, . 4.27:

4.4.2.11.

. 4.28 .

4.4.3.

4.4.3.1.

, - , . . "" "datum", "". , .

, . , , . .

. , , . .

"-"
. "-".

, , :

:

4.4.3.2.

- , . . ( ) ( ) [ 2000].

, , . , .

- , .

. . (Edgar Codd). . 4.29 .

, , , , , .

4.4.3.3.

70- XX :

"" 1975 . .

4.4.4.

- .
.

4.4.4.1. -

- , . - , . . . : .

. , [ 1986] :

4.4.4.2.

- [ 1987].

(). , , . , , . - . - , . , .

, , . . .

4.4.4.3.

- , , .
.

. , , - [, 1991]. , - .

, - . , , . . , . ,, , , - , .

. : , , . .

- , . , .

, , , . - " " , , . , , , - .

- , , - . ., - , .

, . - , , - , .

4.5.

:

4.5.1. ,

, . , , " .

4.5.1.1.

60- XX (. 4.30).

:

4.5.1.2.

, "", . (. 4.31) .

. . - 80- XX Object-Oriented Cobol.

, .

.

4.5.1.3.

, . 2.4.1 2.4.2. :

4.5.1.4. -

for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

(. 4.32) , , . - C++, , , C++ Java. , , Java ( , ), Java Oberon .

4.5.1.5. Pascal-

(. 4.33) , . " ". - - Oberon, .

4.5.1.6. Ada-

Ada - , , . 1979 1983 (. 4.34). , " ", .

4.5.1.7. Simula-

Simula . (. 4.35) -. , . Simula , a Smalltalk - - . BETA , , . ( ) , , , , .

4.5.1.8. Lisp-

(. 4.36) , . 2.2.3.

4.5.1.9. Prolog-

(. 4.37) , . 2.2.4.

4.5.2. ,

, - . , - , , . .

, , , :

, .

4.5.2.1.

- , . :

4.5.2.2.

- . SGML (Standard Generalized Markup Language - ) , , . , :

4.5.2.3.

- .

:

. . sh, bash, csh, ksh - Unix.

4.5.2.4.

(. . 5.2.4.2) , . , . [Handbook 1998].


. . () .

4.5.2.5.

- . - , , , , , , . :

4.5.2.6.

- . :

4.5.2.7.

- . :

4.5.2.8.

- , , . . :

4.5.2.9.

- , . :

4.6.

[, 1978].

4.6.1.

. - , . . , [ 1984]. [Grune, Jacobs 1998] ( - 4), .

. 4.2 - () () [Grune, Jacobs 1998].

4.2.

() ()
0 ( )
1 - ( ) -
2 - -
3 ( ) ,
4

4.6.2. ()

. , .

. 4.3 [Grune, Jacobs 1998].

4.3.

(, , )
predict/match shift/reduce
- : , 1 :
- LL(k)
:
-
-
-
- LR(k)
- LALR(1)
- SLR(1)
: ( )

4.6.3.

. 4.38 [Grime, Jacobs 1998]. , . .

4.6.4.

, . , , , " ". , . . - - .

- . , . , , , , , , .

, , . - , , , . . , , , . , , . - . , "" , , ( "") .

- . , "" . - , , " ". , - . , .

, , , - . . . , , - , , .

4.6.4.1.

. . , , , , , , . , . , , , , , , , , .

, , , . - ( ) . , , . , , . , "", , , , . :

, , . , , , . , , . , , , , , . , , . , , , , - . , , .

, . . , , , . .

4.6.5.

, . yacc, LR(1) , , LALR(1). . 5.2.4.3.

ASCII-, - (RBNF). :

%{

   < >

%}

   < >

%%

   < >

%%

   < >

%% - .

< C> . #include, . .

< > , , :

< > , , .

< C> . main (){...; yyparse () ; . . . }, yylex (){...} .

yyparse () . , .

4.7.

:

4.7.1.

, .

, , .. :

. . , "locale", . " ". , , : atoi(), isainum(), strtod() .

- . , .


, , . - "man" Unix "person", a "abort()" "choice()".

.

, Latin-1 ! (, " "), .

4.7.2.

- , .
.

. .

4.7.2.1.

[ 1962]. , , . . 60- XX :

. , , . : , . , . , , . , , J , .

4.7.2.2.

, , .

. . [ 1985] - . , ( ), , . , , . , , , , . , "" "" : , , . , . , . . : . , , , , . .

4.7.2.3.

. , . . . . . [ 1990] , . . 72 600 . .

4.7.3.

- .
.

, .

- , . , .

, [Solaris 1995].

- , . , . , Unix LANG. - ru - .

4.7.4. " "

. , , . , (). - . . 4.4 .

4.4.

:-)
.
;-)
. (" , ")
:-(
"". ,
:-|
. , :-(, , :-) . , ;-)
8:-)
-
:-)-8
-
:-{)
:-{}
:`-(
:`-)
:-@
:<)
:-&
()
=:-)
- :-)
:-P
:-O

(. 4.5).

4.5.

:)
:]
,
:D
:|
:(
:O
:,(
:*

. 4.6.

4.6.

:-)
-
:-(
...
|-)
-
:-|
...
|-D
-
:-O
-...
:->
-
:-P
...!


, (http://www.debilarius.ru/slovar.htm).

, , , , !
.

1. 1982 - . . . // . - .: , 1982.

2. 1984 - . . (). // . - .: , 1984.

3. 2001 - . . // , 3, 2001

4. , 1978 - ., . , . 2- . - .: , 1978.

5. , 2001 - . ., . . . // , 2001. . 2, . 33-48.

6. 1986 - . Unix. - .: , 1986.

7. - 2000 - . -. . - .: , 2000.

8. 1998 - . . // , 2, 1998, . 120-133.

9. 1998 - . - C++, 2- . - .: , .: , 1998.

10. , , 2000 - ., ., . UML. . - .: , 1998.

11. 1996 - . /. . - .: , 1996.

12. 1984 - . . . - : 1, 1984.

13. 1996- . "" . // , 6, 1996.

14. 1997 - ., . Java. - .: , 1999.

15. , 1991 - . . . . . -.: - , 1991.

16. 1975 - . . // ., ., . . - .: , 1975, . 7-97.

17. 1978 - . .- .: , 1978.

18. 2000 - , ., . , 6- . - .; .; '.: "", 2000.

19. , , 1989- ., ., . . - .: , 1989.

20. 1989 - . . - .: 1989.

21. 1985 - . . . - .: 1985.

22. , 1993 - . ., . . : . - .: , 1993.

23. 1990 - . . . - : , 1990.

24. 1985 - . . - .: , 1985.

25. , 1991 - . ., . . . . - .: , 1991.

26. 1986 - . . : . - .: - , 1986.

27. , , 1988 - . ., . ., . X. (). - .: , 1988.

28. 1993 - . . - : RDTEX, 1993.

29. 1975 - . . - .: , 1975.

30. 1986- . . . // . - : - , 1986, . 3-13.

31. 1991 - . - . // , 1990, 5, . 29-35.

32. 1989 - ., . . - .: , 1989.

33. 2001 - . . UML. - .: -, 2001.

34. 1999 - . . : . - .: -89, 1999.

35. 1980- . . - .: , 1980.

36. 2000 - . C++. 50 . - .: , 2000.

37. 1979 - . . . - .: , 1979.

38. 1999 - . . . - .: , 1999.

39. 1987 - . . . - .: , 1987.

40. 1979 - . : . - .: , 1979.

41. 1999 - . . . - .: , 1999.

42. 1989 - . . "". - .: , 1989.

43. 2001 - . . , 5- . - .: "", 2001.

44. 1996- , , . Java. . - .: " .", 1996.

45. 2000 - . C++,- .: , 2000.

46. 1990 - . . . - .: - . - 1990.

47. 1981 - . . - .: , 1981.

48. 2000 - . . : . - .: , 2000.

49. , - 1984 - ., - . . - .: , 1984.

50. 1984 - . . . - .: - . - 1984.

51. 1985 - . . ,- .: , 1985.

52. 1975 - . . // ., ., . . - .: , 1975. '

53. 1962 - . . // . . 11. - .: , 1962, . 412-527.

54. 1985 - . . . // , . 2. - .: , 1985.

55. 1990 - . . . // . - 1990. - 1, . 78-92.

56. , 1993 - ., . - : . - : , 1993.

57. 1989 - , , . . - .: , 1989.

58. Appleby 1991 - Doris Appleby. Programming Languages: Paradigm and Practice. McGraw-Hill, 1991.

59. Sal, Grune 1994- Henri E. Bal, Dick Game. Programming Language Essentials. Addison-Wesley Publishing Company, 1994.

60. Cardelli, Wegner 1985 - Luca Cardelli, Peter Wegner. On Understanding Types, Data Abstraction, and Polimorphism. // Computing Surveys, Vol 17, N 4, pp. 471-522 December 1985.

61. Grune, Jacobs 1998 - Dick Grime, Ceriel J. H. Jacobs. 1998.

62. Handbook 1998 - Handbook of Programming Languages. Macmillian Technical Publishing, 1998.

63. Holt 1975- R. C. Holt. Structure of Computer Programs: A Survey. // Proceedings of the IEEE, pp. 879-893, 63(6), 1975.

64. Morris 1973 - J. H. Morris, Jr. Types are not sets. // Conference Record of the ACM Symposium on Principles, of Programming Languages, pp. 120-124, Boston October 1973.

65. Solaris 1995 - Solaris 2.5. Developer's Guide to Internationalization. SunSoft Press 1995.

66. Terekhov, Verhoef 2000 - Andrey A. Terekhov, Chris Verhoef. The Realities of Language Conversions. // IEEE Software, November/December 2000.

    . - 3GL   - 4GL

, , Inheritance - - - , , (-) (-) . .




 10.11.2021 - 12:37: - Personalias -> WHO IS WHO - - _.
10.11.2021 - 12:36: - Conscience -> . ? - _.
10.11.2021 - 12:36: , , - Upbringing, Inlightening, Education -> ... - _.
10.11.2021 - 12:35: - Ecology -> - _.
10.11.2021 - 12:34: , - War, Politics and Science -> - _.
10.11.2021 - 12:34: , - War, Politics and Science -> . - _.
10.11.2021 - 12:34: , , - Upbringing, Inlightening, Education -> , - _.
10.11.2021 - 09:18: - New Technologies -> , 5G- - _.
10.11.2021 - 09:18: - Ecology -> - _.
10.11.2021 - 09:16: - Ecology -> - _.
10.11.2021 - 09:15: , , - Upbringing, Inlightening, Education -> - _.
10.11.2021 - 09:13: , , - Upbringing, Inlightening, Education -> - _.
Bourabai Research -  XXI Bourabai Research Institution