"زنګ د سیسټم برنامه کولو راتلونکی دی ، C نوی جمع کونکی دی" - د انټیل یو مخکښ انجینر لخوا وینا

په وروستي خلاصې سرچینې ټیکنالوژۍ غونډه کې (OSTS) جوش ټریپلیټپه Intel کې یو لوړ پوړی انجنیر وویل، د هغه شرکت لیوالتیا لري چې د C ژبې سره "برابرۍ" ته ورسیږي چې لاهم په نږدې راتلونکي کې په سیسټمونو او د ټیټې کچې پراختیا حاکمیت لري. په خپلو خبرو کې د "Intel او Rust: د سیسټمونو برنامه کولو راتلونکي" تر سرلیک لاندې ، هغه د سیسټمونو برنامې تاریخ په اړه هم خبرې وکړې ، څنګه C د ډیفالټ سیسټمونو برنامې ژبه شوه ، د زنګ کومې ځانګړتیاوې دې ته د C په پرتله ګټه ورکوي ، او دا څنګه په بشپړ ډول کولی شي. د برنامه کولو پدې برخه کې C ځای په ځای کړئ.

"زنګ د سیسټم برنامه کولو راتلونکی دی ، C نوی جمع کونکی دی" - د انټیل یو مخکښ انجینر لخوا وینا

د سیسټم برنامه کول د سافټویر پراختیا او مدیریت دی چې د اپلیکیشن غوښتنلیکونو رامینځته کولو لپاره د پلیټ فارم په توګه کار کوي ، ډاډ ترلاسه کوي چې وروستی د پروسیسر ، RAM ، ان پټ/آؤټ پټ وسیلو او شبکې تجهیزاتو سره متقابل عمل کوي. د سیسټم سافټویر د انٹرفیسونو په شکل کې یو ځانګړی خلاصون رامینځته کوي چې د غوښتنلیک سافټویر رامینځته کولو کې مرسته کوي پرته لدې چې د هارډویر پخپله څنګه کار کوي توضیحاتو ته لاړ شي.

ټریپلیټ پخپله د سیسټم پروګرامونه د "هر هغه څه په توګه تعریفوي چې غوښتنلیک نه وي." پدې کې شیان شامل دي لکه BIOS، فرم ویئر، بوټلوډرونه او د عملیاتي سیسټم کرنلونه، د ایمبیډ شوي ټیټ کچې کوډ مختلف ډولونه، او د مجازی ماشین پلي کول. په زړه پورې خبره دا ده چې ټریپلټ پدې باور دی چې ویب براوزر هم د سیسټم سافټویر دی ، ځکه چې براوزر ډیر دمخه د "یوازې یو برنامه" څخه ډیر شوی ، د ویب سایټونو او ویب غوښتنلیکونو لپاره یو واحد "پلیټ فارم" ګرځیدلی.

په تیرو وختونو کې، د سیسټم ډیری پروګرامونه، په شمول د BIOS، بوټلوډر او فرم ویئر، د مجلس په ژبه لیکل شوي. په 1960 لسیزه کې، تجربو د لوړې کچې ژبو لپاره د هارډویر مالتړ چمتو کولو لپاره پیل وکړ، چې د ژبو لکه PL/S، BLISS، BCPL، او ALGOL 68 رامینځته کولو المل شو.

بیا، په 1970s کې، ډینس ریچي د یونیکس عملیاتي سیسټم لپاره د C پروګرام کولو ژبه جوړه کړه. د B پروګرامینګ ژبه کې رامینځته شوی، کوم چې حتی د ټایپ کولو ملاتړ هم نه درلود، C د ځواکمن لوړ کچې دندو څخه ډک شوی و چې د عملیاتي سیسټمونو او چلوونکو لیکلو لپاره خورا مناسب و. د UNIX ډیری برخې، د هغې د کرنل په شمول، په پای کې په C کې بیا لیکل شوي. وروسته، د سیسټم ډیری نور پروګرامونه، په شمول د اوریکل ډیټابیس، د وینډوز ډیری سرچینې کوډ، او د لینکس عملیاتي سیسټم هم په C کې لیکل شوي.

سي په دې برخه کې د پام وړ ملاتړ ترلاسه کړی دی. مګر څه شی واقعیا پراختیا کونکي دې ته اړ کړي؟ ټریپلټ په دې باور دی چې د دې لپاره چې پراختیا کونکي وهڅوي چې له یوې برنامې ژبې څخه بلې ته واړوي ، وروستی باید لومړی د زړو ځانګړتیاو له لاسه ورکولو پرته نوي ب featuresې چمتو کړي.

لومړی، ژبه باید "مناسب اغیزناک" نوي ځانګړتیاوې وړاندې کړي. "هغه نور ښه نشي کیدی. دا باید د پام وړ غوره وي چې د هڅو او انجینرۍ وخت توجیه کړو چې دا لیږد رامینځته کولو لپاره اخلي ، "هغه تشریح کوي. د مجلس ژبې په پرتله، C د وړاندیز کولو لپاره ډیر شیان درلودل. دا د یو څه ډول خوندي چلند ملاتړ وکړ ، د لوړې کچې ساختمانونو سره غوره پورټ وړتیا او فعالیت چمتو کړ ، او په ټولیز ډول یې خورا ډیر د لوستلو وړ کوډ رامینځته کړ.

دوهم، ژبه باید د پخوانیو ځانګړتیاو لپاره مالتړ چمتو کړي، دا پدې مانا ده چې C ته د لیږد په تاریخ کې، پراختیا کونکي باید ډاډ ترلاسه کړي چې دا د مجلس ژبې څخه لږ فعاله نه وه. ټریپلیټ تشریح کوي: "یوه نوې ژبه نه یوازې ښه کیدی شي، دا باید هم ښه وي." د ګړندي کیدو او د هر ډول ډیټا ډول ملاتړ کولو سربیره چې د اسمبلۍ ژبه یې کارولی شي ، C هم هغه څه درلودل چې ټریپلټ د "تیښتې هچ" په نوم یادیږي — یعنی دا په خپل ځان کې د اسمبلۍ ژبې کوډ داخلولو ملاتړ کوي.

"زنګ د سیسټم برنامه کولو راتلونکی دی ، C نوی جمع کونکی دی" - د انټیل یو مخکښ انجینر لخوا وینا

ټریپلټ په دې باور دی چې C اوس هغه څه رامینځته کیږي چې کلونه دمخه د مجلس ژبه وه. "C نوی جمع کونکی دی،" هغه اعلان کوي. اوس پراختیا کونکي د نوي لوړې کچې ژبې په لټه کې دي چې نه یوازې هغه ستونزې حل کړي چې په C کې راټول شوي چې نور نشي حل کیدی ، بلکه په زړه پوري نوي ب featuresې هم وړاندې کوي. دا ډول ژبه باید دومره مجبوره وي چې پراختیا کونکي دې ته واړوي ، باید خوندي وي ، د حافظې اتومات مدیریت چمتو کړي ، او نور ډیر څه.

"هر هغه ژبه چې غواړي له C څخه غوره وي باید یوازې د بفر اوور فلو محافظت څخه ډیر څه وړاندیز وکړي که چیرې دا واقعیا غواړي یو مجبور بدیل وي. پراختیا کونکي د کارونې او فعالیت سره علاقه لري ، د لیکلو کوډ چې پخپله توضیحي وي او په لږو لیکو کې ډیر کار کوي. امنیتي مسایل هم باید حل شي. د کارولو اسانتیا او فعالیت په ګډه سره ځي. هرڅومره لږ کوډ چې تاسو باید د یو څه لاسته راوړلو لپاره ولیکئ ، لږ فرصت چې تاسو کومه غلطي وکړئ ، امنیت پورې اړوند یا نه ، "ټریپلیټ تشریح کوي.

د زنګ او سی پرتله کول

بیرته په 2006 کې، ګریډون هوار، د موزیلا کارمند، د یوې شخصي پروژې په توګه د زنګ لیکل پیل کړل. او په 2009 کې، موزیلا د خپلو اړتیاو لپاره د Rust پراختیا سپانسر کول پیل کړل، او د ژبې د لا پراختیا لپاره یې ټیم پراخ کړ.

یو له هغه دلیلونو څخه چې موزیلا په نوې ژبه کې علاقه درلوده دا دی چې فایرفوکس د C++ کوډ په 4 ملیون لاینونو کې لیکل شوی و او یو څو مهم زیانونه یې درلودل. زنګ د امنیت او همغږي سره په ذهن کې جوړ شوی و، دا د کوانټم پروژې د یوې برخې په توګه د فایرفوکس ډیری اجزاوو بیا لیکلو لپاره یو غوره انتخاب دی ترڅو د براوزر جوړښت په بشپړه توګه بیا ډیزاین کړي. موزیلا د سروو رامینځته کولو لپاره زنګ هم کاروي ، د HTML رینډرینګ انجن چې په پای کې به د اوسني فایرفاکس رینډرینګ انجن ځای په ځای کړي. ډیری نورو شرکتونو د خپلو پروژو لپاره د زنګ کارول پیل کړي ، پشمول مایکروسافټ ، ګوګل ، فیسبوک ، ایمیزون ، ډراپ باکس ، فاسټلي ، شیف ، بیډو او نور ډیر څه.

زنګ د C ژبې یوه خورا مهمه ستونزه حل کوي. دا د اتوماتیک حافظې مدیریت وړاندیز کوي نو پرمخ وړونکي اړتیا نلري چې په لاسي ډول تخصیص کړي او بیا یې په غوښتنلیک کې د هر څیز لپاره وړیا کړي. هغه څه چې زنګ د نورو عصري ژبو څخه توپیر کوي دا دی چې دا د کثافاتو راټولونکی نلري چې په اوتومات ډول له حافظې څخه نه کارول شوي توکي لرې کوي ، او نه هم دا د کار کولو لپاره د رنټایم چاپیریال ته اړتیا لري ، لکه د جاوا لپاره د جاوا رنټایم چاپیریال. پرځای یې، زنګ د ملکیت، پور اخیستل، حوالې، او د ژوند دوره لري. "زنګ یو شی ته د زنګ وهلو اعلانولو لپاره سیسټم لري ترڅو وښیې چې ایا مالک یې کاروي یا یوازې پور اخلي. که تاسو په ساده ډول یو شی په پور اخلئ، کمپیلر به دا تعقیب کړي او ډاډ ترلاسه کړي چې اصلي په خپل ځای کې پاتې کیږي تر هغه چې تاسو یې حواله کوئ. زنګ به دا هم یقیني کړي چې څیز د حافظې څخه لرې کیږي کله چې د هغې کارول بشپړ شي ، پرته له اضافي وخت څخه د تالیف په وخت کې کوډ ته ورته زنګ دننه کول ، "ټریپلیټ وايي.

د اصلي وخت نشتوالی هم د زنګ مثبت ځانګړتیا ګڼل کیدی شي. ټریپلټ په دې باور دی چې هغه ژبې چې دا پرمخ ځي د سیسټمونو پروګرام کولو وسیلو په توګه کارول ستونزمن دي. لکه څنګه چې هغه تشریح کوي: "تاسو باید دا رن ټایم پیل کړئ مخکې لدې چې تاسو کوم کوډ ته زنګ ووهئ ، تاسو باید دا رن ټایم وکاروئ د فعالیتونو زنګ وهلو لپاره ، او د رن ټایم پخپله ممکن په ناڅاپي وختونو کې ستاسو شاته اضافي کوډ پرمخ وړي."

زنګ هم هڅه کوي چې خوندي موازي برنامه چمتو کړي. ورته ځانګړتیاوې چې دا حافظه خوندي کوي د شیانو تعقیب ساتي لکه کوم تار د کوم څیز مالکیت لري او کوم شیان د تارونو ترمینځ تیریږي او کوم بند ته اړتیا لري.

دا ټولې ب featuresې زنګ د پراختیا کونکو لپاره کافي اړوي ترڅو دا د سیسټمونو برنامې لپاره د نوي وسیلې په توګه غوره کړي. په هرصورت، د موازي کمپیوټري شرایطو کې، زنګ لاهم د C څخه یو څه وروسته دی.

ټریپلټ اراده لري چې یوه ځانګړې کاري ډله رامینځته کړي چې په Rust کې د اړینو ځانګړتیاو په معرفي کولو تمرکز وکړي ترڅو دا د سیسټمونو برنامه کولو په ډګر کې C په بشپړ ډول مساوي ، تیر او ځای په ځای کړي. IN په Reddit کې موضوعهغه د خپلو خبرو په دوام وویل چې "د FFI/C برابرۍ ګروپ د جوړولو په حال کې دی او تراوسه یې کار نه دی پیل کړی،" د اوس لپاره هغه چمتو دی چې هرې پوښتنې ته ځواب ووایي، او په راتلونکي کې به خامخا سمدستي پلانونه خپاره کړي. د ټولو ښکیلو اړخونو لپاره د هغه د نوښت د یوې برخې په توګه د زنګ پراختیا لپاره.

داسې انګیرل کیدی شي چې د FFI/C پیریټ ګروپ به لومړی په زنګ کې د څو تریډینګ ملاتړ ښه کولو باندې تمرکز وکړي ، د BFLOAT16 لپاره ملاتړ معرفي کړي ، د فلوټینګ پوائنټ ب formatه چې په نوي Intel Xeon Scalable پروسیسرونو کې څرګند شوی ، او همدارنګه د اسمبلۍ ثبات. کوډ داخلول.



سرچینه: 3dnews.ru

Add a comment