"ʻO Rust ka wā e hiki mai ana o ka hoʻolālā ʻōnaehana, ʻo C ka mea hoʻohui hou" - ʻōlelo a kekahi o nā ʻenehana alakaʻi o Intel.

Ma ka Open Source Technology Summi (OSTS) i hala iho nei. ʻO Josh Triplett, he 'enekinia kiʻekiʻe ma Intel, ua'ōlelo kāna hui i ka makemake iā Rust e hiki i ka "parity" me ka'ōlelo C e hoʻomalu mau ana i nā pūnaewele a me ka ulu haʻahaʻa i ka wā e hiki mai ana. Ma kana haiolelo Ma lalo o ke poʻo inoa "Intel and Rust: The Future of Systems Programming," ua kamaʻilio pū ʻo ia e pili ana i ka mōʻaukala o nā ʻōnaehana hoʻonohonoho, pehea i lilo ai ʻo C i ʻōlelo hoʻonohonoho ʻōnaehana paʻamau, he aha nā hiʻohiʻona o Rust e hāʻawi iā ia i ʻoi aku ka maikaʻi ma mua o C, a pehea e hiki ai iā ia. e hoʻololi iā C ma kēia wahi o ka papahana.

"ʻO Rust ka wā e hiki mai ana o ka hoʻolālā ʻōnaehana, ʻo C ka mea hoʻohui hou" - ʻōlelo a kekahi o nā ʻenehana alakaʻi o Intel.

ʻO ka hoʻolālā ʻōnaehana ka hoʻomohala ʻana a me ka hoʻokele ʻana i nā polokalamu e lawelawe ana ma ke ʻano he kahua no ka hoʻokumu ʻana i nā noi noi, e hōʻoia i ka pili ʻana o ka hope me ka processor, RAM, nā mea hoʻokomo / puka a me nā lako pūnaewele. Hoʻokumu ka polokalamu ʻōnaehana i kahi abstraction kūikawā ma ke ʻano o nā loulou e kōkua i ka hana ʻana i nā polokalamu noi me ka ʻole o ka ʻimi ʻana i nā kikoʻī o ke ʻano o ka hana ponoʻī.

Ua wehewehe ʻo Triplett iā ia iho i nā polokalamu ʻōnaehana ʻo "nā mea ʻaʻole ia he noi." Loaʻa iā ia nā mea e like me BIOS, firmware, bootloaders a me nā kernels ʻōnaehana hana, nā ʻano like ʻole o nā code haʻahaʻa i hoʻokomo ʻia, a me nā hoʻokō mīkini virtual. ʻO ka mea hoihoi, manaʻoʻiʻo ʻo Triplett he polokalamu ʻōnaehana hoʻi ka polokalamu kele pūnaewele, no ka mea, ua lilo ka polokalamu kele pūnaewele ma mua o ka "polokalamu wale nō", lilo i "platform no nā pūnaewele a me nā noi pūnaewele."

I ka wā ma mua, ua kākau ʻia ka hapa nui o nā polokalamu ʻōnaehana, me BIOS, bootloaders a me firmware, ma ka ʻōlelo hui. I nā makahiki 1960, hoʻomaka nā hoʻokolohua e hāʻawi i ke kākoʻo ʻenehana no nā ʻōlelo kiʻekiʻe, e alakaʻi ana i ka hana ʻana i nā ʻōlelo e like me PL/S, BLISS, BCPL, a me ALGOL 68.

A laila, i ka makahiki 1970, ua hana ʻo Dennis Ritchie i ka ʻōlelo hoʻolālā C no ka ʻōnaehana hana Unix. Hana ʻia ma ka ʻōlelo hoʻolālā B, ʻaʻole i loaʻa ke kākoʻo paʻi paʻi, ua hoʻopiha ʻia ʻo C me nā hana kiʻekiʻe kiʻekiʻe ikaika i kūpono no ke kākau ʻana i nā ʻōnaehana hana a me nā mea hoʻokele. Ua kākau hou ʻia kekahi mau ʻāpana o UNIX, me kāna kernel, ma C. Ma hope mai, ua kākau ʻia nā papahana ʻē aʻe he nui, me ka Oracle database, ka hapa nui o ka Windows source code, a me ka Linux operating system, i kākau pū ʻia ma C.

Ua loaʻa iā C ke kākoʻo nui ma kēia ʻaoʻao. Akā he aha ka mea i hoʻololi ai nā mea hoʻomohala iā ia? Manaʻo ʻo Triplett i mea e hoʻoikaika ai i nā mea hoʻomohala e hoʻololi mai kahi ʻōlelo papahana a i kekahi, pono e hāʻawi mua ka mea hope i nā hiʻohiʻona hou me ka ʻole e nalowale i nā hiʻohiʻona kahiko.

ʻO ka mea mua, pono e hāʻawi ka ʻōlelo i nā hiʻohiʻona hou "kūpono maikaʻi". “ʻAʻole hiki iā ia ke ʻoi aku ka maikaʻi. Pono e ʻoi aku ka maikaʻi o ka hōʻoia ʻana i ka hoʻoikaika ʻana a me ka manawa ʻenekinia e hana ai i ka hoʻololi, "wahi āna. Hoʻohālikelike ʻia me ka ʻōlelo hui, he nui nā mea a C e hāʻawi ai. Kākoʻo ʻo ia i kahi ʻano palekana palekana, hāʻawi i ka lawe ʻana a me ka hana ʻoi aku ka maikaʻi me nā kūkulu pae kiʻekiʻe, a hoʻopuka i nā code ʻoi aku ka hiki ke heluhelu ʻia.

ʻO ka lua, pono e hāʻawi ka ʻōlelo i ke kākoʻo no nā hiʻohiʻona kahiko, ʻo ia hoʻi i ka mōʻaukala o ka hoʻololi ʻana iā C, pono nā mea hoʻomohala e hōʻoia ʻaʻole i emi iki ka hana ma mua o ka ʻōlelo hui. Ua wehewehe ʻo Triplett: "ʻAʻole hiki ke ʻoi aku ka maikaʻi o ka ʻōlelo hou, pono nō e like me ka maikaʻi." Ma waho aʻe o ka wikiwiki a me ke kākoʻo ʻana i kekahi ʻano ʻikepili i hiki i ka ʻōlelo hui ke hoʻohana, ua loaʻa iā C ka mea a Triplett i kapa ai he "escape hatch"—ʻo ia hoʻi, ua kākoʻo ʻo ia i ka hoʻokomo ʻana i ke code ʻōlelo hui i loko ona.

"ʻO Rust ka wā e hiki mai ana o ka hoʻolālā ʻōnaehana, ʻo C ka mea hoʻohui hou" - ʻōlelo a kekahi o nā ʻenehana alakaʻi o Intel.

Manaʻo ʻo Triplett e lilo ana ʻo C i ka ʻōlelo hui i nā makahiki he nui aku nei. "ʻO C ka mea hui hou," wahi āna. I kēia manawa ke ʻimi nei nā mea hoʻomohala i kahi ʻōlelo kiʻekiʻe kiʻekiʻe e hoʻoponopono wale i nā pilikia i hōʻiliʻili ʻia ma C hiki ʻole ke hoʻoponopono hou ʻia, akā hāʻawi pū kekahi i nā hiʻohiʻona hoihoi. Pono ke ʻano o ia ʻōlelo e hiki ai i nā mea hoʻomohala ke hoʻololi iā ia, pono e paʻa, hoʻolako i ka hoʻokele hoʻomanaʻo ʻakomi, a ʻoi aku ka nui.

"ʻO kēlā me kēia ʻōlelo e makemake ana e ʻoi aku ka maikaʻi ma mua o C pono e hāʻawi i nā mea ʻoi aku ma mua o ka pale ʻana i ka overflow wale nō inā makemake maoli ia e lilo i mea hoʻoikaika. Makemake nā mea hoʻomohala i ka hoʻohana a me ka hana, kākau i nā code i wehewehe pono iā ia iho a hana hou i nā hana ma nā laina liʻiliʻi. Pono e hoʻoponopono ʻia nā pilikia palekana. Hele pū ka maʻalahi o ka hoʻohana a me ka hana. ʻO ka liʻiliʻi o nā code āu e kākau ai no ka hoʻokō ʻana i kekahi mea, ʻo ka liʻiliʻi o ka manawa āu e hana ai i nā hewa, pili i ka palekana a i ʻole, "wahi a Triplett.

Hoʻohālikelike o Rust a me C

I ka makahiki 2006, ua hoʻomaka ʻo Graydon Hoare, kahi limahana Mozilla, e kākau iā Rust ma ke ʻano he papahana pilikino. A i ka makahiki 2009, ua hoʻomaka ʻo Mozilla e kākoʻo i ka hoʻomohala ʻana iā Rust no kāna mau pono ponoʻī, a ua hoʻonui pū i ka hui e hoʻomohala hou i ka ʻōlelo.

ʻO kekahi o nā kumu i makemake nui ai ʻo Mozilla i ka ʻōlelo hou ʻo ia ka mea i kākau ʻia ʻo Firefox ma luna o 4 miliona mau laina o ka code C++ a he mau mea koʻikoʻi koʻikoʻi. Ua kūkulu ʻia ʻo Rust me ka palekana a me ka concurrency i loko o ka noʻonoʻo, e lilo ia i koho kūpono no ke kākau hou ʻana i nā mea he nui o Firefox ma ke ʻano he ʻāpana o ka papahana Quantum e hoʻolālā hou i ka hoʻolālā ʻana o ka polokalamu kele pūnaewele. Ke hoʻohana nei ʻo Mozilla iā Rust no ka hoʻomohala ʻana iā Servo, kahi ʻenekini hōʻike HTML e hoʻololi hope i ka ʻenekini hoʻopuka Firefox o kēia manawa. Ua hoʻomaka nā hui ʻē aʻe e hoʻohana iā Rust no kā lākou mau papahana, me Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu a me nā mea hou aku.

Hoʻoponopono ʻo Rust i kekahi o nā pilikia koʻikoʻi o ka ʻōlelo C. Hāʻawi ia i ka hoʻokele hoʻomanaʻo ʻakomi no laila ʻaʻole pono nā mea hoʻomohala e hoʻokaʻawale lima a laila hoʻokuʻu iā ia no kēlā me kēia mea o ka noi. He aha ka mea i ʻokoʻa ai ʻo Rust mai nā ʻōlelo ʻē aʻe o kēia wā, ʻaʻohe ona ʻōpala e hoʻoneʻe maʻalahi i nā mea i hoʻohana ʻole ʻia mai ka hoʻomanaʻo ʻana, ʻaʻole hoʻi i loaʻa ka runtime environment e pono ai e hana, e like me ka Java Runtime Environment no Java. Akā, aia iā Rust nā manaʻo o ka kuleana, ka hōʻaiʻē, nā kuhikuhi, a me ke ola. "He ʻōnaehana ko Rust no ka haʻi ʻana i nā kelepona i kahi mea e hōʻike ai inā hoʻohana ka mea nona ia a ʻaiʻē wale paha. Inā ʻaiʻē wale ʻoe i kahi mea, e mālama ka mea hōʻuluʻulu i kēia a hōʻoia i ka paʻa ʻana o ka mea kumu i ka wā āu e kuhikuhi ai. E hōʻoia ʻo Rust i ka lawe ʻia ʻana o ka mea mai ka hoʻomanaʻo ʻana i ka pau ʻana o kona hoʻohana ʻana, e hoʻokomo ana i kahi kelepona kūpono i loko o ke code i ka manawa hōʻuluʻulu me ka ʻole o ka manawa hou, "wahi a Triplett.

Hiki ke noʻonoʻo ʻia ka nele o ka wā holo maoli he hiʻohiʻona maikaʻi o Rust. Manaʻo ʻo Triplett he paʻakikī ka hoʻohana ʻana i nā ʻōlelo e holo ai ma ke ʻano he polokalamu hoʻonohonoho ʻōnaehana. E like me kāna wehewehe ʻana: "Pono ʻoe e hoʻomaka i kēia runtime ma mua o ke kāhea ʻana i kekahi code, pono ʻoe e hoʻohana i kēia runtime e kāhea i nā hana, a hiki i ka runtime ponoʻī ke holo i nā code hou ma hope o kou kua i nā manawa i manaʻo ʻole ʻia."

Hoʻoikaika pū ʻo Rust e hoʻolako i nā polokalamu parallel palekana. ʻO nā hiʻohiʻona like e mālama pono ai i ka hoʻomanaʻo e mālama i nā mea e like me ka mea nona ka milo i ka mea a me nā mea hiki ke hele ma waena o nā loina a pono i kahi laka.

ʻO kēia mau hiʻohiʻona a pau ke koi ikaika nei ʻo Rust i nā mea hoʻomohala e koho iā ia i mea hana hou no ka hoʻonohonoho ʻana i nā ʻōnaehana. Eia nō naʻe, ma ke ʻano o ka helu helu like, aia nō ʻo Rust ma hope o C.

Manaʻo ʻo Triplett e hana i kahi hui hana kūikawā e kālele ana i ka hoʻokomo ʻana i nā hiʻohiʻona pono i loko o Rust i hiki ai iā ia ke hoʻohālikelike piha, ʻoi aku a hoʻololi iā C ma ke kahua o ka hoʻolālā ʻōnaehana. IN pae ma Reddit, i hoʻolaʻa ʻia i kāna haʻiʻōlelo, ua ʻōlelo ʻo ia "ʻo ka hui FFI / C Parity i ke kaʻina hana a ʻaʻole i hoʻomaka i ka hana," no ka mea i kēia manawa ua mākaukau ʻo ia e pane i nā nīnau, a i ka wā e hiki mai ana e hoʻolaha maoli ʻo ia i nā hoʻolālā koke. no ka hoʻomohala ʻana iā Rust ma ke ʻano he ʻāpana o kāna hana no nā mea makemake āpau.

Hiki ke manaʻo ʻia ʻo ka hui ʻo FFI/C Parity e nānā mua i ka hoʻomaikaʻi ʻana i ke kākoʻo multi-threading i Rust, e hoʻolauna ana i ke kākoʻo no BFLOAT16, kahi ʻano lana i ʻike ʻia i nā mea hana hou Intel Xeon Scalable, a me ka hoʻopaʻa ʻana i ka hui. hoʻokomo code.



Source: 3dnews.ru

Pākuʻi i ka manaʻo hoʻopuka