۲۸ مهر ۱۴۰۴

Techboy

اخبار و اطلاعات روز تکنولوژی

پروفایل‌های قهرمانان بنیان‌گذار C++ برای ایمنی حافظه

بنیان‌گذار C++، بیارنه استروستراپ می‌گوید پروفایل‌ها برای آیندهٔ این زبان ضروری هستند و برخلاف راه‌حل‌های اد‑هاک، کد موجود را خراب نمی‌کنند.

بنیان‌گذار C++، بیارنه استروستراپ می‌گوید پروفایل‌ها برای آیندهٔ این زبان ضروری هستند و برخلاف راه‌حل‌های اد‑هاک، کد موجود را خراب نمی‌کنند.

مشکلات ایمنی حافظه در C++ اخیراً تحت فشار قرار گرفته‌اند، با افزایش علاقه به پروژه‌هایی مانند TrapC و Safe C++ که سعی در حل این مسأله دارند. اما طراح C++، بیارنه استروستروپ، همواره بر ترویج پروفایل‌ها به عنوان ضروری برای ایمنی در C++ اصرار دارد.

پروفایل‌ها می‌توانند تضمین‌هایی برای اعمال محدودیت‌ها بر ویژگی‌های موجود ارائه دهند. در یادداشتی که در ۷ فوریه به اعضای کمیته C++ سازمان ISO (سازمان بین‌المللی استانداردسازی) فرستاد، استروستروپ بر مزایای پروفایل‌ها تأکید کرد و خاطرنشان نمود که ایمنی نوع و ایمنی منابع C++، از جمله ایمنی حافظه، از همان ابتدا اهداف C++ بوده‌اند.

آسمان در حال سقوط نیست، اما مگر آنکه هم‌اکنون اقدام کنیم و C++ را به مسیری هدایت کنیم که چارچوب انعطاف‌پذیری از پروفایل‌ها (پشتیبان انواع مختلف ایمنی) را پشتیبانی کند، با کاهش دردناکی مواجه می‌شویم، استروستروپ که C++ را در سال ۱۹۷۹ پایه‌گذار کرد، گفت. به‌ گفته استروستروپ، پروفایل‌ها برای آینده زبان ضروری‌اند، کدهای موجود را خراب نمی‌کنند و مانع ویژگی جدید محبوب نمی‌شوند. همچنین بخشی از یک سنت طولانی در تکامل C++ هستند. او حمایت از پروفایل‌های اولیه در C++ ۲۶ را توصیه کرد و در مقابل محدودیت‌های ناسازگار و اختصاصی به‌عنوان گزینهٔ جایگزین هشدار داد.

«این به وضوح یک یادداشت فنی سنتی که زبان یا ویژگی کتابخانه‌ای جدید را پیشنهاد می‌کند، نیست»، استروستروپ گفت. «این یک فراخوان برای اقدام فوری است که تا حدی در واکنش به حملات بی‌سابقه و جدی به C++ است.» زبان تحت حمله سازمان‌های نظارتی ایالات متحده و اتحادیهٔ اروپا است، استروستروپ تأکید کرد. در فوریهٔ ۲۰۲۴، کاخ سفید خواستار دور شدن از زبان‌هایی با مشکلات ایمنی حافظه، به‌خصوص C++ و C، شد.

استروستروپ قبلاً پروفایل‌ها را در واکنش به نگرانی‌ها درباره ایمنی حافظه ترویج کرده بود. درخواست‌های ایمنی حافظه غیرمنطقی نیست، او گفت. «پروفایل‌ها چارچوبی متحدکننده فراهم می‌کنند که به جامعهٔ C++ امکان می‌دهد چالش‌های ایمنی را بدون به خطر انداختن نقاط قوت اصلی C++ مدنظر داشته باشند»، استروستروپ گفت.

سایر تلاش‌ها اخیراً برای رفع نگرانی‌های ایمنی حافظه در C++ و C بوجود آمده‌اند. TrapC یک شاخه از زبان C است که به عنوان یک کامپایلر توسعه‌ای برای رفع ایمنی حافظه C/C++ عمل می‌کند. Safe C++ وعده می‌دهد که زیرمجموعه‌ای کاملاً ایمن از C++ باشد.