You are on page 1of 75

:

:


:

.

: :
:
-1 ) :(Sequence .
-2 ) :(Selection
.
-3 ) :(Looping
.
--4 ) :(Branching ) ( .

: :
-(1 :
" " 0 1






OCTAL HEX-ADECIMAL
0 1 :

.A.B,C,D,E,F 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
16

-(2

SYMBOLIC CODE




ASSEMBLER
.

-(3 :



.
.

PROCEDURE -
ORIENTED LANGUAGES

-1 : TRANSLATION

-2 : LINKING
.
-3 : LOADING
.

* :
-1 .
-2 .
-3 .

-(4 ((Fourth-Generation language (4GL :


:


.
:
1
2 .
.
3
4 .

.

Dbase Borland Foxpro Microsoft Oracle Ingress
SQL Structured Query Language
.

SQL
SQL Structured Query Language
DBMS
.
SQL :
1 .
2 .
.
3 What you want How or
. ?Where
3

-(5 Natural Language


:

)) ((
.
)) (( )) ((


. .
A.I
.

-(6 :
-1 : HTML
. www )(HyperText Morkup Language

Ascii . Html
HTML :
.
.
.
.
-2 : Java
www
.
Sun Microsystems ++C
Html .

-(1 : Zuse

:
1936 1945 Tsoo-zuse , 1945
Z4 . Zuse
1943 ) (Plankalkul
1945 1972 Zuse
..
:
Plankalkul
Single bit
MSB ) (
.
Pascal Zuse

Eiffel
. Semantic 1945
6 .
:
,
.

(2 : Pseudocodes

, , , ,
.


: ADD 14 .


.

.
Assembler .


.

: Short code
Short code Manchly John 1949
BIN AC UN IVAC I
,
I UNIVAC .
UNIVAC I 72
12 2
. AB
Short code
50 .

:Speedcoding
.
John Backus , IBM 701 701

:
700 Milliseconds 4,2 .

UNIVAC 1107 1962 12
.

: UNIVAC
1951 1953 Hopper Grace UNIVAC
Pseudocode .
.

:
Cambridge

. Pseudocode
.

(3 IBM 704 : FORTRAN


IBM 704 1954
.

:


.


. FORTRAN . 1952 Laning Zierler
1954
. MIT 1952
. 1953
.

:
1954 John Backus IBM )
( IBM
,
.
:
-1

-2

-3
-4

.
,

FORTRAN O 1955
. 1957 FORTRAN I
FORTRAN I. 1956 )
2 ( FORTRAN O
if . Do
FORTRAN O if
.
if , :
N1,N2,N3

) . If ( arithmetic expression

, N1 , N2
. N3
I :
Last_value . , first_ value = Do N1 variable
, if 704 , Do
704
. FORTRAN I : 704
. FORTRAN I N, M, L, K , J, I
.
FORTRAN
,
FORTRAN .
. 18
.
. 1958 ,
704 .

: II

FORTRAN II , 1958 FORTRAN I


,
. 704
300 400 .
.
.

,IV , 77 90

, III . IV
. 1960 1962
1978 . 77 IV II
. , if ,
. 77 IV
if else .
90 77 .
DOTPRODUCT ,
MATMUL , MAXVAL , SUM , PRODUCT
...
. 90
:
CASE ( 1 .
EXIT ( 2 .
CYCLE ( 3 .
.
.
90 .
90 70
.
. 90 if GOTO

10

90 COMMON, EQUIVALENCE
GOTO ..

:
.
IBM IBM709
,IBM 704 .704
.
FORTRAN I 90
.
.
.
.

,
FORTRAN .
Alan Perlis ALGOL 60 1978

.

-(4

LISP

11

.
.

:
.
...
.

. .
Herbert Simon ,Allen Newell
. ) IPL-I
( .
IPI-II . Rand Corporation Jonnica Computer
IPL 1960 IPL-V Nwell Tonge
IPL .
, Johnniac
IPL IPL
. IBM
. FORTRAN I IBM
.
.

:
John Me Carthy IBM .1958
. :
. :
. FORTRAN I
.

Mc Carthy
. FLPL

12

Mc
. Carthy MIT 1958 Manin Minsky MIT
.
Mc Carthy
LISP Pure LISP .

:
:
Pure lISP : .
* .
.IPL-II .
LISP . .
* . .
) ( .
:
, .
.
. ..

:
LISP .
.
. .
.

) LISP ( :
LISP LISP

. C
: C LISP
) . ( A B C D

13

4
A . D , C , B

:
LISP
.
.
, LISP
.
. LISP .
. COMMON LISP

: LISP
LISP COMMON LISP: . SCHEME
: SCHEME - 1
SCHEME MIT .
Static scoping . Scheme
.. ..
LISP , . Static scoping
Scheme ,
.
: COMMON LISP - 2
COMMON LISP LISP
Scheme .. COMMON
LISP .. Pure LISP
. COMMON LISP dynamic scoping .static scoping
static special

14

.dynamic COMMON LISP


..

:
ML Robin Milner
) L C F ) . M L . ML

. LISP Scheme
ML . .
ML . C
Miranda David Turner ML
SASL . KRC Haskell Miranda
) ( . Haskell
. . .

:
:
.

.

:




) (
.

15

:
-1 : 1940
.
.
) . ( .

.
.
. 1940 ) (

.

) ( 1957

.
. .
) ( . 1951

.
-2 :
) (
.

.
. (general problem solver (GPS
. ) ( 1957
.

.

16

:
:
.1

.2

.3

.4

.5

.6

.7

.8

.9


.
.
:

:
(1 :
: . . .
.
(2 :
.




.
17

(3 :


:

. :
. )
( .
(4 :




.
(5 :

.

-:
-1 .
-2 .
-3 .
-4 .
-5 .
-6 .

:
-1 .
-2 .

18

-3 .
-4 .
-5 .
-6 .
-7 / .

:
- ) ( knowledge base
:
.1 :
.
.2 .
.3 .
- ) ( gine inferenceen
.
- ) ( user interface
.

:




.


:
.1

.2

.
19

.3

.4

) information processing language ) IPL

. 1956

) ( RITA Language

- ) ( ROSIE Language

) ( TATR ) ( 1958
) ( opsv, ops 5, DEND .

) ( PROLOG

) . ( ESP/ Advisor,M,1

SMALL TALK

( Stanford Artificial Intelligence Laboratory ) SALL

:

.
) (
:
(1 .
(2 .
(3
.
(4 .
20

(5

.

:




.


.


.

.

LISP

Lisp %90
Lisp . common Lisp
Version .Lisp

: LISP
-1 Interpreter Listener
Evaluation
Text Editor .
-2 Lisp Procedural Algorithm
Flowchart .

21

Object Oriented Programming


.
-3 functions :

Built-in Functions

. User-defined Functions

Lisp Functional Language


.

:

: :Function & Data:
..

: 30 3 2

.5

.
.
:

22


.
:

: !
.
: :Lists

.
:

) : (RED GREEN BLUE .

) : (17 13 11 7 5 3 2 .

) : (MOHD 3 MAKKAH 459 .

)) : ((BLUE SKY) (GREEN GRASS) (BROWN EARTH

) ( : NIL ! Length

23

: List Processing & EVAL


:Notation " "EVAL notation
:
.1

.Eval notation

.2

Eval notation .

.3

: .


function . :
)* (5 3 2

the expression (* 2 3 5) evaluates to 30

.:

. LISP

: Common LISP
LISP Symbolic
Expressions .s-expressions s-expressions
: atom . list
Atom

Atom

.. Atom .

24

: Atoms
3.1416
100
x
c4arab
**some-name
nil

List

Atoms Lists

Blank spaces ) ( . list Non-atomic


.LISP
:Lists
; 1 4
)(4 3 2 1
;
)(Mohammad Thamer Rashed Yaser
;
) (((a (a b) (d (e f
;

25

) (

list list ..
Structures .. Empty List
Data Structures nil .LISP
: nil s-expression LISP
Atom List .

26

(5 ) : ( ALGOL60
ALGOL 60 ..

:
ALGOL 60 1954
1957
. IT Alan prelist UNIVAC
MATH-MATIC .UNICODE .
UNIVAC .IBM700
:
USA ( UNIVAC scientific Exchange, the large_scale UNIVAC scientific user
(group (SHARE (the IBM scientific group
1957 .
IBM . GAMM 1955
0
IBM 0
1957
GAMM 1958 GAMM ACM
0

:
GAMM ACM
0 27 1 1958 :
-1

0
-2

-3


0 0 0

27

:
Zurish ) ( IAL
ALGOL ALGOrithmic Language
0 ALGOL
ALGOL 58 . ALGOL 58 .
0
0 ALGOL 58
0 ,
: ALGOL 58
-1

0
-2

, 0

-3

0 1
-4

ALGOL 58 0

ALGOL 58 0
Zuse expression =>variable plankalkul 0

: ALGOL 58
ALGOL 58 1958 .
0 ALGOL 58
) ( 0
:
-1

, Michigan MAD 0 1961

-2

NELIA 0 1963

-3

JOVIAL 0 1936

JOVIAL Jules'own Version of the International Algebraic Language:


ALGOL 58
0

28

IBM SHARE ALGOL 58 0 IBM


, SHARE SHARE IAL 0
1959
0 1959
IBM SHARE IBM 700
ALGOL 58 0

:
, 1959 ALGOL58 0
ALGOL ACM0
1959 Zurish 0
BNF 0
1960 ALGOL , 80
Naur 0 ALGOL

Backus ( BNF( Backus-Naur form BNF
0 1960 BNF
1960 0

:
1960 , ALGOL 58
0 :
-1

) (

0
-2

: , 0

-3

Lisp,

0 1959
-4

. Stack-dynamic

0
0
0 ALGOL 60

29

. 1960 1962
0 ) ) ALGOL 60 ))0

:
ALGOL 60
20 . 1960 PL/I,
. SIMULA 67 , ALGOL 68 , C , Pascal , Ada , C++ , Java
ALGOL 58 , ALGOL 60 .
0
. BNF
: 0
: ALGOL 60 0
0 ALGOL 60
ALGOL 60
..
:
-1 ALGOL 60 . .

ALGOL 60 Rutishauer . 1967
-2 .
-3 ALGOL 60 BNF .
BNF 1960
.
IBM ALGOL 60 .

(6 : COBOL
30

COBOL
. PL/I .
COBOL
. COBOL
.

:
ALGOL 60
COBOL
. 1959
.
FLOW-MATIC 1957
UNIVAC . AIMACO
FLOW-MATIC
. IBM COMTRA :
COMmerical TRANslator .

FLOW-MATIC

. COBOL 1953
Grace Hopper
.
1955
. ..
.

:
1959
. Zurich ALGOL _
_ CBL :
-1

-2

( .
-3

.
31


. RCA
Sylvania .
Short Range .
: . Short Range
1959 . COBOL 60
COBOL 60 1960
1961 . 1962 ANSI 1974

1975 .

:
COBOL .
: DEFINE COBOL 60
Plankalkul
. COBOL COBOL
30 .
COBOL .
.

COBOL . .
COBOL .
COBOL . DOD
. :
. COBOL . DOD
.

COBOL

.. ..
COBOL .Common Business Oriented Language

32

.. .
COBOL 4 Divisions

:
IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION COBOL .
COBOL .
:
IDENTIFICATION DIVISION. :
. :
IDENTIFICATION DIVISION. 1
PROGRAM-ID. TEST.2
:
-1 .
-2 ).(.
-3 PROGRAM-ID .
TEST .

-(7

: BASIC

BASIC . COBOL

.
33

BASIC
BASIC :
-1 BASIC .
-2 .
BASIC Visual BASIC .

:
BASIC . Beginner's All_purpose Symbolic Instruction Code :
Dartmouth John Kemeny : Thomas Kurts
FORTRAN . ALGOL 60
1963 .
.
:
-1

-2

-3

-4

-5

. BASIC

.
1963 Kemeny BASIC
GE 225 BASIC
. 1963 1 1964 . BASIC
11 20 .

:
BASIC .
. .
BASIC 14
BASIC .

34

:
BASIC
.
.
BASIC
. ALGOL 60
BASIC . BASIC
. BASIC BASIC
BASIC_PLUS RSTS PDP_11 .
BASIC .
BASIC .
.
BASIC .
BASIC Quick :
BASIC . Visual BASIC . PCs Visual BASIC
BASIC Quick . Visual
BASIC . CGI

BASIC

1963 :
Beginners All-purposes Symbolic Instruction Code ":
" .
35

.
. :
.GW-BASIC ,QBASIC ,BASIC-MSX BASIC . VISUAL BASIC
)
. (DOS
.
. :

0 . 9

* - +

&

"

< > ^ = ) ( ; .

6,22 .
Dos
:
-1

Qbasic.exe

-2

Qbasic.hlp

-3

Qbasic.ini

-4

Edit.exe

-5

Edit.hlp

-6

Edit.ini

-(8

PL/I

PL/I .
.

36

FORTRAN PL/I . IBM IBM


7090 1620 . IBM
.
.
IBM 7080 . 1401
)( COBOL
1963 . PL/I COBOL .

.
1963 IBM
. .
.

.
IBM/360 Line . .
. FORTRAN LISP
COBOL .

:
IBM SHARE SHARE
FORTRAN . 1963
3

3 3 4 .

COBOL
. PL/I
FORTRAN VI .
. . FORTRAN VI
1965 NPL New Programming Language :
. NPL SHARE . 1964
1964

IBM . 1965
PL/I NPL )

37

( National Physical Laboratory


. NPL

:
PL/I ALGOL 60
) ( . " FORTRAN VI
__" " COBOL 60 / "
.
PL/I :
-1

-2

23 .

-3

-4

-5

:
L/I . PL/I :
. Edsger Dijkstra
PL/I .
. .
PL/I : .

:

PL/C . PL/CS

-(9 APL

: SNOBOL

APL SNOBOL
J APL ICON . SNOBOL APL
SNOBOL :
.

38

.
.

APL


APL 1960 Kenneth E.Iverson IBM
) ( APL
. A Programming Language :
IBM . APL
APL
. IBM
APL .
.
APL 30
.
SNOBOL

Snow ball 3 Bell D.J.Farber :


R.E.Griswold . F.P.Polensky .
SNOBOL ) ( .
SNOBOL . NOBOL


.

-(10

: SIMULA 67

SIMULA 67
.

39

Kristen Nygaarg Ole_Johen Dahl SIMULA I 1962


1964 .
. SIMULA I 1964
UNIVAC 1107 SIMULA I Nygarrd
Dahl
. SIMULA 67
. 1967

:
SIMULA 67 ALGOL 60 .
) ALGOL 60 (
. .
. Coroutines
SIMULA 67 .
.

. . 1972

-(11 : ALGOL 68
ALGOL 68
.

40

ALGOL 1962 6
. ALGOL 68 .
ALGOL 68 .

:
ALGOL 68

FORTRAN . PL/I
.
ALGOL 68
.
. ALGOL 68
Flex arrays :
list

. flex ( 1 : 0 ) int

:= ( 3 , 5 , 6 , 2

( List

:
ALGOL 68 .
ALGOL 68 . ALGOL 68
ALGOL 60 .
.
ALGOL 68
. Van Wijngaarden Grammars
.
: indicants
. Coercion Of Deproceduring
ALGOL 68

PL/I

41

ALGOL 68 :
PL/I .
.
ALGOL 68 ALGOL 60 PL/I
.
PL/I
ALGOL 68 .
PL/I . ALGOL 68
PL/I IBM

ALGOL 68 .

-(12 ALGOLs

++C : Java 1960


ALGOL 60 . ALGOL 68

42


- : : Pascal
:
Niklaus Wirth ) ( IFIP ALGOL
. 1965 Wirth
. ALGOL 60 ALGOL
. 60 ALGOL 68
. Wirth ALGOL 60
. Wirth Hoare ALGOL 60
ALGOL-W Stanford
. ALGOL-W case
. . ALGOL 60
Wirth . ALGOL 60
Pascal . 1971 .
Pascal . :
ALGOL 68 case . ALGOL-W Pascal
COBOL . PL/I

:
Pascal . 1970
PL/I
. ALGOL-W
Pascal
. Pascal
. .
.
. Turbo Pascal Pascal
. Pascal
FORTRAN . C Pascal .

43

Pascal

1642


) ( 1642


.

) (

9
) (
.


.
:
braces parentheses .
++ :
} {
)* *(
//
.
. ++ 32 .
.
.

44


.
:
) ( .
) (
Myname MyName myname myName MYNAME .


. .
.
.
. .identifier
) ( :
MyLongIdentifier
MyVeryLongAndAlmostStupidIdentifier
) (tabs
. . white space
. BASIC
.
) (
.
.
:

60 70 .

.
.

parameters

45

)(

.
.

function call

.
: ).

. (.
:


.pretty-printing :
.
.
:
code syntax
. highlighting
. keywords )
( .

.
.
. ) (Help :
.
.
:

expressions
. logical arithmetic Boolean
relational set .
46

parameter .
.
.
:

(+) union (-) difference (*) intersection
(membership (in .
:font styles
.
;]Style := Style + [fsBold
;]Style := Style + [fsBold, fsItalic] - [fsUnderline
Include Exclude )
set :(-l
;)Include (Style, fsBold

:
Ordinal types .

. Integer
Boolean .Char
.
:
) system system
(unit .ordinal types ++
Inc ++ ) =+ . (Dec

- :
47


Pascal C

.
.
:
C CPL BCPL B . ALGOL 68 CPL
Cambridge BCPL . Martin Richards
. 1967 UNIX Ken Thompson
. Bell . UNIX
B . BCPL B Thompson . 1970
BCPL B
. Pascal :
. BCPL
. .
B
NB C . 1972 BCPL
: C ALGOL 68 for switch
.
. 1989 ANSI C
++C .
. C

++C ) ( .
:
C ) (
. .
C :
. C
. C
. UNIX UNIX
.
C

48


.
blocks .
:
-1 ()main

-2 main ) ( . } {
.

-3 /* * / :
/* Hello in c4arab * /



compiler .
-4 semicolons .
-5 .
-6 scanf . Scanf

editing

-1

-2 : compiling
-3

linking

executing


-4

:
debugging

49


.

.

++Borland c 3.1 5.02
. ++Visual c
- : : ALGOL

: Modula_2

Pascal Niklaus Wirth Modula .


Wirth .
. Lilith
Modula_2 Pascal Modula

. Pascal Modula_2
. .

: Modula_3

Modula_3

Modula_2 Mesa Cedar +Modula_2

Modula_2
. garbage
.

: Oberon

Oberon Modula_2 Niklaus Wirth


. Oberan_2 Wirth
Oberon Modula_2
Oberon ++C

50

. Ada 95 Oberon
Modula_2 Oberon .
. :
CARDINAL with for
Oberon .

: Delphi

Delphi ++C
. Delphi . Pascal ++C Delphi
++C
. C
.
: Pascal C Delphi
. ++C Delphi . ++C Delphi :

. ++C Delphi ++Visual C ) ( GUI
. Delphi
Delphi Borland . Turbo Pascal
Delphi



(RAD (Rapid Application Development

)
(..
Active X




51

IDE

(IDE (Delphi Integrated Development Environment



-1 :

) ( .

.
-2

Properties .Events
Property Events
.
.
Event .
Event Handler
-3 .
.
.

-(13 : Prolog
.
.
. .

52

:
Alain Colmerauer Phillippe Roussel

Aix_Marseille Robert Kowalski
Edinburgh . Prolog
.
Prolog Marseille 1972
Marseille . 1975 Prolog . PROgramming LOGic

:
Prolog .
. Prolog
. Prolog : .
.( mother ( Joanne , jake

:
. ( Father ( vern , Joanne

. ( grandparent ( x , y ) :- parent ( x , y ) , parent ( y , z :


Prolog .
. ( father ( bob , darcie

: ) ( True
) . ( False

:


:
-1

.
53

-2

.
PROLOG

"" PROgramming LOGic


" " Artificial Intelligence" (A I

) AI " " " " .
.
. LISP

" " ,
. .
:
:
:
.

.

,

,
.
, .
.


.
54

-(14 Ada

Ada . Ada . DOD


.

:
.
1974 DOD
.

55

. 450 DOD .
. .
.

:
Malcom Currie Ada 1975
) ( HOLWG . Lt.Col.William Whitaker
1975 Strawman .

. Strawman Woodenman 1975 Tinman
. 1976 Tinman .
. David Fisher
200 40 . DOD 1977 Tinman
Ironman .
1977 Ironman
. Ada . 1977
Softech : SRI Cii Honeywell/Bull Intermetrics
.
. Pascal 1978 400
80 .
:

Cii Honeywell/Bull Intermetrics .

1978 Steelman
1979 . Cii Honeywell/Bull
Ada .
. SIGPLAN 1979
100 . : 500 15
. .
) ( Stoneman . 1980
1980 MIL-STD 1815
. Ada 1815 Ada .

56

Ada 1982 1983


. Ada

:
Ada .
.
.
. Ada :
.
.
. Ada .

:
Ada :
-1 .
-2 Ada .
Ada .
-3
1985 Ada

Ada .

Ada 95

Ada 1988 Ada 9x Ada


. Ada 9x :
-1 .
-2 .
-3 .
DOD . 1990 :
57

-1

) ( .

-2

) ( .

-3

-4

Ada . Ada 95 Ada 83


Ada Ada 95 . Ada
83 . Ada 83
.
.
. Ada 95

-(15 ) (
: Smalltalk

SIMULA 67 .
.
. . :

.

58


0 : ) (
0

:
Smalltalk Ph.D Alan Kay
. Utah Kay .

Kay
megabytes
. Kay
.
. Kay
. LOGO
. Kay Dynabook
. SIMULA 67
flex
.
Kay Xerox Palo Alto . Dynabook
. Xerox
Kay .
Xerox Alto . Smalltalk_72 .
.
. Smalltalk_80 1980
Xerox . Alan Kay

:
Smalltalk ) (
.
. Smalltalk .
.

59


.

.
Smalltalk .

. .
Smalltalk . SIMULA 67
.
. .
SIMULA 67 . Smalltalk Smalltalk
.
) ( .

:

. Smalltalk .
SIMULA 67
. Smalltalk Smalltalk
.

:
. )
(Object Oriented Programming
) (Procedure Oriented Programming POP
) (Pascal ) .(C
) ( instructions )
.(functions )
(functions .

60

.
)( .

) (Global Data
. ) (C
.

.
. .
:
.1

.2

.3

.4

.5

) (Top-Down .

61

.6


...
-

... .
.
.
.
.

) ( ...

... .
:
.
.

62

:
-

) (Entities
. )) (Object ( .
. ) (
... .
) ( ... display
erase :

: ) (Object Structure
) ( .

63

)
( ) (
.
)
(.

:
-

) (.

": "...
...

-(16 : ++C
++C C
.
64

:
C ++C Bjarne Stroustrup Bell
. 1980
SIMULA 67 . Smalltalk
. 1981
. C Stroustrup . 1983
C .
. SIMULA 67
. C C
C . :
. C 1984
) (
. ++C Stroustrup . 1984
1985 Cfront ++C . C
Cfront ++C . Release 1.0
1985 1989 ++C
. Release 2.0 Cfront . 1989
Release 2.0
. Release 3.0 ++C 1989 . 1990
Relea se 2.0 Release3 0 Ellis Stroustrup . 1990

:
SIMULA
67 . Smalltalk ++C
. ++C
. Smalltalk ++C .
. A
. A . :
.

65

. ++C . Ada
.

:
++C . .
C ++C C
. ++C .
.
. PL/I C
Delphi : Ada . Java
: C ++C PL/I ALGOL 68
.

Eiffel

Eiffel .
Bertrand Meyer .
) ( .

. Plankalkul .
Eiffel : ++C

Eiffel ++C

++C Eiffel
.

++C
. C

++C Cfront
Eiffel .

++C Bell Eiffel


Bertrand Meyer .

66

: ++C
.
] Johnson 73]B . [BCLP [Richards 79
1972 1977 1979
. The C
Programming Language . K&R
ANCI C

....


===< .. Bjarne
Stroustrup 1979 .... "C with
"Classes ++C

1983

) (
: 1994


.

Source files:


main . c.
. source file

Header files

header file
stdio.h string.h conio.h
67

include#
> < .
include#
" ".

Header : -1 preprocessing directive include#
define# .#
.

Body: -2

.
} {.

.

:

include# ) (preprocesser ) (header file


. .

.

) (comments
/* */
*/
/* */ .

-(17 Java

68

Java ++C .
++C .

:
Java .
Java . .
1
. .
1990 Sun Microsystems C ++C
.
++C
. C ++C
. Java
. ++C Java
.
1993
Java .
Java . Java . James Gosling

:
Java ++C . Java
. .
.
C . Ada
Java ++C .
++C
. Java Java

. .
.
.
. .

69

. Java
) if ( while C ++C
. Java .
Java
Ada 95 ++C . Java
. Java
: . ++C
Java ++c .
Java
. Java
. .
Java ) ( Java
threads .
.
.

.
. C ++C Java ) (
. int to float float to int .

:
Java ++C . :
++C . .

. Java .
. :
applets threads .
Java .
.
. Java

70

: ++C
Delphi . Ada Java .
) ( CGI
" " . Java
HTML . Java
. .
/ Java .
.
: ++C . ++C
Java ++C .
Java

Java

:Language
1995 SUN Micro System .
.
:
-1 : (Object Oriented Programming (OOP



..
..
Object .
-2 : JVM
JVM
.

71

-3 : Class Libraries
OOP

.
--4 : ++C,C
++C,C
++C .
:
-1 : JVM

JVM , JAVA Virtual Machine

.
Software RunTime

JVM ..
WINDOWS , UNIX
JVM
: Java Applet -2
Applet HTML Applet
server . HTML
Java Application-3 :

DISKTOP
.. CLIENTSERVER

:

) (1 JDK
JDK SUN

72

/1 " NoteBad "


/2 : JDK JDK . SUN . J2SE download:
: JDK

/3

: Javac : Java Java .

: Applet Viewer Applet) (2 KAWA : JCreator


.

Download JCreator :
) (3 : Forte , JBuilder :
. Download Borland JBuilder , Download Forte :
:1

++
. ) ( platform
JVM platform
.
:2
.
live code .
Client Side
, ) .(client
:3

J2EE J2SE . J2ME

:
J2EE ) (wireless devices

.
73

:4 J2EE
Java 2 Enterprise Edition
) 12 ( .

:5 ) ( IDE OR Compilers
Jbuilder
)
(. forte (
.

74

Plankalkul
Pseudocodes
IBM FORTRAN
: LISP
: ALGOL
: COBOL
: BASIC
: PL/I

: SIMULA 67
: ALGOL 68
ALGOLs
: PROGOL
: Ada
: Smalltalk
: ++C
: . Java

75

1
5
6
8
12
27
31
34
37
39
40
41
43
54
57
60
66
70

You might also like