زبان‌های برنامه‌نویسی: از هر چهار توسعه‌دهنده Go، یک نفر از این ویژگی «بیشترین درخواست» استفاده می‌کند


توسعه دهندگان-امنیت

گتی ایماژ/نیتات ترمی

حدود یک چهارم توسعه دهندگانی که از زبان برنامه نویسی متن باز گوگل استفاده می کنند، شروع به استفاده از “عمومی” کرده اند – یک ویژگی بسیار مورد تقاضا که تا سال جاری وجود نداشت – و در حالی که توسعه دهندگان نگران امنیت زنجیره تامین هستند، آنها برای پاسخ به آسیب پذیری ها مجهز نیستند.

Go در نسخه 1.18 Go که در ماه مارس منتشر شد، کلیات عمومی را به دست آورد، زمانی که به عنوان «بیشترین ویژگی درخواستی Go» توصیف شد، بنابراین جای تعجب نیست که از آن زمان به سرعت مورد استفاده قرار گرفته است. مطابق با نظرسنجی توسعه دهندگان Go ژوئن 2022، بیش از یک چهارم از 5752 پاسخ دهنده شروع به استفاده از ژنریک در کد Go خود کرده اند. Go شانزدهمین زبان برنامه نویسی محبوب است، به گفته تحلیلگر توسعه دهندگان، رتبه بندی Redmonk در ژانویه 2022.

تاد کولزا، و طراح UX در برو، در یک پست وبلاگ ذکر شده است افزودن ژنریک ها مورد استقبال قرار گرفت، اما اشاره شد که حدود یک سوم توسعه دهندگان با محدودیت هایی در اجرای اولیه آن مواجه هستند.

Generics یا پشتیبانی از پارامترهای نوع، ایمنی نوع بیشتری را برای Go به ارمغان می آورد و بهره وری و عملکرد را بهبود می بخشد. حدود 86 درصد از پاسخ دهندگان از ژنریک های ارسال شده در Go 1.18 آگاه بودند و 26 درصد از آن استفاده کرده بودند که 14 درصد قبلاً از ژنریک ها در تولید یا کدهای منتشر شده استفاده می کردند. با این حال، 54 درصد گفتند که امروز نیازی به استفاده از ژنریک ندارند، در حالی که 12 درصد از ژنریک ها استفاده کرده اند اما در کد تولیدی استفاده نکرده اند.

موانع دیگر برای استفاده از ژنریک ها این بود که لینترها از آنها پشتیبانی نمی کردند در حالی که 26٪ گزارش دادند که از نسخه قبل از 1.8 استفاده می کردند یا در یک توزیع لینوکس قرار داشتند که بسته های Go 1.18 را ارائه نمی داد.

اما 10 درصد گزارش کردند که استفاده از ژنریک منجر به تکرار کمتر کد شده است.

Kulesza می‌گوید نگرانی در مورد آسیب‌پذیری‌های وابستگی‌های Go یک “نگرانی امنیتی مهم” است. تنها 12 درصد از توسعه دهندگان از ابزارهایی مانند تست فاز روی کد Go استفاده می کردند. 65 درصد از توسعه دهندگان از ابزارهای تجزیه و تحلیل استاتیک استفاده می کردند، اما تنها 35 درصد از آنها برای یافتن آسیب پذیری ها از آن استفاده می کنند.

این نظرسنجی نشان داد که 84 درصد از ابزار امنیتی در طول زمان CI/CD استفاده می‌کنند، اما این اغلب در چرخه توسعه بسیار دیر بود، زیرا توسعه‌دهندگان می‌خواهند قبل از ایجاد یک آسیب‌پذیری در یک وابستگی مطلع شوند.

تیم Go این هفته نیز جدید را راه اندازی کرد ابزارهای مدیریت آسیب پذیری و یک پایگاه داده آسیب پذیری برای Go بر اساس داده های نگهدارنده بسته Go. Go 1.18 همچنین اولین نسخه ای بود که قابلیت fuzzing را در زنجیره ابزار استاندارد خود داشت. تست های Go fuzz توسط Google’s open پشتیبانی می شوند ابزار fuzzing منبع OSS-Fuzz.

اینها همه فعالیت‌هایی هستند که اخیراً NSA به توسعه‌دهندگان توصیه کرده است تا امنیت زنجیره تأمین نرم‌افزار و شیوه‌های کدگذاری ایمن را انجام دهند، که پس از نقض SolarWinds در سال 2020 مورد توجه قرار گرفت.

نظرسنجی Go برخی از مشکلاتی را که توسعه دهندگان با آن روبرو هستند برجسته می کند.

پنجاه و هفت درصد از توسعه دهندگان گزارش دادند که در ارزیابی امنیت کتابخانه های شخص ثالث مشکل دارند. کولسزا یادداشت می کند ربات وابسته GitHub یا تیم Go govulncheck می تواند در اینجا کمک کند. در واقع، Dependabot رایج‌ترین روشی بود که پاسخ‌دهندگان از آسیب‌پذیری در یک وابستگی یاد گرفتند.

با این حال، تنها 12 درصد گزارش دادند که تحقیقی را انجام دادند تا ببینند آیا نرم‌افزارشان تحت تأثیر آسیب‌پذیری قرار گرفته است یا خیر. این نشان داد که 70 درصد از کسانی که تأثیر یک آسیب پذیری را بررسی کردند، فرآیند تجزیه و تحلیل تأثیر را چالش برانگیزترین دیدند. آنها همچنین گزارش دادند که این کار اغلب برنامه ریزی نشده و بدون پاداش بوده است.

محبوب ترین ویرایشگر کد برای توسعه دهندگان Go، کد ویژوال استودیو (VS Code) چند پلتفرمی مایکروسافت بود که توسط 45 درصد از پاسخ دهندگان استفاده می شود و پس از آن GoLand/IntelliJ (34٪)، Vim/Neovim (14٪) و Emacs قرار دارند. (3%).

حدود 59٪ از پاسخ دهندگان بر روی یک ماشین لینوکس توسعه یافته اند، پس از آن 52٪ در macOS، و 23٪ در ویندوز، با 13٪ از زیر سیستم ویندوز برای لینوکس استفاده می کنند. تا کنون رایج ترین پلتفرم مورد هدف لینوکس با 93 درصد، پس از آن ویندوز با 16 درصد، macOS با 13 درصد و دستگاه های اینترنت اشیا با 5 درصد قرار دارند.


منبع: https://www.zdnet.com/article/programming-languages-one-in-four-go-developers-are-already-using-this-most-requested-feature/#ftag=RSSbaffb68