Âûáèðàé : Ïîêóïàé : Èñïîëüçóé
0

Ñòóäåíò Ïåðìñêîãî Ïîëèòåõà ðàçðàáàòûâàåò íîâûé ÿçûê ïðîãðàììèðîâàíèÿ

Ñîâðåìåííûå òåõíîëîãèè ñòàëêèâàþòñÿ ñ îãðàíè÷åíèÿìè ñóùåñòâóþùèõ ÿçûêîâ ïðîãðàììèðîâàíèÿ: îíè ëèáî èìåþò îãðàíè÷åííóþ...

Ñîâðåìåííûå òåõíîëîãèè ñòàëêèâàþòñÿ ñ îãðàíè÷åíèÿìè ñóùåñòâóþùèõ ÿçûêîâ ïðîãðàììèðîâàíèÿ: îíè ëèáî èìåþò îãðàíè÷åííóþ ïðîèçâîäèòåëüíîñòü, ëèáî òðåáóþò ñëîæíîãî óïðàâëåíèÿ äàííûìè è î÷åíü òîíêîãî îòñëåæèâàíèÿ áàãîâ. Ñ ðàçâèòèåì ðîáîòîòåõíèêè è èñêóññòâåííîãî èíòåëëåêòà ïîÿâèëàñü íåîáõîäèìîñòü â ÿçûêå, êîòîðûé ðåøàåò îáå ïðîáëåìû íà ëþáîì «æåëåçå» – îò ïðîñòîãî äàò÷èêà äî áåñïèëîòíèêà, – ïîçâîëÿåò ñîçäàâàòü áûñòðûå àëãîðèòìû äëÿ íåéðîñåòåé è ãàðàíòèðóåò ñòàáèëüíîñòü â êðèòè÷íûõ ñèñòåìàõ – íàïðèìåð, â ìåäèöèíñêèõ óñòðîéñòâàõ. Ñòóäåíò Ïåðìñêîãî Ïîëèòåõà ðàçðàáàòûâàåò èííîâàöèîííûé ÿçûê ïðîãðàììèðîâàíèÿ Ritter, ïðåäíàçíà÷åííûé äëÿ èãðîâûõ äâèæêîâ, ìèêðîêîíòðîëëåðîâ, äàò÷èêîâ, íåéðîñåòåé è äàæå áåñïèëîòíèêîâ. Ýòîò ÿçûê áóäåò ñî÷åòàòü â ñåáå ãèáêîñòü, ðàñøèðåíèå âîçìîæíîñòåé ðàçðàáîò÷èêà è ïðîñòîòó â îñâîåíèè.

Ðàçðàáîòêà âåäåòñÿ â ðàìêàõ ïðîãðàììû ñòðàòåãè÷åñêîãî àêàäåìè÷åñêîãî ëèäåðñòâà «Ïðèîðèòåò 2030». Îá ýòîì CNews ñîîáùèëè ïðåäñòàâèòåëè ÏÍÈÏÓ.

ßçûê ïðîãðàììèðîâàíèÿ – ýòî èíñòðóìåíò, ñ ïîìîùüþ êîòîðîãî ëþäè çàäàþò îïðåäåëåííûå êîìàíäû ïðîãðàììå èëè êîìïüþòåðó â öåëîì. Íåêîòîðûå ÿçûêè, íàïðèìåð Python, ïðîñòû â îñâîåíèè, íî ìåäëåííû. Äðóãèå, òàêèå êàê C++ èëè Rust, ðàáîòàþò áûñòðåå, íî òðåáóþò ãëóáîêèõ çíàíèé è âíèìàíèÿ ê äåòàëÿì, îñîáåííî ê ïàìÿòè è äàííûì ïðè ðàáîòå ïðîãðàììû.

Îäíà èç ãëàâíûõ ïðîáëåì òðàäèöèîííûõ ÿçûêîâ — ýòî ðàáîòà ñ ïàìÿòüþ. Êîìïüþòåð óïðàâëÿåò ëîêàëüíûìè äàííûìè â äâóõ ìåñòàõ: âî-ïåðâûõ, â «ñòåêå» (stack) — ýòî î÷åíü áûñòðàÿ, íî îãðàíè÷åííàÿ ïàìÿòü, êàê àêêóðàòíàÿ ñòîïêà òàðåëîê: ìîæíî ïîëîæèòü íîâóþ ñâåðõó èëè âçÿòü âåðõíþþ. Âî-âòîðûõ, â «êó÷å» (heap) — îíà ìåäëåííåå, íî ïîçâîëÿåò õðàíèòü òå äàííûå, ðàçìåð êîòîðûõ çàðàíåå íåèçâåñòåí èëè ìîæåò ìåíÿòüñÿ â ïðîöåññå ðàáîòû ïðîãðàììû – ýòî êàê áîëüøîé áåñïîðÿäî÷íûé øêàô, îòêóäà ìîæíî áðàòü ÷òî óãîäíî, íî ïîèñê çàíèìàåò áîëüøå âðåìåíè. Íàïðèìåð, åñëè ÷åëîâåê ïèøåò ïðèëîæåíèå äëÿ ðåäàêòèðîâàíèÿ ôîòî, è ïîëüçîâàòåëü çàãðóæàåò êàðòèíêó, êîòîðóþ ðàçðàáîò÷èê íå çíàë çàðàíåå — åå äàííûå ïðèäåòñÿ õðàíèòü â «êó÷å».

Âñå ýòî ìîæåò ïðèâîäèòü ê îøèáêàì, çàìåäëåíèþ è íåïðåäñêàçóåìîìó ïîâåäåíèþ ïðîãðàììû, à â âûñîêîíàãðóæåííûõ ñèñòåìàõ, òàêèõ êàê íåéðîñåòè, IoT-óñòðîéñòâà (äàò÷èêè, êàìåðû), ðîáîòû è áåñïèëîòíèêè, ñêîðîñòü îòêëèêà êðàéíå âàæíà.

Äëÿ ðåøåíèÿ ýòèõ ïðîáëåì ñòóäåíò Ïåðìñêîãî Ïîëèòåõà çàíÿëñÿ ðàçðàáîòêîé íîâîãî ÿçûêà ïðîãðàììèðîâàíèÿ – Ritter, ïðåäíàçíà÷åííîãî äëÿ âñòðàèâàåìûõ ñèñòåì è çàäà÷, òðåáóþùèõ âûñîêîé ïðîèçâîäèòåëüíîñòè. Îí îðèåíòèðîâàí íà äàííûå (Data-Oriented Design) è ïðåäëàãàåò íåîáû÷íûé ïîäõîä ê ðàáîòå ñ ïàìÿòüþ.

 îòëè÷èå îò áîëüøèíñòâà ÿçûêîâ, Ritter èñïîëüçóåò òîëüêî «ñòåê», ïîëíîñòüþ îòêàçûâàÿñü îò «êó÷è». Ýòî çíà÷èò, ÷òî âñÿ ïàìÿòü îïðåäåëÿåòñÿ çàðàíåå, åùå íà ýòàïå íàïèñàíèÿ êîäà. Ïðîãðàììà ñòàíîâèòñÿ ïðåäñêàçóåìîé, ðàáîòàåò áûñòðåå, è â íåé ïî÷òè íåâîçìîæíî äîïóñòèòü îøèáêó, ñâÿçàííóþ ñ óïðàâëåíèåì ïàìÿòüþ. Íàïðèìåð, â ñëó÷àå ñ ðàçðàáîòêîé äâèæêà äëÿ èãðû âàæíî, ÷òîáû èíôîðìàöèÿ áûëà ðàñïîëîæåíà òàê, ÷òîáû ïðîöåññîð ìîã åå áûñòðî èñïîëüçîâàòü. Ritter óìååò àâòîìàòè÷åñêè ïåðåñòðàèâàòü ñòðóêòóðû äàííûõ, ÷òîáû îíè ëó÷øå ïîäõîäèëè äëÿ ðàáîòû ñ ïàìÿòüþ: îí ìîæåò ïðåîáðàçîâàòü ñïèñîê îáúåêòîâ â íàáîð ñïèñêîâ õàðàêòåðèñòèê, ÷òî óñêîðÿåò ðàáîòó ñ ãðàôèêîé è ôèçèêîé.

Äðóãàÿ îñîáåííîñòü Ritter – ó íåãî íåò ïðèâû÷íûõ æåñòêèõ òèïîâ äàííûõ, êàê â äðóãèõ ÿçûêàõ. Âìåñòî ýòîãî îí ïîçâîëÿåò ïðîãðàììèñòó èñïîëüçîâàòü èíñòðóêöèè — ñïåöèàëüíûå óêàçàíèÿ î òîì, êàê èíòåðïðåòèðîâàòü áèòû. Ýòî äåëàåò ÿçûê î÷åíü ãèáêèì: îäíî è òî æå ÷èñëî ìîæíî èñïîëüçîâàòü êàê öâåò, êîîðäèíàòó èëè êîìàíäó. Íàïðèìåð, â ïðèëîæåíèè äëÿ óìíîãî äîìà ìîæíî çàäàòü èíñòðóêöèþ, êîòîðàÿ ãîâîðèò: «Ýòè 4 áàéòà — ýòî êîìàíäà äëÿ îòêðûòèÿ äâåðè», è ïðîãðàììà áóäåò ïîíèìàòü ýòî áåç ëèøíèõ ïðîâåðîê è íàêëàäíûõ ðàñõîäîâ.

«Ñîôò, íàïèñàííûé íà ýòîì ÿçûêå, ãîðàçäî íàäåæíåå è èìååò âûñîêóþ ñêîðîñòü ðàáîòû – ýòî êðèòè÷íî äëÿ ìåäèöèíñêèõ ïðèáîðîâ èëè ñèñòåì óïðàâëåíèÿ äðîíàìè. Ãèáêîñòü ÿçûêà ïîçâîëÿåò àäàïòèðîâàòü îäèí è òîò æå êîä ïîä ðàçíûå óñòðîéñòâà – îò êðîøå÷íûõ äàò÷èêîâ äî ìîùíûõ ñåðâåðîâ. Âñå ýòî äåëàåò åãî èäåàëüíûì äëÿ èãðîâûõ äâèæêîâ, ìèêðîêîíòðîëëåðîâ, äàò÷èêîâ è íåéðîñåòåé. Ïðè âñåì ýòîì ñàì êîä ïðîñò, ëàêîíè÷åí è áóäåò ïîíÿòåí äàæå íîâè÷êàì», – ñêàçàë Äàíèýëü Äèíãåñ, ãëàâíûé ðàçðàáîò÷èê, ñòóäåíò êàôåäðû «Ðàêåòíî-êîñìè÷åñêàÿ òåõíèêà è ýíåðãåòè÷åñêèå ñèñòåìû» ÏÍÈÏÓ.

Êîìàíäà îöåíèâàåò çàòðàòû íà ñîçäàíèå ïåðâîé óïðîùåííîé âåðñèè Ritter â 2 ìëí ðóá., à ôîðìèðîâàíèå ñòàíäàðòíîé áèáëèîòåêè è èíñòðóìåíòîâ ÿçûêà — â 7-15 ìëí ðóá. Ñòðàòåãèÿ ìîíåòèçàöèè âêëþ÷àåò îòêðûòîå ÿäðî (Open-Core) è êîììåð÷åñêèå ðåøåíèÿ äëÿ ïðåäïðèÿòèé. Îòêðûòûé áåòà-ðåëèç ïëàíèðóåòñÿ â îêòÿáðå 2026 ã.

Êîììåíòàðèè