Антон Евгеньевич Москаль (kouzdra) - Обзорный курс по языкам программирования
Название: | Обзорный курс по языкам программирования | |
Автор: | Антон Евгеньевич Москаль (kouzdra) | |
Жанр: | Базы данных | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Обзорный курс по языкам программирования"
Опубликовано на
Читаем онлайн "Обзорный курс по языкам программирования". Главная страница.
Îáçîðíûé êóðñ ïî ÿçûêàì ïðîãðàììèðîâàíèÿ
Àíòîí Ìîñêàëü
17 ÿíâàðÿ 2003 ã.
Îãëàâëåíèå
1
2
Îñíîâíûå êîíöåïöèè ÿçûêîâ ïðîãðàììèðîâàíèÿ
2
1.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.1
ïåðåõîäû, õâîñòîâàÿ ðåêóðñèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.2
if, match
2
1.1.3
öèêëû,
1.1.4
èñêëþ÷åíèÿ
Óïðàâëÿþùèå êîíñòðóêöèè
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
while
÷åðåç ðåêóðñèþ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
ßçûêè ïðîãðàììèðîâàíèÿ
3
2.1
3
2.2
2.3
2.4
ßçûêè àññåìáëåðà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PDP-11
2.1.1
Ñèñòåìà êîìàíä
2.1.2
Ìåòêè, ëîêàëüíûå ìåòêè, îïåðàòîðû ïðèñâàèâàíèÿ è ñåêöèîíèðîâàíèÿ . . . . . . . . .
5
2.1.3
Ìàêðîñðåäñòâà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.4
Ìèíèìàëüíàÿ àðõèòåêòóðà:
ßçûê
C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PDP-8
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2.1
CPL, BCPL,
ñîçäàíèå
B
2.2.2
Îïèñàíèå
B
2.2.3
PDP-11 :
2.2.4
Äàëüíåéøàÿ ýâîëþöèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Ýâîëþöèÿ
Ôóíêöèîíàëüíûå ÿçûêè
B
â
C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
C
λ-èñ÷èñëåíèÿ
2.3.1
Îñíîâíûå ïîíÿòèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.2
LISP, Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.3
ML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.4
ëåíèâûå ÿçûêè: Haskell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.5
Ââîä-âûâîä â ÷èñòî ôóíêöèîíàëüíûõ ÿçûêàõ, ëèíåéíûå òèïû â Clean
. . . . . . . . .
6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.1
Simula-67 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.2
SmallTalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.3
Self: Áåcêëàññîâûé ÎÎ-ÿçûê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.4
Ðàçëè÷íûå âèäû íàñëåäîâàíèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.5
Ìóëüòèìåòîäû: ßçûê Cecil
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Îáúåêòíî-îðèåíòèðîâàííûå ÿçûêè
1
Ãëàâà 1
Îñíîâíûå êîíöåïöèè ÿçûêîâ
ïðîãðàììèðîâàíèÿ
1.1
Óïðàâëÿþùèå êîíñòðóêöèè
1.1.1
ïåðåõîäû, õâîñòîâàÿ ðåêóðñèÿ
1.1.2
if, match
1.1.3
öèêëû,
1.1.4
èñêëþ÷åíèÿ
while
÷åðåç ðåêóðñèþ
2
Ãëàâà 2
ßçûêè ïðîãðàììèðîâàíèÿ
2.1
ßçûêè àññåìáëåðà
ßçûêè àññåìáëåðà ÿâëÿþòñÿ ÿçûêàìè íèçêîãî óðîâíÿ, ïðåäíàçíà÷åííûìè äëÿ ïðîãðàììèðîâàíèÿ â òåðìèíàõ ìàøèííûõ êîìàíä. Íàèáîëåå ñóùåñòâåííûìè èõ îñîáåííîñòÿìè ÿâëÿþòñÿ:
•
ïðÿìîå ñîîòâåòñòâèå îïåðàòîðîâ àññåìáëåðà è ìàøèííûõ êîìàíä
•
ñðåäñòâà, ïîçâîëÿþùèå äåòàëüíî óïðàâëÿòü ðàçìåùåíèåì ïðîãðàììû è äàííûõ â ïàìÿòè
•
ìàêðîñðåäñòâà, ïîçâîëÿþùèå ñîçäàâàòü ïñåâäîêîìàíäû íåñêîëüêî áîëåå âûñîêîãî óðîâíÿ, íåæåëè
ìàøèííûå îïåðàöèè
 ñâîå âðåìÿ ÿçûêè àññåìáëåðà èñïîëüçîâàëèñü êàê ÿçûêè äëÿ ñèñòåìíîãî ïðîãðàììèðîâàíèÿ: íà íèõ
ïèñàëèñü îïåðàöèîííûå ñèñòåìû, êîìïèëÿòîðû è ïðîñòî ñòàíäàðòíûå óòèëèòû. Âûçûâàëîñü ýòî ñ îäíîé
ñòîðîíû íåäîñòàòêîì ãèáêîñòè òîãäàøíèõ ÿçûêîâ âûñîêîãî óðîâíÿ, ñ äðóãîé ñòîðîíû êðàéíåé îãðàíè÷åííîñòüþ ðåñóðñîâ. Àññåìáëåð ïîçâîëÿåò âûæàòü èç àïïàðàòóðû ìàêñèìóì âîçìîæíîãî, îñîáåííî,
ïîêà îáúåìû ïðîãðàìì ñðàâíèòåëüíî íåâåëèêè è ïðîáëåìû, ñâÿçàííûå ñî ñëîæíîñòüþ è óïðàâëÿåìîñòüþ
ïðîåêòà íå íà÷èíàþò ñòàíîâèòüñÿ îïðåäåëÿþùèìè.
À íà ìàøèíàõ, ó êîòîðûõ îáúåì ïàìÿòè èñ÷èñëÿëñÿ òûñÿ÷àìè, â ëó÷øåì ñëó÷àå äåñÿòêàìè òûñÿ÷
ñëîâ, îíè íå ìîãëè áûòü âåëèêè.
Ñî âðåìåíåì îáëàñòü ïðèìåíåíèÿ àññåìáëåðà ñóæàëàñü, è â íàñòîÿùèé ìîìåíò îíà îãðàíè÷åíà ïðîãðàììèðîâàíèåì êðèòè÷åñêèõ ïî ýôôåêòèâíîñòè ôðàãìåíòîâ êîäà (÷àñòî ïåðåïèñûâàíèå íåñêîëüêèõ äåñÿòêîâ
ñòðîê êðèòè÷åñêîãî ó÷àñòêà êîäà íà àññåìáëåð ñïîñîáíî äàòü âûèãðûø â ñêîðîñòè â íåñêîëüêî ðàç, èíîãäà
íà ïîðÿäêè), îñîáåííî, åñëè òàì âîçìîæíî èñïîëüçîâàíèå ñïåöèàëèçèðîâàííûõ êîìàíä, íàïîäîáèå --">
Àíòîí Ìîñêàëü
17 ÿíâàðÿ 2003 ã.
Îãëàâëåíèå
1
2
Îñíîâíûå êîíöåïöèè ÿçûêîâ ïðîãðàììèðîâàíèÿ
2
1.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.1
ïåðåõîäû, õâîñòîâàÿ ðåêóðñèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.2
if, match
2
1.1.3
öèêëû,
1.1.4
èñêëþ÷åíèÿ
Óïðàâëÿþùèå êîíñòðóêöèè
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
while
÷åðåç ðåêóðñèþ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
ßçûêè ïðîãðàììèðîâàíèÿ
3
2.1
3
2.2
2.3
2.4
ßçûêè àññåìáëåðà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PDP-11
2.1.1
Ñèñòåìà êîìàíä
2.1.2
Ìåòêè, ëîêàëüíûå ìåòêè, îïåðàòîðû ïðèñâàèâàíèÿ è ñåêöèîíèðîâàíèÿ . . . . . . . . .
5
2.1.3
Ìàêðîñðåäñòâà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.4
Ìèíèìàëüíàÿ àðõèòåêòóðà:
ßçûê
C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PDP-8
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2.1
CPL, BCPL,
ñîçäàíèå
B
2.2.2
Îïèñàíèå
B
2.2.3
PDP-11 :
2.2.4
Äàëüíåéøàÿ ýâîëþöèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Ýâîëþöèÿ
Ôóíêöèîíàëüíûå ÿçûêè
B
â
C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
C
λ-èñ÷èñëåíèÿ
2.3.1
Îñíîâíûå ïîíÿòèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.2
LISP, Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.3
ML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.4
ëåíèâûå ÿçûêè: Haskell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.5
Ââîä-âûâîä â ÷èñòî ôóíêöèîíàëüíûõ ÿçûêàõ, ëèíåéíûå òèïû â Clean
. . . . . . . . .
6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.1
Simula-67 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.2
SmallTalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.3
Self: Áåcêëàññîâûé ÎÎ-ÿçûê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.4
Ðàçëè÷íûå âèäû íàñëåäîâàíèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.4.5
Ìóëüòèìåòîäû: ßçûê Cecil
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Îáúåêòíî-îðèåíòèðîâàííûå ÿçûêè
1
Ãëàâà 1
Îñíîâíûå êîíöåïöèè ÿçûêîâ
ïðîãðàììèðîâàíèÿ
1.1
Óïðàâëÿþùèå êîíñòðóêöèè
1.1.1
ïåðåõîäû, õâîñòîâàÿ ðåêóðñèÿ
1.1.2
if, match
1.1.3
öèêëû,
1.1.4
èñêëþ÷åíèÿ
while
÷åðåç ðåêóðñèþ
2
Ãëàâà 2
ßçûêè ïðîãðàììèðîâàíèÿ
2.1
ßçûêè àññåìáëåðà
ßçûêè àññåìáëåðà ÿâëÿþòñÿ ÿçûêàìè íèçêîãî óðîâíÿ, ïðåäíàçíà÷åííûìè äëÿ ïðîãðàììèðîâàíèÿ â òåðìèíàõ ìàøèííûõ êîìàíä. Íàèáîëåå ñóùåñòâåííûìè èõ îñîáåííîñòÿìè ÿâëÿþòñÿ:
•
ïðÿìîå ñîîòâåòñòâèå îïåðàòîðîâ àññåìáëåðà è ìàøèííûõ êîìàíä
•
ñðåäñòâà, ïîçâîëÿþùèå äåòàëüíî óïðàâëÿòü ðàçìåùåíèåì ïðîãðàììû è äàííûõ â ïàìÿòè
•
ìàêðîñðåäñòâà, ïîçâîëÿþùèå ñîçäàâàòü ïñåâäîêîìàíäû íåñêîëüêî áîëåå âûñîêîãî óðîâíÿ, íåæåëè
ìàøèííûå îïåðàöèè
 ñâîå âðåìÿ ÿçûêè àññåìáëåðà èñïîëüçîâàëèñü êàê ÿçûêè äëÿ ñèñòåìíîãî ïðîãðàììèðîâàíèÿ: íà íèõ
ïèñàëèñü îïåðàöèîííûå ñèñòåìû, êîìïèëÿòîðû è ïðîñòî ñòàíäàðòíûå óòèëèòû. Âûçûâàëîñü ýòî ñ îäíîé
ñòîðîíû íåäîñòàòêîì ãèáêîñòè òîãäàøíèõ ÿçûêîâ âûñîêîãî óðîâíÿ, ñ äðóãîé ñòîðîíû êðàéíåé îãðàíè÷åííîñòüþ ðåñóðñîâ. Àññåìáëåð ïîçâîëÿåò âûæàòü èç àïïàðàòóðû ìàêñèìóì âîçìîæíîãî, îñîáåííî,
ïîêà îáúåìû ïðîãðàìì ñðàâíèòåëüíî íåâåëèêè è ïðîáëåìû, ñâÿçàííûå ñî ñëîæíîñòüþ è óïðàâëÿåìîñòüþ
ïðîåêòà íå íà÷èíàþò ñòàíîâèòüñÿ îïðåäåëÿþùèìè.
À íà ìàøèíàõ, ó êîòîðûõ îáúåì ïàìÿòè èñ÷èñëÿëñÿ òûñÿ÷àìè, â ëó÷øåì ñëó÷àå äåñÿòêàìè òûñÿ÷
ñëîâ, îíè íå ìîãëè áûòü âåëèêè.
Ñî âðåìåíåì îáëàñòü ïðèìåíåíèÿ àññåìáëåðà ñóæàëàñü, è â íàñòîÿùèé ìîìåíò îíà îãðàíè÷åíà ïðîãðàììèðîâàíèåì êðèòè÷åñêèõ ïî ýôôåêòèâíîñòè ôðàãìåíòîâ êîäà (÷àñòî ïåðåïèñûâàíèå íåñêîëüêèõ äåñÿòêîâ
ñòðîê êðèòè÷åñêîãî ó÷àñòêà êîäà íà àññåìáëåð ñïîñîáíî äàòü âûèãðûø â ñêîðîñòè â íåñêîëüêî ðàç, èíîãäà
íà ïîðÿäêè), îñîáåííî, åñëè òàì âîçìîæíî èñïîëüçîâàíèå ñïåöèàëèçèðîâàííûõ êîìàíä, íàïîäîáèå --">
Книги схожие с «Обзорный курс по языкам программирования» по жанру, серии, автору или названию:
Антон Евгеньевич Москаль (kouzdra), Олег Анатольевич Плисс, Андрей Николаевич Терехов и др. - Обзор и сравнительный анализ языков программирования Жанр: Базы данных |
Антон Евгеньевич Москаль (kouzdra) - Представление связи исходного и выходного текстов при автоматическом порождении текстов программ Жанр: Базы данных |
Антон Евгеньевич Москаль (kouzdra), Олег Анатольевич Плисс, Ольга Витальевна Кононова - Расширенный макропроцессор для языка C/C++ Жанр: Базы данных |
Михаил Васильевич Шохирев - Язык программирования Perl Жанр: Perl Год издания: 2006 |
Другие книги автора «Антон Москаль»:
Антон Евгеньевич Москаль (kouzdra) - Представление связи исходного и выходного текстов при автоматическом порождении текстов программ Жанр: Базы данных |
Антон Евгеньевич Москаль (kouzdra), Олег Анатольевич Плисс, Андрей Николаевич Терехов и др. - Обзор и сравнительный анализ языков программирования Жанр: Базы данных |