Иван Калинин - Как правильно выбрать язык...
DESCRIPTION
TRANSCRIPT
![Page 1: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/1.jpg)
![Page 2: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/2.jpg)
ßçûêè ïðîãðàììèðîâàíèÿ
Êàëèíèí Èâàí
7 ìàðòà 2014
![Page 3: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/3.jpg)
1 Èñòîðèÿ
2 ×òî åñòü ÿçûê ïðîãðàììèðîâàíèÿ
3 Ïðåäñòàâèòåëè
4 Âûáîð ÿçûêà ïîä çàäà÷ó
![Page 4: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/4.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
![Page 5: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/5.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
![Page 6: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/6.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
![Page 7: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/7.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
![Page 8: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/8.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
![Page 9: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/9.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• èñêóññòâåííûé ÿçûê
• äëÿ êîììóíèêàöèè �÷åëîâåê� => �ìàøèíà�
• â ÷àñòíîñòè, äëÿ ïåðåäà÷å êîìïüþòåðóèíñòðóêöèé è êîìàíä
• ò.ê. êîìïüþòåðû äî ñèõ ïîð ïëîõî ïîíèìàþòåñòåñòâåííûå ÿçûêè
• è ëþäè ïëîõî ïîíèìàþò ìàøèííûé ÿçûê
![Page 10: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/10.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• ìîãóò áûòü ïðîñòûìè:
print("Hello, world!")
• ñëîæíûìè:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>
++.>+.+++++++..+++.>++.<<+++++++++++++++.>.
+++.------.--------.>+.>.
• è íåïîíÿòíûìè:
![Page 11: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/11.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• ìîãóò áûòü ïðîñòûìè:
print("Hello, world!")
• ñëîæíûìè:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>
++.>+.+++++++..+++.>++.<<+++++++++++++++.>.
+++.------.--------.>+.>.
• è íåïîíÿòíûìè:
![Page 12: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/12.jpg)
ßçûê ïðîãðàììèðîâàíèÿ
• ìîãóò áûòü ïðîñòûìè:
print("Hello, world!")
• ñëîæíûìè:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>
++.>+.+++++++..+++.>++.<<+++++++++++++++.>.
+++.------.--------.>+.>.
• è íåïîíÿòíûìè:
![Page 13: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/13.jpg)
Èñòîðèÿ
![Page 14: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/14.jpg)
![Page 15: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/15.jpg)
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
![Page 16: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/16.jpg)
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
![Page 17: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/17.jpg)
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
![Page 18: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/18.jpg)
Íóëåâîå ïîêîëåíèå
• (ýëåêòðî)ìåõàíè÷åñêèå
• ïðîãðàììèðóþòñÿ ñòðóêòóðîé
• óçêîñïåöèàëüíûå
• âîçìîæíîñòè ïðîãðàììèðîâàíèÿ îãðàíè÷åíû
![Page 19: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/19.jpg)
Æàêêàðäîâûé ñòàíîê
![Page 20: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/20.jpg)
Ìàøèíà Áýááèäæà
![Page 21: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/21.jpg)
Ïðîãðàììèðóåìûé òàáóëÿòîð
![Page 22: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/22.jpg)
Åãî ïðîãðàììà
![Page 23: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/23.jpg)
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
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.
![Page 24: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/24.jpg)
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
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.
![Page 25: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/25.jpg)
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
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.
![Page 26: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/26.jpg)
Ìàøèíà Òüþðèíãà
• ïðîãðàììà � íàáîð ñîñòîÿíèé è ïåðåõîäîâìàøèíû
• âõîäíûå è âûõîäíûå äàííûå çàïèñàíû íà ëåíòå
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.
![Page 27: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/27.jpg)
Àðõèòåêòóðà ôîí Íåéìàíà
ArithmeticLogicUnit
ControlUnit
Memory
Input Output
Accumulator
![Page 28: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/28.jpg)
Öèôðîâûå êîìïüþòåðû
Èäåè ìàøèíû Òüþðèíãà è ìàøèíû Ôîí Íåéìàíà îïðåäåëèëè
äàëüíåéøåå ðàçâèòèå ïðîãðàììèðîâàíèÿ:
• îäíîðîäíîñòü ïàìÿòè
• àäðåñàöèÿ ïàìÿòè
• ïðîãðàììíîå óïðàâëåíèå
• äâîè÷íîå êîäèðîâàíèå äàííûõ è ïðîãðàìì
Ïåðâûå ïðîãðàììû äëÿ öèôðîâûõ êîìïüþòåðîâ ïèñàëèñü â
ìàøèííûõ êîäàõ.
![Page 29: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/29.jpg)
Öèôðîâûå êîìïüþòåðû
Èäåè ìàøèíû Òüþðèíãà è ìàøèíû Ôîí Íåéìàíà îïðåäåëèëè
äàëüíåéøåå ðàçâèòèå ïðîãðàììèðîâàíèÿ:
• îäíîðîäíîñòü ïàìÿòè
• àäðåñàöèÿ ïàìÿòè
• ïðîãðàììíîå óïðàâëåíèå
• äâîè÷íîå êîäèðîâàíèå äàííûõ è ïðîãðàììÏåðâûå ïðîãðàììû äëÿ öèôðîâûõ êîìïüþòåðîâ ïèñàëèñü â
ìàøèííûõ êîäàõ.
![Page 30: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/30.jpg)
Àññåìáëåð
• íèçêîóðîâíåâûé ÿçûê, ñïåöèàëèçèðîâàííûéäëÿ êîíêðåòíîé àðõèòåêòóðû
• 1-ê-1 ñîîòâåòñòâèå èíñòðóêöèé ÿçûêà êìàøèííûì êîäàì
mov ah,9
mov dx,offset hello_message
int 21h
![Page 31: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/31.jpg)
Ïåðôîêàðòà
![Page 32: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/32.jpg)
Ðàííèå ÿçûêè âûñîêîãî óðîâíÿ
 êîíöå 50õ � íà÷àëå 60õ ïðîáëåìû òàêîãî ïîäõîäà ñòàëè
î÷åâèäíû, ïîâèëèñü ïåðâûå ÿçûêè âûñîêîãî óðîâíÿ:
• FORTRAN
• COBOL
![Page 33: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/33.jpg)
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.
![Page 34: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/34.jpg)
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
![Page 35: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/35.jpg)
Çîëîòîé âåê
Êîíåö 60õ � íà÷àëî 70õ.
Ïðîãðàììèðîâàíèå ïîëó÷àåò ïðèçíàíèå.
Ðåøàþòñÿ íîâûå çàäà÷è, ïîÿâëÿþòñÿ íîâûå ÿçûêè è ïîäõîäû.
• ïðîöåäóðíîå (ñòðóêòóðíîå) ïðîãðàììèðîâàíèå� Algol, C, Pascal
• îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå� Simula, Smalltalk
• ôóíêöèîíàëüíîå ïðîãðàììèðîâàííèå � LISP,ML
![Page 36: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/36.jpg)
Çîëîòîé âåê
Êîíåö 60õ � íà÷àëî 70õ.
Ïðîãðàììèðîâàíèå ïîëó÷àåò ïðèçíàíèå.
Ðåøàþòñÿ íîâûå çàäà÷è, ïîÿâëÿþòñÿ íîâûå ÿçûêè è ïîäõîäû.
• ïðîöåäóðíîå (ñòðóêòóðíîå) ïðîãðàììèðîâàíèå� Algol, C, Pascal
• îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå� Simula, Smalltalk
• ôóíêöèîíàëüíîå ïðîãðàììèðîâàííèå � LISP,ML
![Page 37: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/37.jpg)
Çîëîòîé âåê
Êîíåö 60õ � íà÷àëî 70õ.
Ïðîãðàììèðîâàíèå ïîëó÷àåò ïðèçíàíèå.
Ðåøàþòñÿ íîâûå çàäà÷è, ïîÿâëÿþòñÿ íîâûå ÿçûêè è ïîäõîäû.
• ïðîöåäóðíîå (ñòðóêòóðíîå) ïðîãðàììèðîâàíèå� Algol, C, Pascal
• îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå� Simula, Smalltalk
• ôóíêöèîíàëüíîå ïðîãðàììèðîâàííèå � LISP,ML
![Page 38: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/38.jpg)
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
![Page 39: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/39.jpg)
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
![Page 40: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/40.jpg)
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
![Page 41: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/41.jpg)
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
![Page 42: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/42.jpg)
Ñêðèïòîâûå ÿçûêè
 80õ-90õ ñ ïîÿâëåíèåì PC â ïðîãðàììèðîâàíèå ïðèõîäÿò
�ïðîñòûå ëþäè�.
Ïîÿâëÿþòñÿ íîâûå ÿçûêè:
• Perl � 1987
• Python � 1991
• Ruby � 1993
Èõ îñíîâûå îñîáåííîñòè:
• íàöåëåííûå íà áûñòðóþ ðàçðàáîòêó
• èíòåðïðåòèðóåìûå
• ñ áîãàòîé ñòàíäàðòíîé áèáëèîòåêîé
![Page 43: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/43.jpg)
Èíòåðíåò è Âåá
Âîçíèêàëè ñïåöèàëèçèðîâàííûå ÿçûêè:
• PHP
• JavaScript
Ìíîãèå ñóùåñòâóþùèå ÿçûêè íàøëè íîâûå íèøè è ñòàëè
âåá-îðèåíòèðîâàííûìè:
• Ruby
• Python
• Java
![Page 44: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/44.jpg)
Èíòåðíåò è Âåá
Âîçíèêàëè ñïåöèàëèçèðîâàííûå ÿçûêè:
• PHP
• JavaScript
Ìíîãèå ñóùåñòâóþùèå ÿçûêè íàøëè íîâûå íèøè è ñòàëè
âåá-îðèåíòèðîâàííûìè:
• Ruby
• Python
• Java
![Page 45: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/45.jpg)
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
![Page 46: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/46.jpg)
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
![Page 47: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/47.jpg)
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
![Page 48: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/48.jpg)
Æèçíåííûé öèêë ÿçûêà
• ñîçäàíèå
• early adoption
• (ïðîìûøëåííûé) óñïåõ
• óàãàñàíèå, ñìåíà äðóãèìè ÿçûêàìè
![Page 49: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/49.jpg)
×òî åñòü ÿçûê ïðîãðàììèðîâàíèÿ
![Page 50: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/50.jpg)
ßçûê ýòî
• ñèíòàêñèñ
• ñåìàíòèêà
• runtime
![Page 51: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/51.jpg)
ßçûê ýòî
• ñèíòàêñèñ
• ñåìàíòèêà
• runtime
![Page 52: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/52.jpg)
ßçûê ýòî
• ñèíòàêñèñ
• ñåìàíòèêà
• runtime
![Page 53: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/53.jpg)
Ñèíòàêñèñ
Îïðåäåëÿåò ôîðìó òåêñòîâîãî ïðåäñòàâëåíèÿ ïðîãðàìì.
• ãðàììàòèêà ÿçûêà � ôîðìàëüíàÿ, êàê ïðàâèëî� êîíòåêñòíî-ñâîáîäíàÿ (òèï 2 ïî Õîìñêîìó)
• BNF-îïèñàíèå ñèíòàêñèñà
![Page 54: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/54.jpg)
ãðàììàòèêà 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)))))
![Page 55: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/55.jpg)
ãðàììàòèêà 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)))))
![Page 56: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/56.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 57: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/57.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 58: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/58.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 59: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/59.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 60: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/60.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 61: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/61.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 62: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/62.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 63: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/63.jpg)
Ñåìàíòèêà
Ìîæåò áûòü:
• îïèñàíà íà åñòåñòâåííîì ÿçûêå
• çàäàíà ôîðìàëüíî
• îïðåäåëåíà èñõîäíîé ðåàëèçàöèåé
• îïðåäåëåíà íàáîðîì òåñòîâ
Ðàçäåëÿåòñÿ íà:
• ñòàòè÷åñêóþ
• äèíàìè÷åñêóþ
![Page 64: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/64.jpg)
Ñòàòè÷åñêàÿ ñåìàíòèêà
• ïðèäàåò ñìûñë ëåêñè÷åñêèì êîíñòðóêöèÿì
• îïðåäåëÿåò äîïóñòèìûå çíà÷åíèÿ ïåðåìåííûõè ïàðàìåòðîâ
• äîïîëíÿåò ñèíòàêñè÷åñêèå îãðàíè÷åíèÿ
![Page 65: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/65.jpg)
Ñòàòè÷åñêàÿ ñåìàíòèêà
• ïðèäàåò ñìûñë ëåêñè÷åñêèì êîíñòðóêöèÿì
• îïðåäåëÿåò äîïóñòèìûå çíà÷åíèÿ ïåðåìåííûõè ïàðàìåòðîâ
• äîïîëíÿåò ñèíòàêñè÷åñêèå îãðàíè÷åíèÿ
![Page 66: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/66.jpg)
Ñòàòè÷åñêàÿ ñåìàíòèêà
• ïðèäàåò ñìûñë ëåêñè÷åñêèì êîíñòðóêöèÿì
• îïðåäåëÿåò äîïóñòèìûå çíà÷åíèÿ ïåðåìåííûõè ïàðàìåòðîâ
• äîïîëíÿåò ñèíòàêñè÷åñêèå îãðàíè÷åíèÿ
![Page 67: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/67.jpg)
Ñåìàíòèêà ýòàïà âûïîëíåíèÿ
• îïðåäåëÿåò îáùèé õàðàêòåð âûïîëíåíèÿïðîãðàììû
• îïèñûâàåò, êàê ðàáîòàþò âñòðîåííûå îïåðàöèè
• çàäàåò òðåáîâàíèÿ äëÿ èíòåðïðåòàòîðà /ðàíòàéìà
![Page 68: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/68.jpg)
Ñåìàíòèêà ýòàïà âûïîëíåíèÿ
• îïðåäåëÿåò îáùèé õàðàêòåð âûïîëíåíèÿïðîãðàììû
• îïèñûâàåò, êàê ðàáîòàþò âñòðîåííûå îïåðàöèè
• çàäàåò òðåáîâàíèÿ äëÿ èíòåðïðåòàòîðà /ðàíòàéìà
![Page 69: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/69.jpg)
Ñåìàíòèêà ýòàïà âûïîëíåíèÿ
• îïðåäåëÿåò îáùèé õàðàêòåð âûïîëíåíèÿïðîãðàììû
• îïèñûâàåò, êàê ðàáîòàþò âñòðîåííûå îïåðàöèè
• çàäàåò òðåáîâàíèÿ äëÿ èíòåðïðåòàòîðà /ðàíòàéìà
![Page 70: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/70.jpg)
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
![Page 71: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/71.jpg)
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
![Page 72: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/72.jpg)
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
![Page 73: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/73.jpg)
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
![Page 74: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/74.jpg)
Ñèñòåìà òèïîâ
• òèïèçèðîâàííûé èëè íåòèïèçèðîâàííûé ÿçûê
• ñòàòè÷åñêàÿ èëè äèíàìè÷åñêàÿ òèïèçàöèÿ
• ñòðîãàÿ èëè ñëàáàÿ òèïèçàöèÿ
![Page 75: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/75.jpg)
Ïàðàäèãìà
• ñ ãðå÷åñêîãî � øàáëîí, ïðèìåð, îáðàçåö
• ñèñòåìà èäåé è ïîíÿòèé, îïðåäåëÿþùèõ ñòèëüíàïèñàíèÿ êîìïüþòåðíûõ ïðîãðàìì (wiki)
• ÿçûê "áëàãîâîëèò"îäíîé èëè íåñêîëüêèìïàðàäèãìàì (ìóëüòèïàðàäèãìåííîñòü)
![Page 76: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/76.jpg)
Ïàðàäèãìà
• ñ ãðå÷åñêîãî � øàáëîí, ïðèìåð, îáðàçåö
• ñèñòåìà èäåé è ïîíÿòèé, îïðåäåëÿþùèõ ñòèëüíàïèñàíèÿ êîìïüþòåðíûõ ïðîãðàìì (wiki)
• ÿçûê "áëàãîâîëèò"îäíîé èëè íåñêîëüêèìïàðàäèãìàì (ìóëüòèïàðàäèãìåííîñòü)
![Page 77: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/77.jpg)
Ïàðàäèãìà
• ñ ãðå÷åñêîãî � øàáëîí, ïðèìåð, îáðàçåö
• ñèñòåìà èäåé è ïîíÿòèé, îïðåäåëÿþùèõ ñòèëüíàïèñàíèÿ êîìïüþòåðíûõ ïðîãðàìì (wiki)
• ÿçûê "áëàãîâîëèò"îäíîé èëè íåñêîëüêèìïàðàäèãìàì (ìóëüòèïàðàäèãìåííîñòü)
![Page 78: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/78.jpg)
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
![Page 79: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/79.jpg)
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
![Page 80: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/80.jpg)
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
![Page 81: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/81.jpg)
Ãëàâíûå ïàðàäèãìû• èìïåðàòèâíàÿ: ïðîãðàììà � íàáîðïîñëåäîâàòåëüíûõ èíñòðóêöèé, èçìåíÿþùèõâíóòðåííå ñîñòîÿíèå âû÷èñëèòåëÿ
• ôóíêöèîíàëüíàÿ: ïðîãðàììà � íàáîðìàòåìàòè÷åñêèõ ôóíêöèé, ðàáîòà ïðîãðàììû� âû÷èñëåíèå çíà÷åíèÿ ôóíêöèé
• îáúåêòíî-îðèåíòèðîâàííàÿ: ïðåäìåòíàÿîáëàñòü îïèñûâàåòñÿ ïðè ïîìîùè îáúåêòîâ ñîñâîéñòâàìè è ìåòîäàìè, ïðîãðàììà � ïðîöåññâçàèìîäåéñòâèå îáúåêòîâ
• ëîãè÷åñêàÿ: ïðîãðàììà � íàáîð óòâåðæäåíèé îïðåäìåòíîé îáëàñòè, ðàáîòà ïðîãðàììû �óñòàíîâëåíèå èñòèííîñòè âûñêàçûâàíèé
![Page 82: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/82.jpg)
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
![Page 83: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/83.jpg)
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
![Page 84: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/84.jpg)
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
![Page 85: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/85.jpg)
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
![Page 86: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/86.jpg)
Runtime
Ïðîãðàììà ìîæåò âûïîëíÿòüñÿ ïî-ðàçíîìó:
• èíòåðïðåòàöèÿ � ÷òåíèå èñõîäíîãî êîäà âìîìåíò çàïóñêà
• êîìïèëÿöèÿ â ìàøèííûé êîä � îòäåëüíûé øàãäî çàïóñêà
• áàéò-êîìïèëÿöèÿ è âûïîëíåíèå â âèðòóàëüíîéìàøèíå
Ýòè òåõíèêè ìîãóò êîìáèíèðîâàòüñÿ � èíòåðïðåòàòîð ìîæåò
êîìïèëèðîâàòü "íà ëåòó äèíàìè÷åñêè-ñãåíåðèðîâàííûé êîä
ìîæåò èíòåðïðåòèðîâàòüñÿ áåç êîìïèëÿöèè.
![Page 87: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/87.jpg)
Ïðåäñòàâèòåëè
![Page 88: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/88.jpg)
![Page 89: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/89.jpg)
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
![Page 90: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/90.jpg)
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
![Page 91: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/91.jpg)
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
![Page 92: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/92.jpg)
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
![Page 93: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/93.jpg)
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
![Page 94: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/94.jpg)
• ñîçäàí â 1972 ãîäó
• ñîçäàòåëè � Äåííèñ Ðèò÷è (Dennis Ritchie) èêîëëåãè
• èìïåðàòèâíûé
• êîìïèëèðóåìûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• ðó÷íîå óïðàâëåíèå ïàìÿòüþ
![Page 95: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/95.jpg)
Äî ñèõ ïîð êðàéíå àêòóàëåí, èñïîëüçóåòñÿ äëÿ:
• ñèñòåìíîãî ïðîãðàììèðîâàíèÿ (íàïðèìåð,Linux)
• number-crunching
• ïðîãðàììèðîâàíèÿ ìèêðîêîíòðîëëåðîâ èâñòðàèâàåìûõ ñèñòåì
![Page 96: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/96.jpg)
Äî ñèõ ïîð êðàéíå àêòóàëåí, èñïîëüçóåòñÿ äëÿ:
• ñèñòåìíîãî ïðîãðàììèðîâàíèÿ (íàïðèìåð,Linux)
• number-crunching
• ïðîãðàììèðîâàíèÿ ìèêðîêîíòðîëëåðîâ èâñòðàèâàåìûõ ñèñòåì
![Page 97: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/97.jpg)
Äî ñèõ ïîð êðàéíå àêòóàëåí, èñïîëüçóåòñÿ äëÿ:
• ñèñòåìíîãî ïðîãðàììèðîâàíèÿ (íàïðèìåð,Linux)
• number-crunching
• ïðîãðàììèðîâàíèÿ ìèêðîêîíòðîëëåðîâ èâñòðàèâàåìûõ ñèñòåì
![Page 98: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/98.jpg)
C � ïðèìåðû
Hello world:
#include <stdio.h>
int main(void)
{
printf("Hello, world!\n");
return 0;
}
![Page 99: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/99.jpg)
![Page 100: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/100.jpg)
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 101: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/101.jpg)
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 102: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/102.jpg)
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 103: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/103.jpg)
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 104: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/104.jpg)
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 105: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/105.jpg)
• ñîçäàí â 1995 ãîäó
• ñîçäàòåëè � Äæåéìñ Ãîñëèíã (James Gosling) èSun Microsystems
• îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé
• ñòðîãî- è ñòàòè÷åñêè-òèïèçèðîâàííûé
• áàéò-êîìïèëèðóåìûé ñ âèðòóàëüíîé ìàøèíîé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 106: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/106.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåìÑòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
![Page 107: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/107.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåìÑòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
![Page 108: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/108.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåì
Ñòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
![Page 109: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/109.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåì
Ñòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
![Page 110: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/110.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ïðèêëàäíîãî ïðîãðàììèðîâàíèÿ, â ò.÷.âåá-ïðîãðàììèðîâàíèÿ
• âñòðàèâàåìûõ ñèñòåì
• âûñîêîíàãðóæåííûé ñèñòåìÑòîèò îòëè÷àòü ñïåöèôèêàöèè ÿçûêà Java è ðàçëè÷íûå
ðåàëèçàöèè JVM: � Sun JDK, IBM JDK, OpenJDK, etc
![Page 111: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/111.jpg)
Java � ïðèìåðû
Hello world:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
![Page 112: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/112.jpg)
![Page 113: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/113.jpg)
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 114: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/114.jpg)
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 115: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/115.jpg)
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 116: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/116.jpg)
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 117: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/117.jpg)
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 118: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/118.jpg)
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 119: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/119.jpg)
• LISt Processor
• ñîçäàí â 1958 ãîäó
• ñîçäàòåëè � Äæîí Ìàêêàðòè
• ÷èñòûé ôóíêöèîíàëüíûé ÿçûê
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• êàê ïðàâèëî, èíòåðïðåòèðóåìûé
• íåò äîñòóïà ê ïàìÿòè, àâòîìàòè÷åñêàÿ ñáîðêàìóñîðà
![Page 120: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/120.jpg)
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
![Page 121: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/121.jpg)
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
![Page 122: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/122.jpg)
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
![Page 123: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/123.jpg)
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
![Page 124: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/124.jpg)
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
![Page 125: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/125.jpg)
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
![Page 126: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/126.jpg)
Èñïîëüçóåòñÿ äëÿ:
• íàó÷íîãî ïðîãðàììèðîâàíèÿ è èññëåäîâàíèé
• èñêóñòâåííîãî èíòåëëåêòà
• âñåãî, ÷åãî óãîäíî
Ìíîæåñòâî ðåàëèçàöèé è äèàëåêòîâ:
• CommonLisp � êëàññè÷åñêàÿ ðåàëèçàöèÿ
• Scheme � óïðîùåííû äèàëåêò
• Clojure � ðàáîòàåò ïîâåðõ JVM
![Page 127: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/127.jpg)
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)))))
![Page 128: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/128.jpg)
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)))))
![Page 129: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/129.jpg)
![Page 130: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/130.jpg)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
![Page 131: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/131.jpg)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
![Page 132: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/132.jpg)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
![Page 133: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/133.jpg)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
![Page 134: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/134.jpg)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
![Page 135: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/135.jpg)
• Monty Python's Flying Circus
• ñîçäàí â 1991 ãîäó
• ñîçäàòåëü � Guido van Rossum
• ìóëüòèïàðàäèãìåííûé,îáúåêòíî-îðèåíòèðîâàííûé, èìïåðàòèâíûé,ôóíêöèîíàëüíûé
• ñòðîãî- è äèíàìè÷åñêè-òèïèçèðîâàííûé
• èíòåðïðåòèðóåìûé, áàéò-êîìïèëèðóåìûé ñâèðòóàëüíîé ìàøèíîé (â çàâèñèìîñòè îòðåàëèçàöèè)
![Page 136: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/136.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
![Page 137: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/137.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
![Page 138: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/138.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
![Page 139: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/139.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
![Page 140: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/140.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
![Page 141: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/141.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
![Page 142: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/142.jpg)
Èñïîëüçóåòñÿ äëÿ:
• ñêðèïòîâîãî ïðîãðàììèðîâàíèÿ
• âåá-ïðîãðàììèðîâàíèÿ
• íàó÷íîãî ïðîãðàììèðîâàíèÿ
Python � ñïåöèôèêàöèÿ ÿçûêà, ðåàëèçàöèè:
• CPython � îñíîâíàÿ (reference)
• Jython � ïîâåðõ JVM
• PyPy � Python in Python
![Page 143: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/143.jpg)
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
![Page 144: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/144.jpg)
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
![Page 145: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/145.jpg)
Âûáîð ÿçûêà ïîä çàäà÷ó
![Page 146: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/146.jpg)
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
![Page 147: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/147.jpg)
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
![Page 148: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/148.jpg)
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
![Page 149: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/149.jpg)
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
![Page 150: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/150.jpg)
Ýêîñèñòåìà
• ñðåäñòâà ðàçðàáîòêè (IDE)
• áèáëèîòåêè è ôðåéìâîðêè
• òåñòîâûå ôðåéìâîðêè è èíñòðóìåíòû
• ñèñòåìû ïàêåòèðîâàíèÿ è ðàçâåðòûâàíèÿ
• êîììüþíèòè
![Page 151: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/151.jpg)
Ïîïóëÿðíîñòü
![Page 152: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/152.jpg)
Ñêîðîñòü îáó÷åíèÿ
![Page 153: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/153.jpg)
Íèøåâîñòü ÿçûêîâ
![Page 154: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/154.jpg)
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
![Page 155: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/155.jpg)
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
![Page 156: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/156.jpg)
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
![Page 157: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/157.jpg)
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
![Page 158: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/158.jpg)
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
![Page 159: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/159.jpg)
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
![Page 160: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/160.jpg)
Íàïðèìåð
• âåá-ïðèëîæåíèå
• âçàèìîäåéñòâèå ñ áàçîé äàííûõ
• âíóòðåííèé ñåðâèñ â êàìïàíèè
• íèçêàÿ íàãðóçêà
• áûñòðàÿ ðàçðàáîòêà
Íàø âûáîð � Python èëè Ruby
![Page 161: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/161.jpg)
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
![Page 162: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/162.jpg)
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
![Page 163: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/163.jpg)
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
![Page 164: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/164.jpg)
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
![Page 165: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/165.jpg)
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
![Page 166: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/166.jpg)
Íàïðèìåð
• áèëëèíãîâàÿ ñèñòåìà ñîòîâîãî îïåðàòîðà
• òûñÿ÷è îïåðàöèé â ñåêóíäó
• âûñîêàÿ íàäåæíîñòü è îòêàçîóñòîé÷èâîñòü
• ãèáêîñòü â êîíôèãóðàöèè, äèàãíîñòèêàïðîáëåì
Íàø âûáîð � Java, C++, Erlang
![Page 167: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/167.jpg)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
![Page 168: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/168.jpg)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
![Page 169: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/169.jpg)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
![Page 170: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/170.jpg)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
![Page 171: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/171.jpg)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
![Page 172: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/172.jpg)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
![Page 173: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/173.jpg)
Íàïðèìåð
• êîä áîðòîâîé ÝÂÌ äëÿ ñïóòíèêà
• îãðàíè÷åííûå ðåñóðñû
• æåñòêîå ðåàëüíîå âðåìÿ
• ñòðîãî èçâåñòíûå çàäà÷è
• áîëüøîå êîëè÷åñòâî âû÷èñëåíèé
Íàø âûáîð � Ñ è Ñ-ïîäîáíûå ÿçûêè (èëè äàæå àññåìáëåð)
![Page 174: Иван Калинин - Как правильно выбрать язык программирования](https://reader033.vdocuments.pub/reader033/viewer/2022050919/546657b6af79594a1f8b57fc/html5/thumbnails/174.jpg)
Ñïàñèáî çà âíèìàíèå!
Âîïðîñû?