برنامه نویسی

جشن 10 سال زنگ زدگی 1.0

ده سال پیش ، زنگ زدن 1.0 منتشر شد ، گامی جسورانه به سمت برنامه نویسی ایمن تر ، همزمان و اجرا. امروز ، زنگ زدن دیگر یک زبان طاقچه نیست. این یک ابزار اصلی در ابزار مهندس مدرن است که به بسیاری از شرکت ها اعتماد دارد.

بنابراین چه چیزی باعث می شود زبان برنامه نویسی زنگ زدگی منحصر به فرد فقط عملکرد آن نیست بلکه فلسفه آن است: توانمندسازی توسعه دهندگان برای نوشتن کدی که هم ایمن و هم بی باک باشد بدون اینکه کنترل کنترل شود.

من به عنوان یک مهندس ، نه تنها برای دستاوردهای فنی آن ، بلکه برای چگونگی تجدید نظر در طراحی سیستم ها از زمین به بالا ، الهام بخش هستم:

  • مالکیت و ** وام گرفتن ** به جای جمع آوری زباله.
  • ایمنی حافظه بدون زمان اجرا
  • همزمانی بدون مسابقه داده

زنگ زدن نه تنها مشکلات را حل کرده است ، بلکه به شکلی که ما فکر می کنیم و به جلو نگاه می کنیم ، تغییر کرده است ، Rust آماده است تا حتی بیشتر پیش برود: تعبیه شده ، AI ، OS ، سرورهای وب ، Edge Computin و شاید فراتر از آن.

Rust که از آزمایشگاه های تحقیقاتی موزیلا متولد شده است ، به عنوان پاسخی به چالش های مداوم زبانها مانند C و C ++ ظاهر شد ، که در حالی که قدرتمند بود ، تحت تأثیر ایمنی حافظه ، مشکلات همزمان و انتزاع های ناخوشایند قرار گرفتند.

ج ، بستر برنامه نویسی سیستم ها از دهه 1970 ، عملکرد بی نظیری و کنترل سطح پایین را ارائه داد. با این حال ، مدیریت حافظه دستی آن تعداد زیادی از آسیب پذیری ها را دعوت کرده است تا برنامه نویسان مسئولیت تخصیص و آزاد کردن حافظه را با استفاده از Malloc و Free ، فرایندی که مستعد خطاهایی مانند نشانگرهای آویزان ، فریزرهای مضاعف و سرریز بافر بودند. این مسائل فقط ناراحتی نبودند. آنها قابل بهره برداری بودند. براساس بانک اطلاعاتی MITER CVE ، بیش از 60 ٪ از آسیب پذیری های نرم افزاری در اوایل دهه 2010 با سوء مدیریت حافظه در برنامه های C و C ++ گره خورده است.

با تبدیل شدن پردازنده های چند هسته ای در دهه 2000 و همزمانی بسیار مهم شد. C و C ++ به ابتدایی سطح پایین مانند موضوعات POSIX یا API های خاص سکو ، که استفاده صحیح از آن بسیار دشوار بود ، تکیه کردند. مسابقه داده ها ، بن بست ها و رفتار نامشخص زمانی که چندین موضوع به حافظه مشترک بدون هماهنگ سازی مناسب دسترسی پیدا می کردند ، متداول بود.

زنگ زدننسخه 1.0 با بیان این موضوعات ، با این مسائل روبرو شد و سخت گیری آکادمیک را با عمل گرایی هکر آمیخت. این مالکیت کلیدی نوآوری ، وام گرفتن و طول عمر است ، بنابراین کل کلاس های اشکالات را در زمان کامپایل و بدون قربانی کردن عملکرد از بین می برد.

مالکیت وت قرض گرفتن = ایمنی حافظه بدون *جمع کننده زباله
*

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

اکنون که بنیاد زنگ زدگی به زبان برنامه نویسی زنگ زدگی بنابراین ما به عنوان Goosey Inc ، در حال حاضر نزدیک هستیم که همه پروژه های خود را پشت سر بگذاریم زنگ زدن و تبدیل شدن به یک حامی بنیاد زنگ زدگی.

یک دهه بعد زنگ زدن 1.0 ، این زبان به عنوان گواهی بر آنچه اتفاق می افتد هنگامی که دقت دانشگاهی با نبوغ هکر و با حل ایمنی حافظه ، همزمانی و مشکلات انتزاعی که C و Rust را گرفتار کرده است ، برنامه نویسی سیستم ها را دوباره تعریف کرده است. این فقط یک ابزار نیست ، بلکه یک حرکت است ، توسعه دهندگان را قادر می سازد تا نرم افزاری را سریعتر ، ایمن تر و مطمئن تر بسازند. در اینجا به یک دهه دیگر زنگ زدن، جایی که تنها تصادفات آنهایی هستند که ما می خواهیم بنویسیم!

در اینجا به دهه آینده مهندسی بی باک است. 🦀

نوشته های مشابه

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

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

دکمه بازگشت به بالا