“රස්ට් යනු පද්ධති ක්‍රමලේඛනයේ අනාගතයයි, C යනු නව එකලස් කරන්නායි” - Intel හි ප්‍රමුඛ ඉංජිනේරුවෙකුගේ කතාව

මෑතකදී පැවති විවෘත මූලාශ්‍ර තාක්ෂණ සමුළුවේදී (OSTS) ජෝෂ් ට්‍රිප්ලට්, Intel හි ජ්‍යෙෂ්ඨ ඉංජිනේරුවෙකු පැවසුවේ, නුදුරු අනාගතයේ දී තවමත් පද්ධති සහ පහළ මට්ටමේ සංවර්ධනයේ ආධිපත්‍යය දරන C භාෂාව සමඟ රස්ට් "සමානාත්මතාවයට" ළඟා වීමට තම සමාගම උනන්දු වන බවයි. ඔහුගේ කතාවේදී "Intel and Rust: The Future of Systems Programming" යන මාතෘකාව යටතේ, ඔහු පද්ධති ක්‍රමලේඛනයේ ඉතිහාසය, C පෙරනිමි පද්ධති ක්‍රමලේඛන භාෂාව බවට පත් වූ ආකාරය, C ට වඩා Rust හි කුමන ලක්ෂණ එයට වාසියක් ලබා දෙන්නේද සහ එය සම්පූර්ණයෙන්ම කළ හැක්කේ කෙසේද යන්න ගැනද කතා කළේය. මෙම ක්‍රමලේඛන ක්ෂේත්‍රයේ C ආදේශ කරන්න.

“රස්ට් යනු පද්ධති ක්‍රමලේඛනයේ අනාගතයයි, C යනු නව එකලස් කරන්නායි” - Intel හි ප්‍රමුඛ ඉංජිනේරුවෙකුගේ කතාව

පද්ධති ක්‍රමලේඛනය යනු යෙදුම් යෙදුම් නිර්මාණය කිරීම සඳහා වේදිකාවක් ලෙස ක්‍රියා කරන මෘදුකාංග සංවර්ධනය කිරීම සහ කළමනාකරණය කිරීම, ප්‍රොසෙසරය, RAM, ආදාන/ප්‍රතිදාන උපාංග සහ ජාල උපකරණ සමඟ අන්තර් ක්‍රියා කිරීම සහතික කරයි. පද්ධති මෘදුකාංගය දෘඩාංගම ක්‍රියා කරන ආකාරය පිළිබඳ විස්තර සොයා බැලීමකින් තොරව යෙදුම් මෘදුකාංග නිර්මාණය කිරීමට උපකාර වන අතුරුමුහුණත් ආකාරයෙන් විශේෂ සාරාංශයක් නිර්මාණය කරයි.

ට්‍රිප්ලෙට් විසින්ම පද්ධති ක්‍රමලේඛනය "යෙදුම නොවන ඕනෑම දෙයක්" ලෙස අර්ථ දක්වයි. එයට BIOS, ස්ථිරාංග, ඇරඹුම් කාරක සහ මෙහෙයුම් පද්ධති කර්නල්, විවිධ වර්ගයේ කාවැද්දූ පහත් මට්ටමේ කේත, සහ අතථ්‍ය යන්ත්‍ර ක්‍රියාත්මක කිරීම් වැනි දේ ඇතුළත් වේ. සිත්ගන්නා කරුණ නම්, ට්‍රිප්ලෙට් විශ්වාස කරන්නේ වෙබ් බ්‍රවුසරයක් පද්ධති මෘදුකාංගයක් බවයි, මන්ද බ්‍රවුසරය බොහෝ කලකට පෙර “වැඩසටහනකට” වඩා වැඩි වී ඇති අතර එය ස්වාධීන “වෙබ් අඩවි සහ වෙබ් යෙදුම් සඳහා වේදිකාවක්” බවට පත්ව ඇත.

අතීතයේදී, BIOS, bootloaders සහ firmware ඇතුළු බොහෝ පද්ධති වැඩසටහන්, එකලස් කිරීමේ භාෂාවෙන් ලියා ඇත. 1960 ගණන් වලදී, PL/S, BLISS, BCPL, සහ ALGOL 68 වැනි භාෂා නිර්මාණය කිරීමට තුඩු දුන් උසස් මට්ටමේ භාෂා සඳහා දෘඪාංග සහය ලබා දීමට පරීක්ෂණ ආරම්භ විය.

ඉන්පසුව, 1970 ගණන්වලදී, ඩෙනිස් රිචී Unix මෙහෙයුම් පද්ධතිය සඳහා C ක්‍රමලේඛන භාෂාව නිර්මාණය කළේය. ටයිප් කිරීමේ සහය පවා නොමැති B ක්‍රමලේඛන භාෂාවෙන් නිර්මාණය කරන ලද C, මෙහෙයුම් පද්ධති සහ ධාවක ලිවීම සඳහා වඩාත් සුදුසු ප්‍රබල ඉහළ මට්ටමේ ශ්‍රිතයන්ගෙන් පිරී තිබුණි. UNIX හි කර්නලය ඇතුළුව සංරචක කිහිපයක් අවසානයේ C වලින් නැවත ලියා ඇත. පසුව, Oracle දත්ත සමුදාය, බොහෝ Windows source code සහ Linux මෙහෙයුම් පද්ධතිය ඇතුළු තවත් බොහෝ පද්ධති වැඩසටහන්ද C වලින් ලියා ඇත.

C මෙම දිශාවට දැවැන්ත සහයෝගයක් ලැබී ඇත. නමුත් සංවර්ධකයින් එයට මාරු වීමට හේතුව කුමක්ද? ට්‍රිප්ලෙට් විශ්වාස කරන්නේ එක් ක්‍රමලේඛන භාෂාවකින් තවත් ක්‍රමලේඛන භාෂාවකට මාරු වීමට සංවර්ධකයින් පෙළඹවීම සඳහා, දෙවැන්න පළමුව පැරණි විශේෂාංග නැති නොකර නව විශේෂාංග සැපයිය යුතු බවයි.

පළමුව, භාෂාව "සාධාරණ ලෙස ආකර්ෂණීය" නව විශේෂාංග ඉදිරිපත් කළ යුතුය. “ඔහුට වඩා හොඳ විය නොහැක. සංක්‍රමණය කිරීමට ගතවන උත්සාහය සහ ඉංජිනේරු කාලය සාධාරණීකරණය කිරීම සැලකිය යුතු ලෙස වඩා හොඳ විය යුතුය," ඔහු පැහැදිලි කරයි. එකලස් කිරීමේ භාෂාව හා සසඳන විට, C හි පිරිනැමීමට බොහෝ දේ තිබුණි. එය තරමක් ආකාරයේ ආරක්ෂිත හැසිරීම් සඳහා සහය වූ අතර, ඉහළ මට්ටමේ ඉදිකිරීම් සමඟ වඩා හොඳ අතේ ගෙන යා හැකි සහ කාර්ය සාධනය සපයන අතර, සමස්තයක් වශයෙන් වඩාත් කියවිය හැකි කේතයක් ජනනය කළේය.

දෙවනුව, භාෂාව පැරණි විශේෂාංග සඳහා සහාය සැපයිය යුතුය, එයින් අදහස් කරන්නේ C වෙත සංක්‍රමණය වීමේ ඉතිහාසයේ, එය එකලස් කිරීමේ භාෂාවට වඩා අඩු ක්‍රියාකාරී නොවන බවට සංවර්ධකයින්ට සහතික විය යුතු බවයි. ට්‍රිප්ලෙට් පැහැදිලි කරයි: "නව භාෂාවක් වඩා හොඳ විය නොහැක, එය ද හොඳ විය යුතුය." වේගවත් වීම සහ එකලස් කිරීමේ භාෂාව භාවිතා කළ හැකි ඕනෑම දත්ත වර්ගයකට සහය දැක්වීමට අමතරව, C සතුව ට්‍රිප්ලෙට් විසින් "පලා යන හැච්" ලෙස හඳුන්වනු ලැබීය-එනම්, එය එකලස් භාෂා කේතය ඇතුළත් කිරීමට සහාය විය.

“රස්ට් යනු පද්ධති ක්‍රමලේඛනයේ අනාගතයයි, C යනු නව එකලස් කරන්නායි” - Intel හි ප්‍රමුඛ ඉංජිනේරුවෙකුගේ කතාව

ට්‍රිප්ලෙට් විශ්වාස කරන්නේ C දැන් වසර ගණනාවකට පෙර එකලස් කිරීමේ භාෂාව බවට පත්වෙමින් පවතින බවයි. "සී යනු නව එකලස් කරන්නා" යැයි ඔහු ප්‍රකාශ කරයි. දැන් සංවර්ධකයින් නව ඉහළ මට්ටමේ භාෂාවක් සොයමින් සිටින අතර එය තවදුරටත් විසඳිය නොහැකි C හි එකතු වී ඇති ගැටළු විසඳනවා පමණක් නොව, ආකර්ෂණීය නව විශේෂාංග ද ලබා දෙයි. එවැනි භාෂාවක් සංවර්ධකයින් වෙත මාරු වීමට තරම් බලගතු විය යුතුය, ආරක්ෂිත විය යුතුය, ස්වයංක්‍රීය මතක කළමනාකරණය සැපයීම සහ තවත් බොහෝ දේ.

“C වලට වඩා හොඳ වීමට අවශ්‍ය ඕනෑම භාෂාවක් එයට සැබවින්ම බලගතු විකල්පයක් වීමට අවශ්‍ය නම්, බෆර පිටාර ගැලීමේ ආරක්ෂාවට වඩා බොහෝ දේ ලබා දිය යුතුය. සංවර්ධකයින් උපයෝගීතාවය සහ කාර්ය සාධනය ගැන උනන්දු වෙති, ස්වයං-පැහැදිලි කරන කේතයක් ලිවීම සහ අඩු පේළි වලින් වැඩි වැඩ කරයි. ආරක්ෂක ගැටළු ද විසඳිය යුතුය. භාවිතයේ පහසුව සහ කාර්ය සාධනය අත්වැල් බැඳගනී. යමක් සාක්ෂාත් කර ගැනීම සඳහා ඔබට ලිවීමට ඇති කේතය අඩු වන තරමට, ආරක්ෂාව සම්බන්ධ හෝ නොකිරීමට ඔබට යම් වැරැද්දක් කිරීමට ඇති අවස්ථාව අඩු වේ, ”ට්‍රිප්ලෙට් පැහැදිලි කරයි.

රස්ට් සහ සී සංසන්දනය

ආපසු 2006 දී, Mozilla සේවකයෙකු වන Graydon Hoare පුද්ගලික ව්යාපෘතියක් ලෙස Rust ලිවීමට පටන් ගත්තේය. තවද 2009 දී, Mozilla තම අවශ්‍යතා සඳහා රස්ට් සංවර්ධනයට අනුග්‍රහය දැක්වීමට පටන් ගත් අතර, භාෂාව තවදුරටත් සංවර්ධනය කිරීම සඳහා කණ්ඩායම පුළුල් කළේය.

Mozilla නව භාෂාව ගැන උනන්දු වීමට එක් හේතුවක් නම්, Firefox C++ කේත පේළි මිලියන 4කට වඩා ලියා තිබීම සහ විවේචනාත්මක දුර්වලතා කිහිපයක් තිබීමයි. බ්‍රවුසරයේ ගෘහ නිර්මාණ ශිල්පය සම්පූර්ණයෙන්ම ප්‍රතිනිර්මාණය කිරීම සඳහා ක්වොන්ටම් ව්‍යාපෘතියේ කොටසක් ලෙස ෆයර්ෆොක්ස් හි බොහෝ සංරචක නැවත ලිවීම සඳහා එය කදිම තේරීමක් කරමින් රස්ට් ගොඩනගා ඇත්තේ ආරක්ෂාව සහ සමගාමී බව මනසේ තබාගෙනය. මොසිල්ලා විසින් සර්වෝ සංවර්ධනය කිරීමට රස්ට් භාවිතා කරයි, එය HTML විදැහුම්කරණ එන්ජිමක් වන අතර එය අවසානයේ වර්තමාන ෆයර්ෆොක්ස් විදැහුම්කරණ එන්ජිම ප්‍රතිස්ථාපනය කරයි. Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu සහ තවත් බොහෝ සමාගම් ඇතුළු තවත් බොහෝ සමාගම් ඔවුන්ගේ ව්‍යාපෘති සඳහා Rust භාවිතා කිරීමට පටන් ගෙන ඇත.

රස්ට් C භාෂාවේ ඇති වැදගත්ම ගැටලුවක් විසඳයි. එය ස්වයංක්‍රීය මතක කළමනාකරණයක් ලබා දෙයි, එබැවින් සංවර්ධකයින්ට එය යෙදුමේ ඇති සෑම වස්තුවක් සඳහාම අතින් වෙන් කර නිදහස් කිරීමට අවශ්‍ය නොවේ. රස්ට් අනෙකුත් නවීන භාෂාවලට වඩා වෙනස් වන්නේ එහි භාවිතයට නොගත් වස්තු ස්වයංක්‍රීයව මතකයෙන් ඉවත් කරන කසළ එකතු කරන්නෙකු නොමැති වීම හෝ ජාවා සඳහා වන ජාවා ධාවන කාල පරිසරය වැනි එය ක්‍රියා කිරීමට අවශ්‍ය ධාවන කාල පරිසරයක් නොමැති වීමයි. ඒ වෙනුවට, රස්ට් සතුව හිමිකම, ණය ගැනීම, යොමු කිරීම් සහ ජීවිත කාලය යන සංකල්ප ඇත. “අයිතිකරු එය භාවිතා කරන්නේද නැතහොත් එය ණයට ගන්නවාද යන්න දැක්වීමට වස්තුවකට ඇමතුම් ප්‍රකාශ කිරීමේ ක්‍රමයක් මලකඩ සතුව ඇත. ඔබ හුදෙක් වස්තුවක් ණයට ගන්නේ නම්, සම්පාදකයා මෙය නිරීක්ෂණය කරන අතර ඔබ එය යොමු කරන තාක් කල් මුල් පිටපත පවතින බව සහතික කරයි. අමතර කාලයකින් තොරව සම්පාදනය කරන වේලාවේදී කේතයට අනුරූප ඇමතුමක් ඇතුළු කරමින්, වස්තුවේ භාවිතය අවසන් වූ වහාම එය මතකයෙන් ඉවත් කරන බව මලකඩ සහතික කරයි, ”ට්‍රිප්ලෙට් පවසයි.

ස්වදේශික ධාවන කාලයක් නොමැතිකම ද රස්ට් හි ධනාත්මක ලක්ෂණයක් ලෙස සැලකිය හැකිය. ට්‍රිප්ලෙට් විශ්වාස කරන්නේ එය ක්‍රියාත්මක වන භාෂා පද්ධති ක්‍රමලේඛන මෙවලම් ලෙස භාවිතා කිරීමට අපහසු බවයි. ඔහු පැහැදිලි කරන පරිදි: "ඔබට ඕනෑම කේතයක් ඇමතීමට පෙර මෙම ධාවන කාලය ආරම්භ කළ යුතුය, ඔබ කාර්යයන් ඇමතීමට මෙම ධාවන කාලය භාවිතා කළ යුතුය, සහ ධාවන කාලය විසින්ම අනපේක්ෂිත අවස්ථාවලදී ඔබගේ පිටුපසින් අමතර කේතයක් ධාවනය කළ හැක."

රස්ට් ද ආරක්ෂිත සමාන්තර වැඩසටහන් සැපයීමට උත්සාහ කරයි. එය මතකය ආරක්‍ෂිත බවට පත් කරන එම විශේෂාංගම කුමන නූලට අයත් වන්නේ කුමන වස්තුවද සහ නූල් අතරට යැවිය හැක්කේ කුමන වස්තුද සහ අගුලක් අවශ්‍යද වැනි දේ පිළිබඳවද සටහනක් තබා ගනී.

මෙම සියලු අංගයන් පද්ධති ක්‍රමලේඛනය සඳහා නව මෙවලමක් ලෙස තෝරා ගැනීමට සංවර්ධකයින්ට ප්‍රමාණවත් තරම් රස්ට් බලගන්වයි. කෙසේ වෙතත්, සමාන්තර පරිගණනය සම්බන්ධයෙන් ගත් කල, රස්ට් තවමත් C ට වඩා ටිකක් පිටුපසින් සිටී.

ට්‍රිප්ලෙට් විසින් විශේෂ ක්‍රියාකාරී කණ්ඩායමක් නිර්මාණය කිරීමට අදහස් කරන අතර එමඟින් පද්ධති ක්‍රමලේඛන ක්ෂේත්‍රයේ C සම්පූර්ණයෙන්ම සමාන කිරීමට, අභිබවා යාමට සහ ප්‍රතිස්ථාපනය කිරීමට හැකි වන පරිදි අවශ්‍ය අංග රස්ට් වෙත හඳුන්වා දීම කෙරෙහි අවධානය යොමු කරයි. තුල Reddit මත නූල්, ඔහුගේ කතාවට කැප වූ ඔහු, "FFI/C Parity group නිර්මාණය කිරීමේ ක්‍රියාවලියක යෙදී සිටින අතර තවමත් වැඩ ආරම්භ කර නැත", දැනට ඔහු ඕනෑම ප්‍රශ්නයකට පිළිතුරු දීමට සූදානම් බවත්, අනාගතයේදී ඔහු අනිවාර්යයෙන්ම ක්ෂණික සැලසුම් ප්‍රකාශයට පත් කරන බවත් පැවසීය. සියළුම උනන්දුවක් දක්වන පාර්ශ්වයන් සඳහා ඔහුගේ මුලපිරීමේ කොටසක් ලෙස රස්ට් සංවර්ධනය සඳහා.

නව Intel Xeon Scalable ප්‍රොසෙසරවල දිස් වූ පාවෙන ලක්ෂ්‍ය ආකෘතියක් වන BFLOAT16 සඳහා සහය හඳුන්වා දීම, Rust හි බහු-නූල් සහය වැඩි දියුණු කිරීම මෙන්ම එකලස් කිරීම ස්ථාවර කිරීම කෙරෙහි FFI/C Parity සමූහය මුලින්ම අවධානය යොමු කරනු ඇතැයි උපකල්පනය කළ හැකිය. කේත ඇතුළත් කිරීම්.



මූලාශ්රය: 3dnews.ru

අදහස් එක් කරන්න