اکسل فهرست بها 1403 منتشر شد. 

فهرست بها 1403
مهندسی فناوری اطلاعات

آشنایی با زبان برنامه‌ نویسی کربن (Carbon)

زبان برنامه‌ نویسی کربن (به انگلیسی: Carbon Programming Language) یکی از جدیدترین زبان‌هایی به حساب می‌آید. شرکت گوگل به دنبال ارائه پلتفرم‌ها و زبان‌های برنامه‌نویسی جدید با قابلیت‌ها و ابزارهای نوین و کارآمد است. در این راستا، زبان برنامه‌نویسی کربن به عنوان یکی از جدیدترین زبان‌های معرفی شده توسط گوگل محسوب می‌شود. این زبان جایگزینی برای زبان برنامه‌نویسی C++‎ به حساب می‌آید.

مقاله حاضر درباره “زبان برنامه‌نویسی کربن چیست ؟ ” می‌باشد و دلیل ظهور این زبان و ویژگی‌های آن تشریح شده است. این زبان با تجربه‌ی کاربری بهتر و سادگی بیشتری نسبت به C++‎، طراحی شده است و قابلیت پشتیبانی از برنامه‌نویسی شیءگرا و همچنین برنامه‌نویسی تابعی را دارا می‌باشد.

زبان برنامه نویسی کربن چیست ؟

گوگل، زبان برنامه‌نویسی تجربی جدیدی به نام “کربن” (Carbon) را معرفی کرده است. این زبان می‌تواند به عنوان جایگزینی برای زبان C++ در نظر گرفته شود و امکانات جدیدی مانند امنیت حافظه و برنامه‌نویسی همگانی را پشتیبانی می‌کند.

زبان کربن گوگل مانند زبان‌های Typescript و Kotlin به منظور به‌روزرسانی و افزایش قابلیت‌های زبان‌های جاوا اسکریپت و جاوا ارائه شده است. این زبان به تازگی (در سال ۲۰۲۲) در کنفرانس CCP North تورنتو توسط Chandler Carruth معرفی شده است. 

زبان برنامه‌ نویسی کربن

فرآیند توسعه

روند توسعه زبان برنامه‌نویسی کربن در نوع خود جالب توجه است، اما نکته مهم‌تر مقایسه این زبان نوظهور با زبان‌های برنامه‌نویسی قدرتمند دنیای فناوری و به ویژه زبان برنامه‌نویسی سی‌پلاس‌پلاس است.

همان‌گونه که همه می‌دانیم، زبان برنامه‌نویسی سی‌پلاس‌پلاس به عنوان جایگزین شایسته زبان برنامه‌نویسی سی (C) به دنیای فناوری اطلاعات معرفی شد، درست به همان صورتی که تایپ‌اسکریپت (TypeScript) به عنوان جانشین جاوااسکریپت (JavaScript)، سوئیفت به عنوان جانشین آبجکتیو سی (Objective C) و کاتلین به عنوان جانشین جاوا معرفی شد. اما جانشین سی‌پلاس‌پلاس چه زبانی است؟

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

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

زبان کربن

نقطه ضعف زبان برنامه نویسی C++‌‎ چیست ؟

زبان برنامه نویسی C++‎ در سال ۱۹۸۲ ساخته شد و در سال ۱۹۸۵ در دسترس عموم قرار گرفت. این زبان، به عنوان یکی از زبان‌های همه‌منظوره تلقی می‌شود که دارای ویژگی‌های مختلفی مانند حساس بودن به حروف بزرگ و کوچک و «اشاره‌گرها» (Pointers) است و از شی‌گرایی پشتیبانی می‌کند. همچنین، این زبان دارای انواع مختلفی از کتابخانه‌ها است که با استفاده از آن‌ها می‌توان عملیات مختلفی را بر روی داده‌ها اعمال کرد.

زبان C++‎ به عنوان جایگزینی برای زبان برنامه نویسی C محسوب می‌شود. این زبان یکی از زبان‌های پرکاربرد برای توسعه پروژه‌های نرم‌افزاری است و اهدافی به منظور بهبود این زبان در نظر گرفته شده است که عبارت‌اند از:

  • تحول و تغییر در ساختار زبان و شیوه طراحی نرم‌افزار
  • خواندن، نوشتن و درک قطعه‌ کدها به شیوه‌ای آسان
  • تعریف سازوکار جدید برای تست و امنیت برنامه‌ها
  • توسعه سریع برنامه‌ها و مقیاس‌پذیر بودن آن‌ها
  • پشتیبانی از پلتفرم‌های جدید سیستم‌عامل‌ها، محیط‌ها و معماری‌های سخت‌افزاری

با این حال، در مسیر توسعه زبان C++‌‎، مشکلات جدی وجود دارد. یکی از مهم‌ترین مسائل چالش‌برانگیز این زبان، «بدهی‌های فنی» (Technical Debts) است که در طی سالیان بسیار بر روی هم انباشه شده‌اند. بدهی‌های فنی شامل مجموعه اقداماتی هستند که تیم برنامه نویسی به منظور طراحی برنامه یا بخشی از پروژه انجام می‌دهند تا محصول هر چه سریع‌تر در اختیار کاربران و مشتریان قرار گیرد، اما اغلب باید این اقدامات در بازه‌ زمانی دیگری اصلاح ‌یا به‌روزرسانی شوند.

همچنین، در طی دورانی که زبان C++‎ مورد استفاده عموم قرار گرفت، ویژگی‌ها و قابلیت‌های جدیدی به این زبان اضافه شد. بخشی از این ویژگی‌ها باید جایگزین قابلیت‌های قبلی این زبان می‌شد. با این حال، ویژگی‌ها و قابلیت‌های قبلی از این زبان حذف نشده‌اند و در حال حاضر، ویژگی‌های ناقص و تکراری در این زبان وجود دارند.

اهداف زبان کربن گوگل چیست ؟

تیم برنامه نویسی زبان کربن زمان بسیاری را صرف طراحی این زبان کرده‌اند تا مشکلات موجود در زبان برنامه نویسی C++‎ را در این زبان حل کنند. به عبارتی، زبان برنامه نویسی کربن به منظور ایجاد تحول در قابلیت‌های برنامه نویسی و توسعه نرم‌افزار به وجود آمد. هدف برنامه نویسان این زبان، ارائه زبانی با «نحو | سینتکس» (Syntax) ساده است، به گونه‌ای که نوشتن و خواندن قطعه کدهای برنامه به شکل ساده انجام شود.

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

ویژگی های کلیدی زبان کربن ( carbon )

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

  • پرفرمنس سریع تر نسبت به زبان سی پلاس پلاس با استفاده از LLVM ( low level virtual machine ) که دسترسی سطح پایین به بیت ها و آدرس ها دارد.
  • زبان کربن نیز مثل خیلی از زبان های جایگزین با زبان قدیمی که با آن جایگزین شده رابطه ی دو طرفه را حفظ کرده است که می توانید کد زبان C++ را از زبان Carbon و کد زبان Carbon را از C++ فراخوانی کنید.
  • مهاجرت از زبان C++ را پشتیبانی میکند که برای انتقال کد از سی پلاس پلاس به کربن عالی است.
  • ویژگی های مدرن و تکامل یافته مانند ساختار سریع و منعطف که با ساختار قبلی C++ هماهنگ هست و برای یادگیری آسان هست.
  • زبان کربن یک زبان متن باز ( Open Source ) است با اهداف و اولیت های مشخص ، که دارای رویکردهای مشخص همانند کامپایلر ، کتابخانه ها ، مستندات ، پکیج منیجر و … است.

نحوه ی نصب و راه اندازی زبان برنامه نویسی کربن

برای شروع کار کردن با زبان برنامه نویسی کربن باید ابتدا روی سیستم عامل خود چیزهایی را نصب کنید از جمله ‌:

  • Homebrew : یک ابزار برای نصب پکیج های مختلف است . اگر homebrew را روی سیستم خود نصب نکرده اید میتوانید از دستورالعمل های آن برای نصب استفاده کنید.
  • Bazel : یک ابزار متن باز build و test برای زبان های برنامه نویسی مختلف هست.
  • LLVM : این ماشین مجازی است که زبان برنامه نویسی کربن برای اجرا شدن از ان استفاده میکند. برای این مقاله نیاز نیست بصورت عمیق LLVM را مسلط باشید.
  • Carbon Explorer : کربن اکسپلورر مانند یک ابزار پیاده سازی برای زبان برنامه نویسی کربن است . برای اجرا کردن تمام پروژه های نوشته شده به زبان کربن از کربن اکسپلورر استفاده میکنیم.

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

قدم ۱ – نصب Bazel 

برای نصب کردن Bazel میتوانید دستور زیر را اجرا کنید :‌

$ brew install bazelisk

این دستور بصورت خودکار Bazel را برای شما نصب خواهد کرد و هیچ کار خاص دیگری نیاز نیست اما اگر حین نصب کردن خطای مجوز نداشتن صادر شد بهتر است ابتدای دستور بالا sudo بزنید.

قدم ۲ – نصب LLVM

همانطور که قبلتر گفتیم LLVM ماشین مجازی اصلی هست که زبان برنامه نویسی کربن روی آن اجرا میشود برای نصب کردن آن دستورات زیر کافیست :‌

$ brew install llvm
$ export PATH="$(brew --prefix llvm)/bin:${PATH}"

البته یک نسخه ی llvm از قبل روی مک نصب شده که به همین علت ممکن است با خطای

llvm is keg-only, which means it was not symlinked ....

مواجه شوید که در پایان این مقاله راه حل آن نیز گفته شده است.

 

قدم ۳ – نصب کردن خود زبان برنامه نویسی کربن 

در این مرحله قصد داریم خود زبان برنامه نویسی کربن را دانلود کنیم که به همراه خود مثال هایی هم دارد از دستورات زیر استفاده کنید :‌

$ git clone https://github.com/carbon-language/carbon-lang
$ cd carbon-lang

 

قدم ۴ – پروژه ی Hello World با زبان برنامه نویسی کربن 

حالا که زبان برنامه نویسی کربن را نصب کردیم بهتر است اولین پروژه ی Hello world را انجام بدهیم. برای این کار از carbon explorer کمک خواهیم گرفت. برای اجرای اولین کد کربن خود مطمئن شوید که داخل دایرکتوری carbon-lang هستید که آنرا در مرحله ی بالا از گیت هاب دانلود کردیم. خب حالا از دستورات زیر استفاده کنید :‌

$ bazel run //explorer -- ./explorer/testdata/print/format_only.carbon

کاری که این خط کد انجام میدهد فراخوانی ابزار بیلد Bazel هست تا با استفاده از code explorer فایل کربن که در مسیر تعریف شده هست را اجرا کند. مسیر فایل ما اینجا ./explorer/testdata/print/format_only.carbon هست. 

زمانی که شما دستور بالا را اجرا میکنید باید در خروجی hello world و کدهای زیر را ببینید :‌

tipseason$ bazel run //explorer -- ./explorer/testdata/print/format_only.carbon
INFO: Invocation ID: aa36a266-cb55-4433-9bed-907e393c0605
WARNING: ..... 
.
.
INFO: Build completed successfully, 390 total actions
.
.
Hello world!
result: 0

در قسمت بالا خروجی Hello world! را میبینید و مقدار باز گشتی تابع main را نیز میبینید که یک int32 هست و مقدار آنرا ۰ برگرداندیم.

شاید الان سوال کنید که کدهای پشت صحنه که با زبان برنامه نویسی کربن نوشته شده اند چطور هستند ؟ این کدها به شکل زیر است.

مسیر فایل ./explorer/testdata/print/format_only.carbon 

محتویات : 

package ExplorerTest api;

fn Main() -> i32 {
  var s: auto = "Hello world!";
  Print(s);
  return 0;
}

برای سیستم عامل ویندوز زبان برنامه نویسی کربن هنوز بصورت رسمی منتشر نشده است ولی شما میتوانید از wsl که شبیه ساز لینوکس در ویندوز هست استفاده کنید. کافیست دستور wsl –install را بزنید و سپس طبق قدم های بالا پیش بروید.

فرمت یا اکستنشن فایل های زبان برنامه نویسی کربن به شکل .carbon است و حتما وقتی فایل جدیدی درست میکنید و قصد دارید کدهای کربن را داخل آن بنویسید از فرمت .carbon برای اخر نام استفاده کنید برای مثال demo.carbon .

حالا که زبان برنامه نویسی کربن را نصب و اجرا کردیم بهتر است کمی به سینتکس و قواعد نوشتاری این زبان برنامه نویسی جدید بپردازیم.

سینتکس ( Syntax ) زبان برنامه نویسی کربن با مثال

زبان برنامه نویسی کربن هنوز در حالت آزمایشی هست ولی نقشه ی کلی طراحی این زبان آماده است ممکن است درآینده کمی در سینتکس یا کاربردهای کوچکی از این زبان تغییر پیدا کند ، پس این مورد درباره ی زبان برنامه نویسی کربن را موقع یادگیری و کار کردن در نظر داشته باشید. یک چیز خوب درباره ی زبان کربن این است که سینتکس این زبان باید برای توسعه دهندگان c و c++ کاملا آشنا باشد و به راحتی درک شود.

برای یادگیری بهتر خوب است که مثال های زیر را خودتان نیز توسط carbon explorer که در قدم های بالا نصب کردیم بنویسید و اجرا کنید.

شما میتوانید فایل های جدید carbon طبق آموزش بالا ایجاد کنید و یا از فایل های کربن موجود برای تست مثال های زیر استفاده کنید.

همچنین شما میتوانید از ادیتورهای آنلاین بدون نیاز به نصب هیچ چیز استفاده کنید.  برای کدنویسی آنلاین کربن از این سایت یا این سایت میتوانید استفاده کنید.

تعاریف در زبان برنامه نویسی کربن 

  • تمامی توابع و متودها با استفاده از کلمه ی کلیدی fn تعریف میشوند.
  • متغیرها در زبان کربن با var تعریف میشوند.
  • نام متغیرها باید با : تمام شود مثلا var x: 
  • ثابت ها با استفاده از کلمه ی کلیدی let تعریف میشوند.
  • پکیج ها با استفاده از کلمه ی package تعریف میشوند.
  • کامنت گذاری در زبان کربن با استفاده از // میباشد.
  • کلمه ی auto برای تشخیص خودکار متغیر به کار میرود. این کلمه برای let و var و همچنین خروجی توابع کاربرد دارد.

یک تکه کد مثال برای زبان کربن : 

package ExplorerTest api;

//fn is function declaration
//return type is i32 i.e. int.
fn Main() -> i32 {
  //I am a comment. 

  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 
}

 

توابع یا متودها در زبان برنامه نویسی کربن ( carbon )

توابع یا متود ها در زبان برنامه نویسی کربن با کلمه ی fn تعریف میشوند و سینتکس کلی آنها به شکل زیر است :‌

 fn MethodName(var param: type ... ) -> return type

که البته برای توابعی که بدون مقدار بازگشتی هستند قسمت بعد از علامت فلش به سمت راست را نادیده بگیرید.

نمونه ای از توابع در زبان کربن : 

package ExplorerTest api;

//Integer return type 
fn Sum(var a: i32, var b: i32) -> i32 {
    return a + b;
}

//Empty or void return type. 
fn PrintCount(var count: i32) {
    Print("The count is {0}", count);
}

fn Main() -> i32 {
    Print("Sum is {0}", Sum(4, 6));
    PrintCount(10);
    return 0;
}

 

متغیرهای عددی در زبان برنامه نویسی کربن ( carbon )

متغیرهای عددی در زبان برنامه نویسی کربن به شکل زیر تعریف میشوند :‌

  • کلمه ی bool برای مقادیر بولین که دو مقدار true و false قبول میکند.
  • کلمات i8, i16, i32, i64, i128, i256 برای تعریف مقادیر اینتیجر ( عدد صحیح )
  • کلمات u8, u16, u32, u128, u256 برای تعریف متغیرهای unsigned integer
  • کلمات f16, f32, f64,  f128 برای تعریف مقادیر اعشاری 
  • کاراکتر ـ برای جداسازی ارقام هست مثلا ۱_۰۰۰_۰۰۰ هنوز بعنوان یک عدد صحیح است.

مثال :‌

package ExplorerTest api;

fn Main() -> i32 {
  var a: i32 = 1;
  var b: i32 = 2;
  Print(a + b);
  return 0;
}

 

متغیرهای رشته ای در زبان برنامه نویسی کربن ( carbon ) 

در زبان برنامه نویسی کربن متغیرهای نوع رشته به شکل زیر تعریف میشوند.

  • کلمه ی String برای تعریف متغیر نوع رشته ای 
  • کلمه ی StringView برای متغیرهای رشته ای فقط خواندنی utf-8 استفاده میشود.

رشته ها به دو صورت مقدار دهی میشوند

  1. تک خطی : با استفاده از دابل کوت ” در یک خط تعریف میشوند.
  2. چند خطی : برای تغریف رشته های چند خطی در زبان کربن از “”” استفاده میشود.

مثال : 

package ExplorerTest api;

fn Main() -> i32 {
  var singleLine: String = "Hello world!";
  var multiLine: String = """hello line 1
            TipSeason demo line 2
            TipSeason demo line 3    
        """; //End of multi block
  return 0;
}

 

توپل یا Tuple ها در زبان کربن  

همانطور که در زبان های دیگر توپل وجود دارد مثل پایتون و … در زبان کربن نیز میتوانید از توپل ها استفاده کنید و توپل ها به سادگی درون پرانتز باز و بسته تعریف میشوند . مثال زیر را ببینید :‌

package ExplorerTest api;

fn Main() -> i32 {
  var x: auto = (0, 1);
  Print("{0}", x[1]);
  return x[0];
}

در اینجا (x,y,z) یک توپل هست که به اعضای آن میتوان با استفاده از شماره ی ایندکس آن دسترسی داشت.

 

null pointer در زبان کربن 

در زبان کربن هیچ null pointer ای وجود ندارد . برای نمایش یک اشاره گر که ممکن است به یک شی معتبر اشاره نداشته باشد از نوع Optional(T*) استفاده کنید که در آن T نوع آن است.

* نشان دهنده مقدار است. & نشان دهنده آدرس است.

مثال : 

package ExplorerTest api;

fn Main() -> i32 {
  var x: i32 = 5;
  // changes x to 10
  x = 10;
  Print("---");
  Print("x = {0}", x);
  var y: i32* = &x;
  // changes x to 7
  *y = 7;
  Print("---");
  Print("x = {0}", x);
  Print("y = {0}", *y);
  var z: i32* = &*y;
  // changes x to 0
  *z = 0;
  Print("---");
  Print("x = {0}", x);
  Print("y = {0}", *y);
  Print("z = {0}", *z);
  var w: i32 = *y;

  return w;
}

 

آرایه ها در زبان کربن ( carbon ) 

آرایه ها در زبان برنامه نویسی کربن به صورت [type; size] تعریف میشوند یعنی هم باید نوع تعریف شود و هم سایز . برای مثال

var xarray: [i32; 4] = (1,2,3,4); 

نمونه کد استفاده از آرایه ها در زبان کربن :‌

package ExplorerTest api;

fn Main() -> i32 {
  var xarray: [i32; 4] = (0, 1, 5, 6); // Integer array 
  var index: i32 = 1;
  xarray[index] = 0;
  Print("{0}", xarray[0]);
  Print("{1}", xarray[0]);
  return xarray[0] + xarray[1];
}

شرط ها در زبان برنامه نویسی کربن 

در زبان برنامه نویسی کربن برای شرط گذاری از if و else و ترکیب اینها استفاده میشود. 

مثال استفاده از if-else : 

if(condition) {
 //doSomething
} else {
 //doSomething
}

مثال استفاده از if-else-if :‌

if(condition) {
 //doSomething
} else if (condition) {
 //doSomething
} else {
  //doSomething
}

مثال کلی : 

package ExplorerTest api;

fn Main() -> i32 {
  var x: i32 = 5;
  if(x == 5) {
    Print("{0} to word is FIVE", x);
  } else {
    Print("{0} is not known ", x);
  }
  return 0;
}

 

حلقه ها در زبان برنامه نویسی کربن 

حلقه های استاندارد برنامه نویسی که در دیگر زبان های برنامه نویسی وجود دارد بصورت کامل در زبان کربن پشتیبانی میشود. 

حلقه ی While loop در زبان برنامه نویسی کربن : 

سینتکس استفاده از حلقه ی whilte در کربن while(condition){ } هست. به مثال زیر دقتت کنید : 

package ExplorerTest api;

fn Main() -> i32 {
  var x: auto = 5;
  while (not (x == 0)) {
    x = x - 1;
    Print("{0}  ", x);
  }
  return x;
}

 حلقه ی for در کربن :

حلقه ی for در زبان کربن به شکل for (loop conditions) { } تعریف میشود . به مثال زیر دقت کنید :‌

package ExplorerTest api;

fn Main() -> i32 {

  var names: [String; 4] = ("a", "b");
  for (var name: String in names) {
   Console.Print(name);
  }

  return x;
}

 

مشابه switch case در زبان کربن 

حلقه ی match که شبیه switch هست. سینتکس استفاده از match به شکل زیر است که همه چیز کاملا شفاف و گویاست : 

match(condition) {
  case (condition) => {
    //doSomething;
  }
  default => {
    //doSomething;
  }
}

مثال برای match در زبان کربن :‌

package ExplorerTest api;

fn Matcher(var num: i32) -> i32 {
  var number: auto = 10;
  match (number) {
    case 5 => {
      Print("Got 5");
      return number;
    }
    case 10 => {
      Print("Got 10");
      return number;
    }
    default => {
      Print("Default");
      return number;
    }
  }
}

fn Main() -> i32 {
    Matcher(5);
    Matcher(10);
    Matcher(2);
    return 0;
}

 

کلاس ها در زبان برنامه نویسی کربن 

کلاس ها در زبان برنامه نویسی کربن با استفاده از کلمه ی کلیدی class تعریف میشوند کلاس ها میتوانند member و متود های لازم را داشته باشد. در زیر مثالی از استفاده ی کلاس ها آمده است ‌: 

package ExplorerTest api;

class Sum {
  var a: i32;

  fn Add[me: Self](var num: i32) -> i32 {
      var total: i32 = me.a + num;
      return total;
  }
}

fn Main() -> i32 {
  var p1: Sum = {.a = 5};
  var total: i32 = p1.Add(5);
  Print("Total sum {0}" , total);
  return 0;
}

 

حل مشکلات و خطاهای نصب و راه اندازی زبان برنامه نویسی کربن 

حل مشکل Carbon llvm-ar error :

llvm is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have llvm first in your PATH, run:
  echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> /Users/pramodnanduri/.bash_profile

For compilers to find llvm you may need to set:
  export LDFLAGS="-L/usr/local/opt/llvm/lib"
  export CPPFLAGS="-I/usr/local/opt/llvm/include"

برای حل این مشکل فایل ~/.bash_profile را تنظیم کنیدو مطمعن شوید که این فایل محتویات زیر را درون خودش دارد : 

export PATH="/usr/local/opt/llvm/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/llvm/lib"
export CPPFLAGS="-I/usr/local/opt/llvm/include"
export CC=$(which clang)

زمانی که محتویات بالا را اضافه کردید و فایل را ذخیره کردید دستور source ~/.bash_profile را در ترمینال بزنید.

سخن پایانی : 

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

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

 

منبع: avasam – faradars

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

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

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

لینک های مفید
دکمه بازگشت به بالا