آیا زبان کربن میتواند جایگزین ++C شود؟
گوگل زبان برنامه نویسی جدیدی را با نام کربن (Carbon) که توسط یکی از کارمندان گوگل طراحی شد در تاریخ ۱۹ ژانویه ۲۰۲۲ منتشر کرد، که البته در فاز آزمایشی است ولی توانست توجه کاربران را جلب کند. گوگل کربن را به عنوان زبان برنامه نویسی نسل بعدی با هدف جایگزینی ++C معرفی کرد البته این یک پروژه منبع باز است که هنوز در مرحله آزمایشی است. زبان کربن که در اصل توسط Chandler Carruth در کنفرانس CppNorth نمایان شد، جایگزینی عالی برای سی پلاس پلاس به نظر می رسد. ما در این پست با جنبههای مختلف زبان کربن آشنا میشویم و در پایان شما میتوانید که این زبان را امتحان نمایید.
هدف زبان برنامه نویسی کربن یک تکامل برای نرم افزار و زبان برنامه نویسی میباشد و عمدتاً بر روی کدهایی تمرکز می کند که نوشتن و خواندن آن آسان باشد. این زبان توسعه سریع و مقیاس پذیری خواهد داشت و در واقع یک زبان برنامه نویسی همه منظوره است تا جانشین ++C باشد و از تمام سیستم عاملها و محیطهای مدرن پشتیبانی نیز میکند.
زبان کربن چیست و چرا ؟
با تکامل همه چیز و در دنیای مدرنیته امروز زبان کربن میتواند جایگزینی برای ++C باشد، این زبان در حال حاضر یک زبان عالی برای کار است که عملکرد بالایی دارد و به طور گسترده در بسیاری از سیستمهای تولید استفاده میشود. همچنین با چندین پلتفرم معماری، سختافزاری و بسیاری از سیستم عاملها اجرا میشود. با این حال برخی از مشکلات آن عبارت اند از:
- بدهی فنی انباشته (مثلاً قوانین ارتقا عدد صحیح) در عملکردهای مختلف، سازگاری به عقب با C، رفع بدهیهای فنی و ایجاد تغییرات کد برای اجرای سختتر را دشوارتر میکند.
- فرایند تکامل برای افزودن قابلیتهای جدید به ++C بسیار دشوار است زیرا باید به فرآیند ISO پایبند باشد.
بنابراین سی پلاس پلاس از برخی اهداف خود مانند نرم افزار حیاتی عملکرد کوتاه میآید. تکامل نرمافزار و زبان، کدی که به راحتی قابل درک و نوشتن است، توسعه سریع و مقیاس پذیر و سایر موارد. از آنجایی که حل این مشکلات با سی پلاس پلاس واقعا سخت است در نتیجه پس از یک تحقیق و ارزشیابی عمیق در چندین زبان توسط مهندسان گوگل زبان برنامه نویسی کربن معرفی شد؛ بنابراین امروزه این زبان مانند جانشینی برای سی پلاس پلاس شناخته میشود. برخی از جنبه های کلیدی زبان های جانشین عبارت اند از: ساخت بر روی اکوسیستم موجود، قابلیت همکاری در دو جهت، منحنی یادگیری بهینه، سیستمهای ابزار مدرن. زبان کربن از C یا ++C قدیمی چیزی به ارث نبرد و از ابتدا با اصول زبان مدرن مانند: Generics, Modular code, Consisten ایجاد شد.

ویژگی های کلیدی زبان کربن
- تطبیق عملکرد سریع سی پلاس پلاس با استفاده از LLVM (ماشین مجازی سطح پایین)، دسترسی سطح پایین به بیتها و آدرسها، قابلیت تعامل در دو جهت که نشان میدهد میتوانید کد زبان ++C را از زبان کربن و برعکس فراخوانی کنید.
- Migration برای انتقال کد از ++C پشتیبانی میکند.
- ویژگی های مدرن و در حال تکامل مثل: ساختهای سریع و مقیاسپذیر که میتوانند با ساختهای سی پلاس پلاس موجود کار کنند و در عین حال یادگیری آسانتری داشته باشند.
- متن باز بودن این زبان با اهداف و اولویتهای روشن و دارای حافظههایی مانند کامپایلرها، کتابخانهها، اسناد، مدیریت بسته و غیره است.
Rust یا Carbon
در سیر تکاملی زبان کربن عوامل زیادی دخیل بودند برخی از آنها عبارت اند از نگاهی به زبانهایی (مانند جاوا) و همچنین زبانهایی مدرنتر مثل: Rust , swift , Kotlin.
Rust به طور کامل به عنوان جایگزینی برای سی پلاس پلاس ارزیابی می شود. در حقیقت زبان کربن اصرار دارد از Rust استفاده کند و در صورت امکان کربن را نادیده بگیرد زیرا Rust از نظر فنی و اقتصادی زبانی مناسبتر است. با این حال برای سازمان هایی که در حال حاضر از ++C استفاده میکنند جایگزینی به Rust بسیار دشوار است. نرم افزار نوشته شده در آن دارای ویژگیها و ماژولهایی است که هیچ یک از زبانها مانند: سی پلاس پلاس یا کربن آن را ندارند. انطباق با Rust برای پایگاههای کد ++C تقریباً عملی نیست و هیچ قابلیت همکاری وجود ندارد.
برخی اعلانها در کربن
- توابع با استفاده از کلمه کلیدی fn اعلان میشود.
- متغیرها با استفاده از کلمه کلیدی var اعلان میشود.
- نام متغیر ها باید با به دنبال : به پایان برسد، به عنوان مثال: (:var x).
- ثابتها را میتوان با استفاده از کلمه کلیدی let فراخوانی کرد.
- بستهها را میتوان با استفاده از کلمه کلیدی package فراخوانی کرد.
- نظرات را در زبان کربن میتوان با استفاده از دو اسلش اعلام کرد //.
- auto میتواند برای استنباط خودکار نام متغیر استفاده شود. میتوان آن را در ترکیب let یا var به عنوان انواع بازگشت تابع استفاده کرد.
میتوانید نمونه ای از به کارگیری قوانین برای کدنویسی به زبان کربن را پایینتر مشاهده کنید.
package ExplorerTest api;
//fn is function declataion
//return type is i32 i.e. int.
fn Main() -> i32 {
//I am a Commnet.
var s: auto = "Hello world!"; // Auto Variable
let x: i32 = 20; //Constant
var y: i32 = 3; // Integer variable
Print(s); // Print
Return 0; // Return value
}
سخن پایانی
در حالی که زبان کربن هنوز در مرحله آزمایشی است هنوز مشخص نیست که چه زمانی برای استفاده عمومی در دسترس خواهد بود. بسیاری از نمونههای استفاده اولیه هنوز پشتیبانی نمیشود. میتوایند برای بررسی بیشتر این زبان به صفحه گیتهاب مراجعه کنید.
پویان آی تی ارائه دهنده انواع خدمات میزبانی وب میباشد. کافی است قیمت و کیفیت خدمات را بررسی و امتحان کنید و بعد از آن دیگر نمیتوانید از پویان آی تی دل بکنید!.
به این مقاله امتیاز دهید!
میانگین امتیاز 4.1 / 5. تعداد رأی ها : 7
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.