
در فضای مهندسی نرمافزار و توسعه سیستمهای کلان، همواره یک چالش و تضاد سنتی وجود داشته است: انتخاب میان راحتی و ارگونومی زبانهای سطح بالا، یا قدرت و کنترل دقیق زبانهای سطح پایین بر روی منابع سختافزاری. زبان برنامهنویسی راست با هدف شکستن این پارادایم قدیمی و حل این تعارض دیرینه خلق شده است. این زبان با ایجاد تعادلی بینظیر میان توانمندیهای فنی فوقالعاده و تجربه توسعه عالی، به برنامهنویسان اجازه میدهد تا جزئیات سطح پایین سیستم (مانند مدیریت حافظه) را به طور کامل در دست بگیرند، بدون اینکه با مشکلات، باگها و پیچیدگیهای سنتیِ همراه با این سطح از کنترل درگیر شوند.
کتاب فیزیکی حاضر، به عنوان معتبرترین و استانداردترین راهنمای رسمی برای ورود به دنیای این زبان برنامهنویسی قدرتمند تالیف شده است. این اثر به شما کمک میکند تا نرمافزارهایی به مراتب سریعتر و قابل اعتمادتر بنویسید. اگر به دنبال ارتقای مهارتهای خود و عبور از مرزهای برنامهنویسی سنتی هستید، این کتاب یک نقشه راه گامبهگام و عملی برای دستیابی به بالاترین سطح از پایداری و کارایی در پروژههای نرمافزاری است.
موفقیت یک فناوری جدید در دنیای واقعی با میزان پذیرش آن توسط گروههای مختلف سنجیده میشود. این کتاب پتانسیلهای راست را برای چهار گروه کلیدی از مخاطبان تبیین میکند:
راست به عنوان یک ابزار بسیار کارآمد برای همکاری میان تیمهای بزرگ توسعهدهنده با سطوح مختلف دانش از برنامهنویسی سیستم شناخته میشود. کدهای سطح پایین معمولاً مستعد باگهای ظریف و پنهانی هستند که در سایر زبانها تنها از طریق آزمونهای گسترده و بررسیهای دقیق کد توسط مهندسان ارشد کشف میشوند. در این میان، کامپایلر راست نقش یک دروازهبان سختگیر را ایفا میکند؛ این کامپایلر هوشمند با امتناع از کامپایل کردن کدهایی که دارای خطاهای پنهان (به ویژه باگهای مربوط به همزمانی و اجرای موازی) هستند، پایداری سیستم را تضمین مینماید. همراهی با این کامپایلر به اعضای تیم اجازه میدهد تا به جای تعقیب باگهای فرار، تمام تمرکز خود را بر روی منطق اصلی برنامه بگذارند.
علاوه بر این، ابزارهای مدرن بومی این اکوسیستم سرعت کار تیمی را به شدت افزایش میدهند:
ابزار کارگو به عنوان مدیریتکننده وابستگیها و ابزار ساخت پروژه، فرآیند افزودن، کامپایل و مدیریت کتابخانهها را کاملاً بدون دردسر و یکپارچه میکند.
ابزار راستفرمت با اعمال خودکار استانداردهای نگارشی، یکپارچگی کامل کدهای منبع را میان تمام برنامهنویسان تضمین مینماید.
کارساز زبان راست نیز با ارائه قابلیتهای پیشرفته در محیطهای توسعه، امکان تکمیل خودکار کدها و نمایش خطاهای درونخطی را فراهم میآورد.
این اثر یک ابزار آموزشی ایدهآل برای دانشجویان و تمام کسانی است که میخواهند مفاهیم عمیق سیستمهای رایانهای را فرابگیرند. با استفاده از این زبان، بسیاری از افراد توانستهاند مباحث پیچیدهای چون توسعه سیستمعاملها را به صورت عملی تجربه کنند. جامعه کاربری این فناوری بسیار پذیرا و پاسخگوی پرسشهای نوآموزان است. هدف اصلی کتاب، تبدیل مفاهیم انتزاعی سختافزاری به دانش کاربردی و قابل درک برای همه است.
کلمات کلیدی:امروزه صدها شرکت بزرگ و کوچک در سراسر جهان از این فناوری در محیطهای عملیاتی خود برای انجام کارهای متنوع استفاده میکنند؛ از توسعه ابزارهای خط فرمان، خدمات وب و ابزارهای دوآپس گرفته تا سیستمهای نهفته، تحلیل و رمزگشایی فایلهای صوتی و تصویری، رمزارزها، بیوانفورماتیک، موتورهای جستجو، اینترنت اشیاء، یادگیری ماشین و حتی بخشهای اصلی مرورگر فایرفاکس.
اگر علاقهمند به مشارکت در توسعه خود زبان، ابزارهای جانبی و کتابخانههای استاندارد هستید، این اثر زیرساختهای فکری لازم برای ورود به جامعه توسعهدهندگان متنباز را برای شما فراهم میکند.
یکی از کلیدیترین مفاهیمی که در این کتاب فیزیکی با آن آشنا خواهید شد، مفهوم انتزاع با هزینه صفر است. این اصل به این معناست که ویژگیها و قابلیتهای سطح بالای زبان به گونهای طراحی شدهاند که در زمان کامپایل به کدهای سطح پایین و بسیار سریعی تبدیل میشوند، به طوری که کدهای نهایی دقیقاً مشابه یا حتی سریعتر از کدهای نوشتهشده به صورت دستی خواهند بود. راست تلاش میکند تا کدهای امن شما، کدهایی فوقالعاده سریع نیز باشند.
بررسیهای سختگیرانه کامپایلر تضمین میکنند که در زمان افزودن ویژگیهای جدید به نرمافزار یا بازسازی ساختار کدهای قدیمی، پایداری برنامه دستخوش تغییر نشود. این رویکرد کاملاً در تضاد با کدهای شکننده سنتی در زبانهای قدیمی است، جایی که توسعهدهندگان همواره از تغییر یا اصلاح بخشهای پایه نرمافزار وحشت دارند. بزرگترین جاهطلبی این فناوری، حذف مصالحههایی است که برنامهنویسان برای دههها پذیرفتهاند؛ یعنی ارائه همزمان امنیت و بهرهوری در کنار سرعت و ارگونومی بالا.
این کتاب فرض را بر این گذاشته است که شما پیش از این تجربه نوشتن کد به یک زبان برنامهنویسی دیگر را داشتهاید، اما هیچ فرضی درباره نوع آن زبان وجود ندارد. کتاب به دو دسته کلی تقسیم میشود: فصلهای مفهومی و فصلهای پروژهمحور. در فصلهای مفهومی با ابعاد مختلف زبان آشنا میشوید و در فصلهای پروژهمحور، برنامههای کوچکی را از صفر میسازید تا آموختههای خود را محک بزنید.
در ادامه، مسیر آموزشی گامبهگام کتاب بررسی شده است:
کتاب با آموزش نصب ابزارها، نوشتن اولین برنامه سنتی و کار با ابزار مدیریت بسته کارگو آغاز میشود. در ادامه، یک پروژه عملی یعنی ساخت یک بازی حدس اعداد برای آشنایی اولیه با ویژگیهای زبان در سطح کلان پیادهسازی خواهد شد. سپس مباحث پایهای ساختارهای زبان که شباهتهایی با سایر زبانهای برنامهنویسی دارند، تشریح میشوند.
یکی از مهمترین بخشهای این کتاب، آموزش سیستم مالکیت انحصاری راست است. در این بخش یاد میگیرید که کامپایلر چگونه بدون نیاز به سیستم جمعآوری زباله، امنیت حافظه را در زمان کامپایل تضمین میکند. سپس با ساختارهای داده، متدها، شمارشگرها و عبارات کنترل جریان پیشرفته برای ساخت انواع دادههای سفارشی آشنا میشوید.
در این مرحله، سیستم ماژولبندی و قوانین حریم خصوصی برای سازماندهی بهینهتر کدهای منبع و طراحی واسطهای برنامهنویسی عمومی آموزش داده میشود. افزون بر این، ساختارهای داده پرکاربرد کتابخانه استاندارد شامل بردارهای پویا، رشتهها و نگاشتهای درهمسازی به طور کامل کالبدشکافی میشوند.
کتاب به بررسی فلسفه خاص و تکنیکهای پیشرفته مدیریت خطا در این اکوسیستم میپردازد. سپس مباحث حیاتی چون انواع دادههای تعمیمیافته، ویژگیها و طول عمرها آموزش داده میشوند که به شما قدرت تعریف کدهایی با قابلیت اعمال بر روی چندین نوع داده مختلف را اعطا میکنند. فرآیند آزمونسازی نرمافزار نیز برای اطمینان از صحت منطق برنامهها بررسی میشود.
به عنوان یک پروژه میاندوره، شما یک نسخه اختصاصی از ابزار خط فرمان جستجوی متن (مشابه ابزار معروف گرپ) را با استفاده از مفاهیم آموختهشده پیادهسازی خواهید کرد. در ادامه، مفاهیم پیشرفتهتری نظیر بستارها و تکرارکنندهها که از زبانهای برنامهنویسی تابعی الهام گرفته شدهاند، مورد کاوش قرار میگیرند. بررسی عمیق اشارهگرهای هوشمند و ویژگیهای فعالکننده آنها نیز از مباحث مهم این بخش است.
کتاب شما را با مدلهای مختلف برنامهنویسی همزمان آشنا کرده و به شما میآموزد که چگونه بدون ترس در محیطهای چندنخی برنامهنویسی کنید. سپس نحو پیشرفته دستورات ناهمگام، وظایف، فیوچرها و استریمها تبیین میشوند. پس از بررسی مقایسهای الگوهای راست با اصول برنامهنویسی شیءگرا و تحلیل سیستم تطبیق الگو، مباحث فوقپیشرفتهای چون کدهای ناامن و ماکروها مطرح میگردند. در نهایت، با ساخت یک کارساز وب چندنخی در سطح پایین، این سفر آموزشی شگفتانگیز به پایان میرسد.
یکی از ویژگیهای متمایزکننده این کتاب، آموزش نحوه خواندن و درک پیامهای خطای کامپایلر است. به همین دلیل، در طول فصول مختلف، نمونه کدهایی که عمداً کامپایل نمیشوند به همراه پیام خطای مربوطه آورده شدهاند تا شما یاد بگیرید که چگونه کامپایلر را به عنوان یک همکار و راهنما در کنار خود داشته باشید و کدهای بدون نقص تولید کنید.
نمونه چاپ کتاب موجود نیست.
نظرات کاربران (0)