مهسا هستم، مترجم، معلم ...
زبان برنامه نویسی کربن جای ++C را میگیرد؟
گوگل به تازگی اخبار تازهای دربارهی زبان برنامه نویسی کربن منتشر کرده است. به نظر میرسد زبان برنامه نویسی کربن قرار است جایگزین ++C شود.
همه ما خوب میدانیم که گوگل علاقه خاصی به ایجاد بسترهای متفاوت و راه اندازی زبانهای برنامه نویسی دارد. دارت یکی از زبانهای برنامه نویسی است که گوگل به عنوان جایگزین جاوا اسکریپت معرفی کرد. این زبان برنامه نویسی تحت وب است. زبان برنامه نویسی دارت چندان به مذاق برنامه نویسان خوش نیامد و برای همین نتوانست محبوبیت چندانی کسب کند. بسیاری از برنامه نویسان، ++C و جاوا اسکریپت را به دلیل پیشینه تاثیرگذارشان به دارت ترجیح میدهند. از سوی دیگر، زبان برنامه نویسی GO در میان توسعه دهندگان مقبولیت خوبی کسب کرد. Go یا GoLang زبانی ایستا و ضمنی است. GO زبانی برنامهنویسی با کاربرد عام، همانند زبان برنامهنویسی C است.
جریان از چه قرار است؟
اخیرا، رویداد CPP North سال 2022 در تورنتو برگزار شده. رویدادی که بسیاری از توسعه دهندگان را دور هم جمع میکند تا درباره توسعههای آتی ++C بحث کنند. در این رویداد، یکی از اعضای شرکت گوگل به نام چندلر کاروت زبان برنامه نویسی کربن(Carbon) را به توسعه دهندگان معرفی کرد. در ابتدا، کاروت نشان داد که چه تعداد از محبوبترین زبانهای برنامه نویسی امروزی جایگزینهایی دارند که هم طراحی تازهای دارند و هم سرعت کار توسعه دهندگان را بالا میبرند.
توسعه دهندگان اندروید به خوبی میدانند که کاتلین جایگزین جاوا است، همانطور که توسعه دهندگان iOS میدانند Swift جایگزین Objective-C است. تایپ اسکریپت مایکروسافت، جاوا اسکریپت را کاملاً بهبود بخشیده است، در حالی که استفاده از آن کماکان راحت است و میتواند به جاوا اسکریپت “ترانسفیل” شود. ++C که در گوگل بسیار کاربردی است، جایگزین زبان برنامه نویسی اصلی C هم است.
جایگزین ++C چه زبان برنامه نویسی است؟
آیا Rust را میتوانیم جایگزین ++C بدانیم؟ چرا که نه! ما میتوانیم راست(Rust) را کاملا به عنوان جایگزین ++C بدانیم اما یادگیری آن برای کاربران بسیار دشوار است و این زبان در مراحل اولیه توسعه خود قرار دارد. بنابراین، خیلی زود است که Rust را جایگزین ++C بدانیم و بسیار سخت است که Rust جایگزین زبان قدرتمندی مثل ++C شود. Rust زبان برنامهنویسیای است که در ابتدا محصول موزیلا بود و همانند بقیه “هم کنش پذیری دوطرفه” نداشت و در هنگام ‘تبدیل’ به زبانهای متفاوت برنامهنویسی، نوعی ‘سد زبانی’ ایجاد میکرد.
او زبان برنامه نویسی کربن را به عنوان زبان آزمایشی معرفی کرد که میتواند جایگزین زبان برنامه نویسی ++C شود. چندلر کاروت، مدیر فنی زبان برنامه نویسی گوگل، گفت که آنها این پروژه آزمایشی را با جامعه ++C آغاز کردهاند. کربن از یک طرف بسیاری از اهداف مشابه Rust را دارد: مانند کمک به توسعه دهندگان برای ایجاد “نرمافزار حیاتی عملکرد”. از طرف دیگر، کربن میخواهد کاملاً با کد ++C مشهور سازگار باشد. هرچند که مهاجرت به این زبان برای کاربران علاقمند آسان است.
آیا نسبت به مهاجرت به زبان برنامه نویسی کربن شک دارید؟
کاروت برای کسانی که در مهاجرت کامل به زبان کربن تردید دارند، جزئیات بیشتری را مطرح کرد. او نشان داد که چرا کربن میتواند جایگزینی قدرتمند برای ++C باشد. دلایل او شامل گرامر سادهتر و وارد کردن سادهتر و بینقصتر API میشد. برخی از دلایل برجسته کاروت برای انتخاب کربن به عنوان جایگزین ++C، به شرح ذیل است:
- کلمات کلیدی و گرامر آن ساده است.
- پارامترهای ورودی آن، تابع مقادیر فقط خواندنی هستند.
- اشارهگرهای آن دسترسی غیرمستقیم است و جهش را فراهم میکنند.
- API ها را از طریق نام بسته آنها وارد میکند.
از سوی دیگر، فراتر از ویژگیهای خود زبان، تیم کربن توجه عموم را به سوی فرآیند توسعهای معطوف کرد که آینده کربن را شکل خواهد داد. کد پروژه به صورت عمومی در GitHub میزبانی میشود و برای درخواستهای کشش باز است، در حالی که فرهنگ کربن برای کارکنان شرکتها و همچنین دیگر افراد به طور یکسانی در دسترس و فراگیر است.
اهداف زبان برنامه نویسی کربن
- کربن احتمالا بتواند هم در نرمافزار و هم در زبان برنامهنویسی تغییر و تحولی تدریجی ایجاد نماید. کربن به طور کلی بر روی کدی تمرکز خواهد کرد که نوشتن و خواندن آن آسان باشد.
- زبان برنامه نویسی کربن همچنین زبانی خواهد بود که از نظر توسعه، سریع و مقیاس پذیر باشد. این زبان همه پلتفرمها و محیطهای OS را پوشش خواهد داد.
- کربن همچنین سازوکار تست عملی امنی را فراهم خواهد کرد که انواع پیشرفته کد را بهبود بخشد. هدف حیاتی عملکردی نیز هدف اصلی زبان برنامهنویسی کربن خواهد بود.
نقش گوگل در زبان برنامه نویسی کربن
یکی از جنبههای زبان برنامه نویسی کربن که بهخوبی مشخص نشده، مشارکت گوگل است. در حالی که این توضیحات را یکی از کارمندان شرکت گوگل ارائه کرده است و رهبران پروژه فعلی کربن به طور عمده و نه تماما، کارمندان گوگل هستند. به غیر از این، هیچ اشارهای به این موضوع نشده که کربن، پروژه گوگل است. این کار در واقع به صورت تعمدی انجام شده است، زیرا با وجود اینکه کربن در گوگل آغاز به کار کرد، تیم گفته که برای موفقیت آتی خود، کربن باید “یک پروژه مستقل و جامعه محور” باشد، نه اینکه صرفاً برای استفاده خود گوگل پیش برده شود. کاروت در ادامه تأکید میکند که کربن در حال حاضر صرفا یک آزمایش است، البته آزمایشی که برخی از شرکتها تا به حال به آن اشتیاق نشان دادهاند.
این رویداد همچنین نشان داد که کربن سازوکار زیربنایی ++C و Golang را خواهد داشت. در حال حاضر، کربن صرفا در فاز آزمایشی قرار دارد و به زودی نسخه بتای آن به بهرهبرداری خواهد رسید. شما همچنین میتوانید از طریق صفحه رسمی GitHub، در مورد کربن مطالب بیشتری به دست آورید و به صورت متن باز آن را بررسی کنید. علاوه بر آن، میتوانید درون مرورگر خود با اپلیکیشن تحت وب Compiler Explorer آن را بررسی نموده و ببینید که زبان برنامه نویسی کربن به چه صورت است.
منبع:
مطلبی دیگر از این انتشارات
آرگومان و پارامتر چه فرقی باهم دارن؟
مطلبی دیگر از این انتشارات
اواِسِ انقلابی - داستان موفقیت اپن سورس
مطلبی دیگر از این انتشارات
نرمافزار آزاد چیست؟ - سوالات متداول