лекции (2008) (by Kravets) (укороченное) (1160827), страница 2
Текст из файла (страница 2)
 ðåçóëüòàòå î÷åíü áîëüøîé, î÷åíü èíòåðåñíûé ßÏ."ßçûê PL/I áûë áû î÷åíü õîðîøèì ÿçûêîì, åñëè âûêèíóòü èç íåãî80% âîçìîæíîñòåé"(c). ÍÎ äëÿ IBM360 îí áûë óíèâåðñàëåí è îí ñòàë óíèâåðñàëüíûì ÿçûêîì ïðîãðàììèðîâàíèÿ.  åãî ïîääåðæêó áûëî âëîæåíî ïîëòîðà ìèëëèàðäà äîëëàðîâ. Íî ñåé÷àñ íà ýòîì ÿçûêå íèêòî íåïèøåò. Îí áûë ðàçðàáîòàí òîëüêî äëÿ îäíîé àðõèòåêòóðû. Ñóùåñòâîâàëè ïîïûòêè ïåðåíîñà ÿçûêà PL/I íàäðóãèå àðõèòåêòóðû íî îíè íå áûëè îñîáî óäà÷íûìè. Íàïðèìåð åãî ïîðò ïîä dîñ.ßçûê PL/I áûë î÷åíü ñëîæíûé.
Ñåé÷àñ áîëüøèíñòâî êîìïèëÿòîðîâ ìîæåò ãåíåðèðîâàòü 2 âåðñèè - îòëàäî÷íóþ è ðåëèçîâóþ, ïðè ýòîì ïîïûòêà âûïóñòèòü 2 âèäà êîìïèëÿòîðîâ äëÿ PL/I ïðîâàëèëàñü òàê êàêðåçóëüòàòû èç ðàáîòû îòëè÷àëèñü äàæå íà êîððåêòíûõ ïðîãðàììàõ (áûëà ïî ðàçíîìó ðåàëèçîâàíà ñåìàíòèêàÿçûêà).Îòñþäà ïðàâèëà - ßçûê - ñîâîêóïíîñòü âçàèìîñâÿçàííûõ êîìïðîìèññîâ(áåç êîìïðîìèññîâ íåëüçÿ).1968 - ïåðåñìîòðåííîå ñîîáùåíèå î ÀËÃÎË60. ðàçðàáîòêà ÿçûêà àëãîë 60 çàêîí÷èëàñü è íà÷àëàñü ðàáîòà íàä íîâûì ÿçûêîì ïðîãðàììèðîâàíèÿ - ÀËÃÎË68 (ÿäðî ãðóïïû - åâðîïåéöû).Îíè õîòåëè ñäåëàòüóíèâåðñàëüíûõ õîðîøèé ßÏ, ó÷òÿ îïûò ïðîøëûõ ðàçðàáîòîê ßÏ.
 îòëè÷èè îò ÀËÃÎËÀ60 ñèíòàêñèñ èÑÅÌÀÍÒÈÊÀ ÀËÃÎËÀ68 áûëè ôîðìàëüíû. W-ãðàììàòèêè äëÿ îïèñàíèÿ ñåìàíòèêè. Îðòîãîíàëüíîñòü âñìûñëå ïðîãðàììèðîâàíèÿ/äèçàéíà - èõ íåçàâèñèìîñòü. Äëÿ ßÏ ýòî îçíà÷àåò ÷òî åñòü åñòü êîíñòðóêöèÿ K èG è åñëè îíè îðòîãîíàëüíû òî îíè ìîãóò ñóùåñòâîâàòü â ëþáîé êîìáèíàöèè. Íàïðèìåð ïàñêàëü íå ÿâëÿåòñÿîðòîãîíàëüíûì ßÏfor i:=e1 to e2 doçäåñü äëÿ ïðèñâàèâàíèÿ äîñòóïíà òîëüêî öåëî÷èñëåííàÿ ïåðåìåííàÿ,êîãäà êàê â äðóãèõ ñëó÷àÿ ýòî íå òàê.Íåêàÿ íå îðòîãîíàëüíîñòü çàëîæåíà óæå â êîíöåïöèþ Ôîí-íåéìîâñêèõ ßÏ.  Àëãîëå68 áûëà ñòåðòà ðàçíèöà ìåæäó îïåðàòîðîì è îïåðàöèåé ( âñå âîçâðàùàåò çíà÷åíèå, ëþáîé îïåðàòîð èìååò çíà÷åíèå) òî åñòüîïåðàòîðû è îïåðàöèè ñòàëè îðòîãîíàëüíû.
Ýòîò ÿçûê ïîâëèÿë íà Ñ.Ïðèíöèï îðòîãîíàëüíîñòè êðàñèâ(ïðîãðàììû íà ÀËÃÎËÅ68 áûëè î÷åíü êðàñèâûå è êîìïàêòíûå), îíìíîãèå êîíñòðóêöèè òàêîãî ßÏ áåññìûñëåííû è ïîòåíöèàëüíî ñîäåðæàò îøèáêè êîòîðûå ñëîæíî íàéòè,ïîýòîìó W-ãðàììàòèêè ñåé÷àñ ïî÷òè íå ïðèìåíÿþòñÿ. Òðàíñëÿòîðû ýòîãî ÿçûêà ðàáîòàëè êðàéíå ìåäëåííî- âïëîòü äî íåñêîëüêèõ îïåðàòîðîâ â ìèíóòó.Òàê æå ýòîò ßÏ íå íàøåë ñåáå ýêîëîãè÷åñêîé íèøè ( íå ñìîã âûòåñíèòü íè îäèí èç ñòàðûõ ÿçûêîâ èç åãîíèøè).Àëãîë68 - òèïè÷íûé ìåðòâûé ÿçûê.4Ëåêöèÿ 3Àëãîë áûë î÷åíü ñëîæíûì ÿçûêîì - Òàêîé ñëîæíûé ÿçûê ïðîãðàììèðîâàíèÿ íåëüçÿ ïðåäëàãàòü ìèðîâîìóñîîáùåñòâó (ñ).Ïàðàëëåëüíî ñ ðàçðàáîòêîé ÀËÃÎËà øåë ïðîåêò ðàçðàáîòêè îïåðàöèîííîé ñèñòåìû MULTICS (ìóëüòèïðîãðàììèðîâàíèå, èñïîëüçîâàíèå âû÷èñëèòåëüíîé ñèñòåìû ìíîãèìè ïîëüçîâàòåëÿìè) ïîïûòêà ñîçäàíèÿóíèâåðñàëüíîé, ìîùíîé, êðàñèâîé ñèñòåìû. Òàê æå êàê è ñ ÀËÃÎËîì ýòà èäåÿ ïðîâàëèëàñü è ÷àñòü ó÷åíûõ,ó÷àñòâóþùèõ â ïðîåêòå îòêàçàëèñü îò ñâîåãî ó÷àñòèÿ â íåì (òàê æå êàê è ñ ïðîåêòîì ïî ðàçðàáîòêå ÿçûêàÀËÃÎË). êà÷åñòâå ïðîòèâîâåñà MULTICS Êåíò Òåìïñîí ïðåäëîæèë UNIX, ãëàâíîé èäååé êîòîðîé áûëà ïðîñòîòà(òàê æå ýòî ïåðâàÿ ÎÑ íàïèñàííàÿ â îñíîâíîì (êðîìå íåáîëüøîé ÷àñòè ÿäðà) íà ÿçûêå âûñîêîãî óðîâíÿ Ñ) êîíöå 60-õ ïðîèçîøëî íåñêîëüêî çíàêîâûõ ñîáûòèé ïîÿâëåíèÿ ÿçûêà Ñ, ÿçûêà Ïàñêàëü.
ßçûê Ïàñêàëüâûøåë è â 1969 ãîäó è âîáðàë â ñåáÿ ëó÷øåå ÷òî áûëî ïðèäóìàíî òîãäà êàñàòåëüíî ßÏ. ÐàçðàáîòàííûéÍ. Âèðòîì äëÿ îáó÷åíèÿ ñâîèõ ñòóäåíòîâ ïðîãðàììèðîâàíèþ, îí âêëþ÷àë â ñåáÿ òàêèå âîçìîæíîñòè êàêïîääåðæêó ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ è ñòðóêòóð äàííûõ. Ïàñêàëü ÿâëÿåòñÿ ÷èñòî àêàäåìè÷åñêèìÿçûêîì, òî åñòü åãî ñòàíäàðò ñîâåðøåííî íå ãîäèòñÿ äëÿ ðåàëüíîãî ïðîãðàììèðîâàíèÿ, ïðè ýòîì îí îêàçàëîãðîìíîå âëèÿíèå íà äàëüíåéøåå ðàçâèòèå ÿçûêîâ ïðîãðàììèðîâàíèÿ.
Åãî ïîòîìêè, òàêèå êàê Object Pascal,Turbo Pascal, Delphi ïîïóëÿðíû äàæå ñåé÷àñ.ßçûê Ñ ÿçûê çàíÿâøèé íèøó àññåìáëåðà.  70-å ãîäû íà÷àëè ïîÿâëÿòüñÿ áîëåå îñìûñëåííûå ïðîåêòû ïîðàçðàáîòêå ÿçûêîâ ïðîãðàììèðîâàíèÿ (áîëåå êîíöåïòóàëüíûå). ßçûêó Ñ íàçâàíèå äàë ÿçûê CPL(ðàçðàáàòûâàëñÿêàê çàìåíà àññåìáëåðó) äàëåå áûë BCPL, äàëåå B è íàêîíåö C. Ýòîò ÿçûê ðàçðàáàòûâàëñÿ ïîä êîíêðåòíóþíèøó è íå âûòåñíåí èç íåå äî ñèõ ïîð. Äàæå ñåé÷àñ ýòîò ÿçûê îñòàåòñÿ ñàìûì ïîïóëÿðíûì (14% ïî îöåíêàìâ èíòåðíåòå).ßçûê CLU (ÿçûê àáñòðàêöèè äàííûõ) Ïåðâûé ÿçûê ñ àáñòðàêöèåé äàííûõ.Ýòîò ïåðèîä ýêñòåíñèâíîãî ðàçâèòèÿ çàêîí÷èëñÿ ñîçäàíèåì òàêîãî çíàêîâîãî ÿçûêà ïðîãðàììèðîâàíèÿêàê Ìîäóëà 2.Í. Âèðòîì áûëè ðàçðàáîòàíû îñíîâíûå êîíöåïöèè ñîçäàíèÿ ßÏ.  êà÷åñòâå ïðèìåðà îí ðàçðàáîòàë ÿçûêÌîäóëà.
Íî îí íå ïðèæèëñÿ ïî íåïîíÿòíûì ïðè÷èíàì. Âèðò ìîäèôèöèðîâàë ÿçûê è â 1980 ïîëó÷èë Ìîäóëà 2. Íà ýòîì ÿçûêå ïîëíîñòüþ áûëî íàïèñàíî ÏÎ äëÿ îäíîé ãðàôè÷åñêîé ñòàíöèè. Íî ñåé÷àñ Ìîäóëà 2òîæå ìåðòâ, òàê êàê íå ñìîã ñìåñòèòü ÿçûê Ñ èç íèùè ÿçûêîâ ñèñòåìíîãî ïðîãðàììèðîâàíèÿ. 1980 ãîäó çàêîí÷èëñÿ î÷åðåäíîé î÷åðåäíîé ýòàï ðàçâèòèÿ ßÏ.×òî êàñàåòñÿ Ïàñêàëÿ òî òóò ñòîèò îáðàòèòü âíèìàíèå íà êíèãó Êåðíèãàíà Software tools in Pascal - âêîòîðîé îí ñôîðìóëèðîâàë 16 ïðè÷èí, ïî êîòîðûì ïàñêàëü íåóäîáåí äëÿ ïðîìûøëåííîãî ïðîãðàììèðîâàíèÿ.Ãëàâíîé ïðè÷èíîé áûëî îòñóòñòâèå ìîäóëüíîñòè.Òîãäà æå íà÷èíàåòñÿ òðåòèé ïðîåêò ïî ñîçäàíèþ óíèâåðñàëüíîãî ÿçûêà ïðîãðàììèðîâàíèÿ ÿçûêà Àäà. äàííîì ñëó÷àå ïîäõîä ê åãî ñîçäàíèþ áûë ñîâåðøåííî èíûì.
Èññëåäîâàíèÿ, ïðîâåäåííûå â òî âðåìÿïîêàçàëè, ÷òî ïðèìåðíî 50% ñòîèìîñòè ÏÎ - ýòî ñòîèìîñòü åãî ïîääåðæêè è ñîïðîâîæäåíèÿ. Ñëåäîâàòåëüíîîñíîâíàÿ çàäà÷à óìåíüøèòü ýòè çàòðàòû.  òî âðåìÿ â ñèñòåìå Ïåíòàãîíà áûëî îêîëî 350 ðàçëè÷íûõ ßÏè öåëüþ ïðîåêòà áûëî óìåíüøèòü ýòî ÷èñëî äî 3.Äàëåå ïîñëåäîâàëè íåñêîëüêî ëåò ðàçðàáîòêè òðåáîâàíèé ê ÿçûêó,è â 1979 ãîäó áûëè ãîòîâû îðèãèíàëüíûå òðåáîâàíèÿ. Âûÿñíèëîñü ÷òî âîçìîæíî ñîçäàòü óíèâåðñàëüíûé ßÏ íà áàç PL/1, ALGOL, èëè Pascal.Èçíà÷àëüíî â êîíêóðñå áûëî 12 ÿçûêîâ, ïîòîì îñòàëîñü 4 ( âñå 4 íà îñíîâå ïàñêàëÿ).
 èòîãå ïîáåäèë ÿçûêàäà( åäèíñòâåííûé ÿçûê ðàçðàáîòàííûé íå â ÑØÀ (âî Ôðàíöèè)) ßçûê Àäà ñòàë î÷åíü ïîïóëÿðíûì â òå÷åíèè êîðîòêîãî âðåìåíè. Áûëà ñîçäàíà öåëàÿ ñèñòåìà âåðèôèêàöèè è ñåðòèôèêàöèè êîìïèëÿòîðîâ ýòîãîÿçûêà.  1982 áûë ïðèíÿò ïåðâûé ñòàíäàðò ÿçûêà àäà.Áûëî ïðèíÿòî ðåøåíèå çàìåíÿòü ñòàíäàðò ÿçûêà êàæäûå 10-12 ëåò, ïðè ýòîì íèêàêèõ äèàëåêòîâ è ïîäìíîæåñòâ ÿçûêà áûòü íå äîëæíî (ýòî òðåáîâàëîñü).
Áûë äàæå èçäàí ïðèêàç î òîì ÷òî âñå ïðàâèòåëüñòâåííîåÏÎ äîëæíî áûòü íà àäå, íî âñêîðå åãî îòìåíèëè.  Àäå áûëî ïðèíöèïèàëüíîå íîâøåñòâî ìåõàíèçì ðàíäåâó( ñèíõðîíèçàöèÿ ïàðàëëåëüíûõ ïðîöåññîâ). 1983 ãîäó ñ ñ êëàññàìè ýâîëþöèîíèðîâàë â Ñ++.  òî âðåìÿ îñíîâíûå òðåáîâàíèÿ ê ßÏ ñòàâèëèñü ñòî÷êè çðåíèÿ ïðîìûøëåííîãî èñïîëüçîâàíèÿ è ÎÎÏ òîãäà îñîáî íå òðåáîâàëîñü.Ïðîáëåìû ÿçûêà àäà:1.Îòñóòñòâèå ÎÎÏ2.Ïîäõîä ê ÿçûêîâîìó äèçàéíó3.Åñòü 2 ïîäõîäà4.ìåòîä ñóíäóêà ( âñå ÷òî íóæíî)5.ìåòîä ÷åìîäàí÷èêà ( òîëüêî òî áåç ÷åãî íåâîçìîæíî îáîéòèñü)6. ÿçûêå àäà ðåàëèçîâàí ìåòîä ñóíäóêà ( äëÿ ëþáîé êðèòè÷åñêîé òåõíîëîãè÷åñêîé ïîòðåáíîñòè â íåì ñóùåñòâóåò êîíñòðóêöèÿ).5ßçûê Ìîäóëà-2 ïðèíöèï ÷åìîäàí÷èêà.
Íàïðèìåð â Àäà ìîæíî èìåòü âëîæåííûå ìîäóëè, à â ìîäóëà 2 èõ íåò, òàê êàê áåç íèõ ìîæíî îáîéòèñü.Ê 1988 êîãäà ñòàëî ÿñíî, ÷òî ÎÎÏ îñíîâíîå íàïðàâëåíèÿ ïðîìûøëåííîãî ïðîãðàììèðîâàíèÿ, Í. Âèðòïðåäïðèíÿë òðåòüþ ïîïûòêó ñîçäàíèÿ ßÏ ÿçûê îáåðîí, êîòîðûé ïðåäñòàâëÿë èç ñåáÿ óðåçàííóþ ìîäóëó+ íàñëåäîâàíèå. 1993 ïîÿâèëñÿ Îáåðîí 2. â êîòîðûé áûëè äîáàâëåíû âèðòóàëüíûå ôóíêöèè (ïîëó÷èëñÿ â èòîãå ïîëíûéÎÎßÏ). Ïðè ýòîì êîìïèëÿòîð îáåðîíà çàíèìàë 4,5Ê ñòðîê, à äîáàâëåíèå âèðòóàëüíûõ ôóíêöèé äîáàâèëîåùå 500 ñòðîê. Èòàê Îáåðîí 2 êðàéíå ïðîñòîÿ ÎÎßÏ.
Äëÿ ïðîñòûõ âåùåé íåëüçÿ èñïîëüçîâàòü ñëîæíûåèíñòðóìåíòû. Íàïðèìåð êîìïèëÿòîð ñ Àäû áûë î÷åíü ñëîæíûì.6Ëåêöèÿ 4Ñîâðåìåííûé ýòàï ðàçâèòèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ.Çíàêîâûå ñîáûòèÿ ýòîãî ýòàïà - ïîÿâëåíèå Ñ++ (1983), Ada. Èìåííî â ÿçûêå àäà âïåðâûå ïîÿâèëîñüïîíÿòèå èñêëþ÷åíèÿ. Äàëåå ýòî ïîíÿòèå ïåðåøëî â äðóãèå ÿçûêè. Îäíàêî, ñâîåé öåëè ÿçûê àäà íå äîáèëñÿ(çàìåíèòü âñå äðóãèå ßÏ). 1995 - íîâûé âàðèàíò ÿçûêà àäà ( îáåñïå÷åííà ìàêñèìàëüíàÿ ñîâìåñòèìîñòü ñíèçóââåðõ). 2005 ãîäó -ïîÿâèëàñü åùå îäíà âåðñèÿ àäà.
Àäà 95 - ïðèìåð î÷åíü àêêóðàòíîãî ðàñøèðåíèÿ ïðîöåäóðíîãî ßÏ îáúåêòíî-îðèåíòèðîâàííîé ïàðàäèãìîé. Ãëàâíîé ïðè÷èíîé íåóäà÷è ÿçûêà àäà - åãî ñëîæíîñòü. Áûëîçàïðåùåíî ðàñøèðÿòü ñòàíäàðò àäà, íî êàæäûå íåñêîëüêî ëåò âûïóñêàëèñü íîâûå òîëêîâàíèÿ ñòàíäàðòà(íåêîòîðûå äåòàëè ñòàíäàðòà).Äàæå òðåáîâàíèå âûïóñêàòü âñå ÏÎ òîëüêî íà ñåðòèôèöèðîâàííûõ êîìïèëÿòîðàõ íå ìîãëî âûïîëíÿòüñÿ òàê êàê äàæå ñàìûå ñîâåðøåííûå êîìïèëÿòîðû íå ìîãëè ïðîéòè âñå òåñòû íàñåðòèôèêàöèþ.
Äîáàâëåíèå ÎÎ ïàðàäèãìû åùå ñèëüíåå óñëîæíèëî ÿçûê. Èòàê òðåòüÿ ïîïûòêà ñîçäàíèÿóíèâåðñàëüíîãî ßÏ ïðîâàëèëàñü, è îò äàëüíåéøèõ ïîïûòîê ñîçäàíèÿ ïîäîáíûé ßÏ îòêàçàëèñü.Äàëåå íà÷àëîñü ðàçâèòèå ÎÎßÏ. Ïåðâûé ÷èñòûé ÎÎßÏ - smalltalk ïîÿâèëñÿ â 1972 ãîäó â ëàáîðàòîðèèXerox PARC. ýòîé æå ëàáîðàòîðèè áûëè ðàçðàáîòàíû: ìûøü, ethernet, ñòàíöèÿ ñ ãðàôè÷åñêèì èíòåðôåéñîì. 1980 îôîðìèëàñü âåðñèÿ ÿçûêà (smalltalk 5), ñòàâøàÿ ñàìîé ïîïóëÿðíîé âåðñèåé ýòîãî ÿçûêà.