View
614
Download
0
Category
Preview:
DESCRIPTION
Citation preview
ßçûêè ïðîãðàììèðîâàíèÿ
Êàëèíèí Èâàí
7 ìàðòà 2014
1 Èñòîðèÿ
2 ×òî åñòü ÿçûê ïðîãðàììèðîâàíèÿ
3 Ïðåäñòàâèòåëè
4 Âûáîð ÿçûêà ïîä çàäà÷ó
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
ßçûê ïðîãðàììèðîâàíèÿ
• ìîãóò áûòü ïðîñòûìè:
print("Hello, world!")
• ñëîæíûìè:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>
++.>+.+++++++..+++.>++.<<+++++++++++++++.>.
+++.------.--------.>+.>.
• è íåïîíÿòíûìè:
ßçûê ïðîãðàììèðîâàíèÿ
• ìîãóò áûòü ïðîñòûìè:
print("Hello, world!")
• ñëîæíûìè:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>
++.>+.+++++++..+++.>++.<<+++++++++++++++.>.
+++.------.--------.>+.>.
• è íåïîíÿòíûìè:
ßçûê ïðîãðàììèðîâàíèÿ
• ìîãóò áûòü ïðîñòûìè:
print("Hello, world!")
• ñëîæíûìè:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>
++.>+.+++++++..+++.>++.<<+++++++++++++++.>.
+++.------.--------.>+.>.
• è íåïîíÿòíûìè:
Èñòîðèÿ
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
Æàêêàðäîâûé ñòàíîê
Ìàøèíà Áýááèäæà
Ïðîãðàììèðóåìûé òàáóëÿòîð
Åãî ïðîãðàììà
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
Code number of a Turing machine Input to Output
TAPE
HEAD
Control unit
Print Sk, EraseLeft, Right
Scannedsymbol
Table of U
11X11
RRRLL
ABCDE
10EE1
RLRNR
PKHUS
P1X0Y
RLNRR
MNOPH
Currentstate A:
Currentstate B:
Currentstate V:
. . .
. . .
. . .
. . .
. . .
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
tape symbol is blank
tape symbol is 0
tape symbol is 1
tape symbol is X
tape symbol is Y
etc.
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
Code number of a Turing machine Input to Output
TAPE
HEAD
Control unit
Print Sk, EraseLeft, Right
Scannedsymbol
Table of U
11X11
RRRLL
ABCDE
10EE1
RLRNR
PKHUS
P1X0Y
RLNRR
MNOPH
Currentstate A:
Currentstate B:
Currentstate V:
. . .
. . .
. . .
. . .
. . .
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
tape symbol is blank
tape symbol is 0
tape symbol is 1
tape symbol is X
tape symbol is Y
etc.
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
Code number of a Turing machine Input to Output
TAPE
HEAD
Control unit
Print Sk, EraseLeft, Right
Scannedsymbol
Table of U
11X11
RRRLL
ABCDE
10EE1
RLRNR
PKHUS
P1X0Y
RLNRR
MNOPH
Currentstate A:
Currentstate B:
Currentstate V:
. . .
. . .
. . .
. . .
. . .
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
tape symbol is blank
tape symbol is 0
tape symbol is 1
tape symbol is X
tape symbol is Y
etc.
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
Code number of a Turing machine Input to Output
TAPE
HEAD
Control unit
Print Sk, EraseLeft, Right
Scannedsymbol
Table of U
11X11
RRRLL
ABCDE
10EE1
RLRNR
PKHUS
P1X0Y
RLNRR
MNOPH
Currentstate A:
Currentstate B:
Currentstate V:
. . .
. . .
. . .
. . .
. . .
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
Writesymbol
Movetape
Nextstate
tape symbol is blank
tape symbol is 0
tape symbol is 1
tape symbol is X
tape symbol is Y
etc.
Àðõèòåêòóðà ôîí Íåéìàíà
ArithmeticLogicUnit
ControlUnit
Memory
Input Output
Accumulator
Öèôðîâûå êîìïüþòåðû
Èäåè ìàøèíû Òüþðèíãà è ìàøèíû Ôîí Íåéìàíà îïðåäåëèëè
äàëüíåéøåå ðàçâèòèå ïðîãðàììèðîâàíèÿ:
• îäíîðîäíîñòü ïàìÿòè
• àäðåñàöèÿ ïàìÿòè
• ïðîãðàììíîå óïðàâëåíèå
• äâîè÷íîå êîäèðîâàíèå äàííûõ è ïðîãðàìì
Ïåðâûå ïðîãðàììû äëÿ öèôðîâûõ êîìïüþòåðîâ ïèñàëèñü â
ìàøèííûõ êîäàõ.
Öèôðîâûå êîìïüþòåðû
Èäåè ìàøèíû Òüþðèíãà è ìàøèíû Ôîí Íåéìàíà îïðåäåëèëè
äàëüíåéøåå ðàçâèòèå ïðîãðàììèðîâàíèÿ:
• îäíîðîäíîñòü ïàìÿòè
• àäðåñàöèÿ ïàìÿòè
• ïðîãðàììíîå óïðàâëåíèå
• äâîè÷íîå êîäèðîâàíèå äàííûõ è ïðîãðàììÏåðâûå ïðîãðàììû äëÿ öèôðîâûõ êîìïüþòåðîâ ïèñàëèñü â
ìàøèííûõ êîäàõ.
Àññåìáëåð
• íèçêîóðîâíåâûé ÿçûê, ñïåöèàëèçèðîâàííûéäëÿ êîíêðåòíîé àðõèòåêòóðû
• 1-ê-1 ñîîòâåòñòâèå èíñòðóêöèé ÿçûêà êìàøèííûì êîäàì
mov ah,9
mov dx,offset hello_message
int 21h
Ïåðôîêàðòà
Ðàííèå ÿçûêè âûñîêîãî óðîâíÿ
 êîíöå 50õ � íà÷àëå 60õ ïðîáëåìû òàêîãî ïîäõîäà ñòàëè
î÷åâèäíû, ïîâèëèñü ïåðâûå ÿçûêè âûñîêîãî óðîâíÿ:
• FORTRAN
• COBOL
COBOL
001 IDENTIFICATION DIVISION.
002 PROGRAM-ID. 'HELLO'.
003 ENVIRONMENT DIVISION.
004 CONFIGURATION SECTION.
005 SOURCE-COMPUTER. IBM-360.
006 OBJECT-COMPUTER. IBM-360.
0065 SPECIAL-NAMES.
0066 CONSOLE IS CNSL.
007 DATA DIVISION.
008 WORKING-STORAGE SECTION.
009 77 HELLO-CONST PIC X(12) VALUE 'HELLO, WORLD'.
075 PROCEDURE DIVISION.
090 000-DISPLAY.
100 DISPLAY HELLO-CONST UPON CNSL.
110 STOP RUN.
FORTRAN
READ INPUT TAPE 5, 501, IA, IB, IC
501 FORMAT (3I5)
IF (IA) 777, 777, 701
701 IF (IB) 777, 777, 702
702 IF (IC) 777, 777, 703
703 IF (IA+IB-IC) 777,777,704
704 IF (IA+IC-IB) 777,777,705
705 IF (IB+IC-IA) 777,777,799
777 STOP 1
799 S = FLOATF (IA + IB + IC) / 2.0
AREA = SQRT( S * (S - FLOATF(IA)) * (S - FLOATF(IB)) *
+ (S - FLOATF(IC)))
WRITE OUTPUT TAPE 6, 601, IA, IB, IC, AREA
601 FORMAT (4H A= ,I5,5H B= ,I5,5H C= ,I5,8H AREA= ,F10.2,
+ 13H SQUARE UNITS)
STOP
Çîëîòîé âåê
Êîíåö 60õ � íà÷àëî 70õ.
Ïðîãðàììèðîâàíèå ïîëó÷àåò ïðèçíàíèå.
Ðåøàþòñÿ íîâûå çàäà÷è, ïîÿâëÿþòñÿ íîâûå ÿçûêè è ïîäõîäû.
• ïðîöåäóðíîå (ñòðóêòóðíîå) ïðîãðàììèðîâàíèå� Algol, C, Pascal
• îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå� Simula, Smalltalk
• ôóíêöèîíàëüíîå ïðîãðàììèðîâàííèå � LISP,ML
Çîëîòîé âåê
Êîíåö 60õ � íà÷àëî 70õ.
Ïðîãðàììèðîâàíèå ïîëó÷àåò ïðèçíàíèå.
Ðåøàþòñÿ íîâûå çàäà÷è, ïîÿâëÿþòñÿ íîâûå ÿçûêè è ïîäõîäû.
• ïðîöåäóðíîå (ñòðóêòóðíîå) ïðîãðàììèðîâàíèå� Algol, C, Pascal
• îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå� Simula, Smalltalk
• ôóíêöèîíàëüíîå ïðîãðàììèðîâàííèå � LISP,ML
Çîëîòîé âåê
Êîíåö 60õ � íà÷àëî 70õ.
Ïðîãðàììèðîâàíèå ïîëó÷àåò ïðèçíàíèå.
Ðåøàþòñÿ íîâûå çàäà÷è, ïîÿâëÿþòñÿ íîâûå ÿçûêè è ïîäõîäû.
• ïðîöåäóðíîå (ñòðóêòóðíîå) ïðîãðàììèðîâàíèå� Algol, C, Pascal
• îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå� Simula, Smalltalk
• ôóíêöèîíàëüíîå ïðîãðàììèðîâàííèå � LISP,ML
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
Èíòåðíåò è Âåá
Âîçíèêàëè ñïåöèàëèçèðîâàííûå ÿçûêè:
• PHP
• JavaScript
Ìíîãèå ñóùåñòâóþùèå ÿçûêè íàøëè íîâûå íèøè è ñòàëè
âåá-îðèåíòèðîâàííûìè:
• Ruby
• Python
• Java
Èíòåðíåò è Âåá
Âîçíèêàëè ñïåöèàëèçèðîâàííûå ÿçûêè:
• PHP
• JavaScript
Ìíîãèå ñóùåñòâóþùèå ÿçûêè íàøëè íîâûå íèøè è ñòàëè
âåá-îðèåíòèðîâàííûìè:
• Ruby
• Python
• Java
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
×òî åñòü ÿçûê ïðîãðàììèðîâàíèÿ
ßçûê ýòî
• ñèíòàêñèñ
• ñåìàíòèêà
• runtime
ßçûê ýòî
• ñèíòàêñèñ
• ñåìàíòèêà
• runtime
ßçûê ýòî
• ñèíòàêñèñ
• ñåìàíòèêà
• runtime
Ñèíòàêñèñ
Îïðåäåëÿåò ôîðìó òåêñòîâîãî ïðåäñòàâëåíèÿ ïðîãðàìì.
• ãðàììàòèêà ÿçûêà � ôîðìàëüíàÿ, êàê ïðàâèëî� êîíòåêñòíî-ñâîáîäíàÿ (òèï 2 ïî Õîìñêîìó)
• BNF-îïèñàíèå ñèíòàêñèñà
ãðàììàòèêà LISP
expression ::= atom | list
atom ::= number | symbol
number ::= [+-]?['0'-'9']+
symbol ::= ['A'-'Z''a'-'z'].*
list ::= '(' expression* ')'
(defun factorial (x)
(if (zerop x)
1
(* x (factorial (- x 1)))))
ãðàììàòèêà LISP
expression ::= atom | list
atom ::= number | symbol
number ::= [+-]?['0'-'9']+
symbol ::= ['A'-'Z''a'-'z'].*
list ::= '(' expression* ')'
(defun factorial (x)
(if (zerop x)
1
(* x (factorial (- x 1)))))
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
Ñòàòè÷åñêàÿ ñåìàíòèêà
• ïðèäàåò ñìûñë ëåêñè÷åñêèì êîíñòðóêöèÿì
• îïðåäåëÿåò äîïóñòèìûå çíà÷åíèÿ ïåðåìåííûõè ïàðàìåòðîâ
• äîïîëíÿåò ñèíòàêñè÷åñêèå îãðàíè÷åíèÿ
Ñòàòè÷åñêàÿ ñåìàíòèêà
• ïðèäàåò ñìûñë ëåêñè÷åñêèì êîíñòðóêöèÿì
• îïðåäåëÿåò äîïóñòèìûå çíà÷åíèÿ ïåðåìåííûõè ïàðàìåòðîâ
• äîïîëíÿåò ñèíòàêñè÷åñêèå îãðàíè÷åíèÿ
Ñòàòè÷åñêàÿ ñåìàíòèêà
• ïðèäàåò ñìûñë ëåêñè÷åñêèì êîíñòðóêöèÿì
• îïðåäåëÿåò äîïóñòèìûå çíà÷åíèÿ ïåðåìåííûõè ïàðàìåòðîâ
• äîïîëíÿåò ñèíòàêñè÷åñêèå îãðàíè÷åíèÿ
Ñåìàíòèêà ýòàïà âûïîëíåíèÿ
• îïðåäåëÿåò îáùèé õàðàêòåð âûïîëíåíèÿïðîãðàììû
• îïèñûâàåò, êàê ðàáîòàþò âñòðîåííûå îïåðàöèè
• çàäàåò òðåáîâàíèÿ äëÿ èíòåðïðåòàòîðà /ðàíòàéìà
Ñåìàíòèêà ýòàïà âûïîëíåíèÿ
• îïðåäåëÿåò îáùèé õàðàêòåð âûïîëíåíèÿïðîãðàììû
• îïèñûâàåò, êàê ðàáîòàþò âñòðîåííûå îïåðàöèè
• çàäàåò òðåáîâàíèÿ äëÿ èíòåðïðåòàòîðà /ðàíòàéìà
Ñåìàíòèêà ýòàïà âûïîëíåíèÿ
• îïðåäåëÿåò îáùèé õàðàêòåð âûïîëíåíèÿïðîãðàììû
• îïèñûâàåò, êàê ðàáîòàþò âñòðîåííûå îïåðàöèè
• çàäàåò òðåáîâàíèÿ äëÿ èíòåðïðåòàòîðà /ðàíòàéìà
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
Ïàðàäèãìà
• ñ ãðå÷åñêîãî � øàáëîí, ïðèìåð, îáðàçåö
• ñèñòåìà èäåé è ïîíÿòèé, îïðåäåëÿþùèõ ñòèëüíàïèñàíèÿ êîìïüþòåðíûõ ïðîãðàìì (wiki)
• ÿçûê "áëàãîâîëèò"îäíîé èëè íåñêîëüêèìïàðàäèãìàì (ìóëüòèïàðàäèãìåííîñòü)
Ïàðàäèãìà
• ñ ãðå÷åñêîãî � øàáëîí, ïðèìåð, îáðàçåö
• ñèñòåìà èäåé è ïîíÿòèé, îïðåäåëÿþùèõ ñòèëüíàïèñàíèÿ êîìïüþòåðíûõ ïðîãðàìì (wiki)
• ÿçûê "áëàãîâîëèò"îäíîé èëè íåñêîëüêèìïàðàäèãìàì (ìóëüòèïàðàäèãìåííîñòü)
Ïàðàäèãìà
• ñ ãðå÷åñêîãî � øàáëîí, ïðèìåð, îáðàçåö
• ñèñòåìà èäåé è ïîíÿòèé, îïðåäåëÿþùèõ ñòèëüíàïèñàíèÿ êîìïüþòåðíûõ ïðîãðàìì (wiki)
• ÿçûê "áëàãîâîëèò"îäíîé èëè íåñêîëüêèìïàðàäèãìàì (ìóëüòèïàðàäèãìåííîñòü)
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
Ïðåäñòàâèòåëè
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
Äî ñèõ ïîð êðàéíå àêòóàëåí, èñïîëüçóåòñÿ äëÿ:
• ñèñòåìíîãî ïðîãðàììèðîâàíèÿ (íàïðèìåð,Linux)
• number-crunching
• ïðîãðàììèðîâàíèÿ ìèêðîêîíòðîëëåðîâ èâñòðàèâàåìûõ ñèñòåì
Äî ñèõ ïîð êðàéíå àêòóàëåí, èñïîëüçóåòñÿ äëÿ:
• ñèñòåìíîãî ïðîãðàììèðîâàíèÿ (íàïðèìåð,Linux)
• number-crunching
• ïðîãðàììèðîâàíèÿ ìèêðîêîíòðîëëåðîâ èâñòðàèâàåìûõ ñèñòåì
Äî ñèõ ïîð êðàéíå àêòóàëåí, èñïîëüçóåòñÿ äëÿ:
• ñèñòåìíîãî ïðîãðàììèðîâàíèÿ (íàïðèìåð,Linux)
• number-crunching
• ïðîãðàììèðîâàíèÿ ìèêðîêîíòðîëëåðîâ èâñòðàèâàåìûõ ñèñòåì
C � ïðèìåðû
Hello world:
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåìÑòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåìÑòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåì
Ñòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåì
Ñòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåìÑòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
Java � ïðèìåðû
Hello world:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
LISP � ïðèìåðû
Hello world:
(princ "Hello, world!")
Bubble sort:
(defun bubble-sort (sequence &optional (compare #'<))
"sort a sequence (array or list)"
(loop with sorted = nil until sorted do
(setf sorted t)
(loop for a below (1- (length sequence)) do
(unless (funcall compare (elt sequence a)
(elt sequence (1+ a)))
(rotatef (elt sequence a)
(elt sequence (1+ a)))
(setf sorted nil)))))
LISP � ïðèìåðû
Hello world:
(princ "Hello, world!")
Bubble sort:
(defun bubble-sort (sequence &optional (compare #'<))
"sort a sequence (array or list)"
(loop with sorted = nil until sorted do
(setf sorted t)
(loop for a below (1- (length sequence)) do
(unless (funcall compare (elt sequence a)
(elt sequence (1+ a)))
(rotatef (elt sequence a)
(elt sequence (1+ a)))
(setf sorted nil)))))
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
Python � ïðèìåðû
Hello world:
print("Hello, world!")
Bubble sort:
def bubblesort(lst):
"Sorts lst in place and returns it."
for passesLeft in range(len(lst)-1, 0, -1):
for i in range(passesLeft):
if lst[i] > lst[i + 1]:
lst[i], lst[i + 1] = lst[i + 1], lst[i]
return lst
Python � ïðèìåðû
Hello world:
print("Hello, world!")
Bubble sort:
def bubblesort(lst):
"Sorts lst in place and returns it."
for passesLeft in range(len(lst)-1, 0, -1):
for i in range(passesLeft):
if lst[i] > lst[i + 1]:
lst[i], lst[i + 1] = lst[i + 1], lst[i]
return lst
Âûáîð ÿçûêà ïîä çàäà÷ó
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
Ïîïóëÿðíîñòü
Ñêîðîñòü îáó÷åíèÿ
Íèøåâîñòü ÿçûêîâ
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
Ñïàñèáî çà âíèìàíèå!
Âîïðîñû?
Recommended