توصیه بزرگان فناوری : به سمت زبان های Rust یا GO بروید

سازمان آژانس امنیتی NSA گفته است که زبان‌های C و ++C رو اگه ممکن هست بذارید کنار و برید به سمت Rust، Swift، Java، Go و امثال آن چون معتقد است که مشکلات حافظه و امنیت مربوط به این موضوع بسیار مهم هست و این دو زبان‌ باید کنار گذاشته شود و باید با زبان‌هایی که امن هستند, استفاده شود.

در ادامه مدیر ارشد فناوری مایکروسافت هم گفته است که آره ما باید از این به بعد پروژه‌های جدید رو با سی و سی پلاس پلاس توسعه ندهیم و کنار گذاشته شود و به سمت زبان راست برویم و از این توصیه هم حمایت خواهیم کرد.

به همین خاطر هم تیم The Register از کمیته و سازندهٔ سی پلاس پلاس در این باره توضیح و نظرش رو خواسته است که سازندهٔ سی پلاس پلاس در پاسخ پست اخیری که فرستادم رو گفته است.

نظرش این هست که طبیعی است، مردم و به ویژه مدیران به هر چیز جدیدی اولش به‌ به چه چه می‌کند! به خصوص مدیران فکر می‌کنند هر چیز جدیدی قرار است زندگی اون ها رو آسون کند و پس یه واکنش در موردش دارند، در ادامه به این اشاره کرده که ما سال‌هاست در بهبود‌های امنیتی در کمیته کار کردیم و هدفمون هم همین بوده و مهم هم هست.

استراس‌تروپ: اکنون استاندارد سی پلاس پلاس به نوع کامل و ایمنی حافظه رسیده و می‌تونیم این تضمین رو داشته باشیم که با سی پلاس پلاس مدرن همه چیز به خوبی پیش می رود. توجه هم داشته باشید که هر زبانی (ایمن) از جمله Rust دارای حفره‌هایی است که امکان توسعهٔ کد نا امن رو فراهم می‌کند. (در واقع منظورش اینه شعار ندهید).

در ادامه به مستند Core Guidelines اشاره داشته است و گفته برای کد‌نویسی ایمن دستورالعمل‌های اساسی رو ما در این بخش گفته‌ایم چرا که هر کدی که به صورت دلخواه نوشته شود, نمی‌تواند ایمن باشد.

در ادامه اشاره کرده است که در حال بهبود هرچه بیشتر راندمان با حفظ پایداری در دامنهٔ بیشتری از دنیای نرم‌افزاری هستیم به طوری که باید این رو هم در نظر گرفت امروزه میلیار‌د‌ها خط کد به زبان سی پلاس پلاس مستقر شده‌اند و به همین دلیل تعویض کد‌ها، به سادگی ایمن‌سازی آن‌ها یک کار بسیار بزرگی است، هرچند مدیران مایکروسافت و ناسا هم گفته است که حتی اگه الآن بخواهیم کار جایگزینی کلی انجام دهیم ده‌ها سال طول می‌کشه و به این سادگی هم نیست.

استراس‌تروپ هم اشاره داشته که کد‌های قدیمی سی و سی پلاس پلاس رو باید به سبک نوین (Modern) بنویسید، انجام این کار ضروری است و در صورت عدم به‌روز رسانی با تودهٔ عظیمی از کد‌های نا امن سی و سی پلاس پلاس روبرو خواهیم بود.

کد‌ها باید ایمن باشند و یا با زبان‌هایی که چنین ادعایی دارند, بازنویسی شوند.

نتیجه‌گیری ناسا:

مدیران ارشدش معتقد به این هستند که باید پروژه‌های جدید رو با زبان راست توسعه بدهند.

نتیجه‌گیری از مایکروسافت:

سی پلاس پلاس غالب زبان‌های برنامه‌نویسی و دنیای نرم‌افزار هست، همهٔ مسائل پیش‌بینی شده و تمامی راه‌کار‌ها ارائه شده است.
کد‌های قدیمی را به‌روز رسانی کنید (نیازی به نگرانی نیست)، پروژه‌های جدید را هم با سی پلاس پلاس مدرن بنویسید.

نتیجه‌گیری کمیتهٔ استاندارد‌سازی:

کد‌های قدیمی دیگر جایی در دنیای کنونی ندارند، با توجه به میلیارد‌ها خط کد نوشته شده، با توجه به بررسی پروژه‌های بزرگ مشخص است از خیلی وقت‌ها پیش به‌روز رسانی‌ها در حال انجام هستند، کد‌های قدیمی با کد‌های جدید جایگزین و استاندارد‌های ایمن مورد توجه قرار گرفته است این رو با یک جستجوی ساده در بین انجمن‌ها می توان به وضوح دید که با چه سرعتی مردم در حال به‌روز شدن هستند.
سال‌هاست داریم در این باره صحبت می‌کنیم که استاندارد‌های جدید رو فرا بگیرید، تمامی شرکت‌های نام‌آور اپل، گوگل و غیره با سرعت بسیاری در حال به‌روز رسانی کد‌های سی پلاس پلاس به استاندارد ۲۰ هستند، این رو حداقل می شود در سیاه تغییرات کد‌های متن‌باز دید.

نتیجه‌گیری شخصی من:

توصیه‌های شخصی من:


۱. به توصیه‌های هر طرف دقت کنید (از نظر من جایگزینی بی‌معناست).
۲. به دستورالعمل‌های استاندارد توجه کنید، اصلاً در دنیای مهندسی دستورالعمل استاندارد وظیفه آن همین هست که شما رو در مسیر درستی قرار بدهد.
۳. ابزار‌های کمکی و آنالیز رو در محیط‌های توسعه به کار بگیرید (این امر برای هر ابزاری مفید هست).
۴. زبانی مثل سی پلاس پلاس اسباب‌بازی امروز و فردا نیست، سال‌هاست در دنیای نرم‌افزار حکم‌رانی می‌کنه و کمیته هم همینطور دست بسته ننشسته است که برای این صحبت‌ها که دنیای نرم‌افزار محکوم به عقب افتادگی بشود. حتی مجموعهٔ همهٔ زبان‌هایی که به عنوان جایگزین مطرح شدن پیش‌نویسه‌های به‌روز رسانی آن به اندازهٔ استاندارد‌های قبلی سی پلاس پلاس نیست! این یک معنا دارد، اون هم به‌روز رسانی عظیم و اساسی و پوست‌اندازی بسیار شدید استاندارد هست که خودش را با احتمالات آینده هماهنگ و ادغام خواهد کرد.

همانطور که استاندارد تأکید کرده است، کد‌های شما در نسخه‌های جدید ایمن هستند و مدیریت چنین چیزی در یک پوست‌اندازیِ سی پلاس پلاس، بسیار بزرگ و اقعاً شاهکار است.

پیوند های زیر:

In Rust We Trust: Microsoft Azure CTO shuns C and C++

NSA urges orgs to use memory-safe programming languages

کانال Compez’s World

22/11/24 9 بازدید 0 1

, , , , , , , , , , ,
زبان برنامه‌نویسی کربن چیست؟
32 بازدید 0
5 چارچوب کاربردی زبان Go
38 بازدید 0

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *