çàâèñèìîñòè îò íàçíà÷åíèÿ è/èëè ñïîñîáà íàïèñàíèÿ ïðîãðàìì ðàçëè÷àþò:
Ïðèêëàäíîå ïðîãðàììèðîâàíèå (application programming) – ðàçðàáîòêà è îòëàäêà ïðîãðàìì äëÿ êîíå÷íûõ ïîëüçîâàòåëåé, íàïðèìåð áóõãàëòåðñêèõ, îáðàáîòêè òåêñòîâ è ò.ï.
Ñèñòåìíîå ïðîãðàììèðîâàíèå (system programming) – ðàçðàáîòêà ñðåäñòâ îáùåãî ïðîãðàììíîãî îáåñïå÷åíèÿ, â òîì ÷èñëå îïåðàöèîííûõ ñèñòåì, âñïîìîãàòåëüíûõ ïðîãðàìì, ïàêåòîâ ïðîãðàìì îáùåñèñòåìíîãî íàçíà÷åíèÿ, íàïðèìåð: àâòîìàòèçèðîâàííûõ ñèñòåì óïðàâëåíèÿ, ñèñòåì óïðàâëåíèÿ áàçàìè äàííûõ è ò.ä.
Äåêëàðàòèâíîå (ëîãè÷åñêîå, ïðîäóêöèîííîå) ïðîãðàììèðîâàíèå (declarative programming, logical programming) – ìåòîä ïðîãðàììèðîâàíèÿ, ïðåäíàçíà÷åííûé äëÿ ðåøåíèÿ çàäà÷ èñêóññòâåííîãî èíòåëëåêòà.  óêàçàííîì êîíòåêñòå ïðîãðàììà îïèñûâàåò ëîãè÷åñêóþ ñòðóêòóðó ðåøåíèÿ çàäà÷è, óêàçûâàÿ ïðåèìóùåñòâåííî, ÷òî íóæíî ñäåëàòü, íå âäàâàÿñü â äåòàëè, êàê ýòî äåëàåòñÿ. Èñïîëüçóþòñÿ ÿçûêè ïðîãðàììèðîâàíèÿ òèïà Ïðîëîã.
Îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå, îáúåêòíîå ïðîãðàììèðîâàíèå, ÎÎÏ (OOP – Object-Oriented Programming) – ìåòîä ïðîãðàììèðîâàíèÿ, îñíîâàííûé íà èñïîëüçîâàíèè êîíöåïöèè îáúåêòà, àáñòðàãèðóþùåãî êîíêðåòíûå åãî ðåàëèçàöèè â ïðåäìåòíîé îáëàñòè. Ïðè ýòîì äàííûå òåñíî ñâÿçûâàþòñÿ ñ âûïîëíÿåìûìè íàä îáúåêòàìè ïðîöåäóðàìè. Íàïðèìåð, êðóã íà ýêðàíå ìîíèòîðà ìîæåò ðàññìàòðèâàòüñÿ êàê îáúåêò, äàííûå î êîòîðîì õàðàêòåðèçóþò ïîëîæåíèå (êîîðäèíàòû) öåíòðà, âåëè÷èíó ðàäèóñà, òîëùèíó è öâåò ëèíèè. Ïðîöåäóðû, ñâÿçàííûå ñ ýòèì îáúåêòîì, – ïåðåìåùåíèå, èçìåíåíèå ðàçìåðà, ñòèðàíèå è ò.ä. Îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå ðàçðàáàòûâàëîñü è óñîâåðøåíñòâîâàëîñü â 1960–1970-õ ãã.  íàñòîÿùåå âðåìÿ èñïîëüçóåòñÿ â ðÿäå ÿçûêîâ ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ (Ñè++, Java, Ñìîëòîê, ObjectLisp è äð).
Ïàðàëëåëüíîå ïðîãðàììèðîâàíèå (concurrent programming) – ðàçðàáîòêà ïðîãðàìì, îáåñïå÷èâàþùèõ îäíîâðåìåííîå (ïàðàëëåëüíîå) âûïîëíåíèå îïåðàöèé, ñâÿçàííûõ ñ îáðàáîòêîé äàííûõ.
Ïðîöåäóðíîå (ïðîöåäóðíî-îðèåíòèðîâàííîå) ïðîãðàììèðîâàíèå (procedure-oriented programming) – ìåòîä ïðîãðàììèðîâàíèÿ, â ñîîòâåòñòâèè ñ êîòîðûì ïðîãðàììû ïèøóòñÿ êàê ïåðå÷íè ïîñëåäîâàòåëüíî âûïîëíÿåìûõ êîìàíä. Ïðè ýòîì èñïîëüçóþòñÿ ïðîöåäóðíî-îðèåíòèðîâàííûå ÿçûêè ïðîãðàììèðîâàíèÿ.
Ñòðóêòóðíîå ïðîãðàììèðîâàíèå, ìîäóëüíîå ïðîãðàììèðîâàíèå (structured programming, modular programming) – ìåòîä íàïèñàíèÿ ïðîãðàìì íåáîëüøèìè íåçàâèñèìûìè ÷àñòÿìè – ìîäóëÿìè, êàæäûé èç êîòîðûõ ñâÿçàí ñ êàêîé-ëèáî ïðîöåäóðîé èëè ôóíêöèåé. Ïðè ýòîì ðåçóëüòèðóþùàÿ ïðîãðàììà îðãàíèçóåòñÿ â âèäå ñîâîêóïíîñòè âçàèìîñâÿçàííûõ ïî îïðåäåëåííûì ïðàâèëàì ìîäóëåé. Ýòî óïðîùàåò ðàçðàáîòêó ñëîæíûõ ïðîãðàììíûõ ïðîäóêòîâ è èõ òåñòèðîâàíèå.
Ôóíêöèîíàëüíîå ïðîãðàììèðîâàíèå (functional programming) – ìåòîä ïðîãðàììèðîâàíèÿ, îñíîâàííûé íà ðàçáèåíèè àëãîðèòìà ðåøåíèÿ çàäà÷è íà îòäåëüíûå ôóíêöèîíàëüíûå ìîäóëè, à òàêæå îïèñàíèè èõ ñâÿçåé è õàðàêòåðà âçàèìîäåéñòâèÿ. Äëÿ ôóíêöèîíàëüíîãî ïðîãðàììèðîâàíèÿ íàèáîëåå øèðîêî èñïîëüçóþòñÿ ÿçûêè ÍÎÐÅ è ML. Ýëåìåíòû ôóíêöèîíàëüíîãî ïðîãðàììèðîâàíèÿ ðåàëèçóþòñÿ òàêæå äðóãèìè ÿçûêàìè, íàïðèìåð Ñè.
Ýâðèñòè÷åñêîå ïðîãðàììèðîâàíèå (hueristic programming) – ìåòîä ïðîãðàììèðîâàíèÿ, îñíîâàííûé íà ìîäåëèðîâàíèè ìûñëèòåëüíîé äåÿòåëüíîñòè ÷åëîâåêà. Èñïîëüçóåòñÿ äëÿ ðåøåíèÿ çàäà÷, íå èìåþùèõ ñòðîãî ôîðìàëèçîâàííîãî àëãîðèòìà èëè ñâÿçàííûõ ñ íåïîëíîòîé èñõîäíûõ äàííûõ.
ñòð. {SITELINK-S376}1{/SITELINK}, 2, {SITELINK-S378}3{/SITELINK}
|