زبان برنامه نویسی کربن
در طول سال ها، گوگل چند زبان برنامه نویسی ایجاد کرده است که برخی از آنها محبوب تر و برجسته تر از بقیه شده اند. در همین حال، زبان برنامه نویسی دارت، که در ابتدا به عنوان جایگزینی برای جاوا اسکریپت در نظر گرفته شده بود، تا زمان انتشار فلاتر به محبوبیت عمومی دست پیدا نکرد.
زبان برنامه نویسی کربن
معرفی زبان برنامه نویسی کربن
در کنوانسیون Cpp North در تورنتو، به عنوان به اشتراک گذاشته شده توسط Conor Hoekstra چندلر کاروت، کارمند گوگل، که در این مراسم حضور داشت و اسلایدها را مستندسازی کرد، چشم انداز یک زبان برنامه نویسی جدید به نام کربن را به اشتراک گذاشت. برای تنظیم صحنه، Carruth نشان داد که چه تعداد از محبوب ترین زبان های برنامه نویسی امروزی جانشین هایی دارند که به توسعه دهندگان اجازه می دهد به سرعت کارآمد باشند و همچنین از طراحی زبان مدرن بهره ببرند.
توسعه دهندگان اندروید به خوبی می دانند که Kotlin به عنوان جانشین جاوا عمل می کند، همانطور که توسعه دهندگان iOS می دانند Swift جانشین Objective-C است. TypeScript، از مایکروسافت، جاوا اسکریپت را کاملاً بهبود بخشیده است، در حالی که استفاده از آن راحت است و می تواند به جاوا اسکریپت “ترانسفیل” شود. C++ که در گوگل کاربرد قابل توجهی دارد، به طور مشابه جانشین زبان برنامه نویسی اصلی C است.
اهداف گوگل برای تقابل با سی پلاس پلاس
در حالی که برخی ممکن است پیشنهاد کنند که Rust، در اصل یک پروژه موزیلا است که از آن زمان به بعد به طرفداران عمومی قابل توجهی رسیده است، جانشین C++ است، Carruth نمی پرسد که آیا این قیاس همچنان ادامه دارد یا خیر. در حالی که Rust انکارناپذیر یک زبان عالی برای شروع یک پروژه جدید است، اما همان “قابلیت همکاری دو جهته” چیزی مانند جاوا و کاتلین را ندارد و مهاجرت مداوم را دشوار می کند.
کربن زبان برنامه نویسی آزمایشی همه منظوره است که توسط گوگل ایجاد شده تا جانشین سی پلاس پلاس باشد. این زبان اولین بار توسط Chandler Carruth در کنفرانس CppNorth در ژوئیه ۲۰۲۲ به عموم ارائه شد. این زبان قصد دارد چندین کمبود اساسی از سی پلاس پلاس را برطرف کند، در غیر این صورت مجموعه ای از ویژگی های مشابه را ارائه می دهد. اهداف اصلی کربن خوانایی و «قابلیت توسعه دو جهته» است، یعنی فراخوانی همزمان در سی پلاس پلاس و بالعکس، بنابراین مشکلات زبانی مانند راست وجود نخواهد داشت. این زبان برخلاف فرایند ISO که سی پلاس پلاس استفاده می کند، در گیت هاب طراحی و توسعه می یابد.
مزایای زبان برنامه نویسی کربن
در مورد اینکه چرا یک توسعه دهنده ++C ممکن است بخواهد Carbon را به پایگاه کد خود معرفی کند، Carruth چند نکته برجسته از این زبان را روی صحنه به اشتراک گذاشت:
- پارامترهای ورودی تابع مقادیر فقط خواندنی هستند
- اشاره گرها دسترسی غیرمستقیم و جهش را فراهم می کنند
- از عبارات برای نامگذاری انواع استفاده کنید
- بسته فضای نام ریشه است
- API ها را از طریق نام بسته آنها وارد کنید
- پارامتر شی صریح یک متد را اعلام می کند
- ارث مجرد؛ کلاس ها به طور پیش فرض نهایی هستند
- ژنریک قدرتمند و با تعریف بررسی شده
- انواع به صراحت رابط ها را پیاده سازی می کنند
فراتر از ویژگی های خود زبان، تیم کربن توجه را به فرآیند توسعه ای که آینده کربن را شکل خواهد داد، جلب کرد. کد پروژه به صورت عمومی در GitHub میزبانی می شود و برای درخواست های کشش باز است، در حالی که فرهنگ کربن برای کارکنان شرکت ها و افراد خصوصی به طور یکسان در دسترس و فراگیر است.
گفته می شود، یکی از جنبه های زبان برنامه نویسی کربن که به خوبی مشخص نشده است، مشارکت گوگل است. در حالی که ارائه امروز توسط یکی از کارمندان Google به اشتراک گذاشته شد، و رهبران پروژه فعلی Carbon همه کارمندان Google هستند، در غیر این صورت هیچ اشاره ای به کربن بودن پروژه گوگل وجود ندارد.
این در واقع عمدی است، زیرا در حالی که کربن شروع خود را در گوگل آغاز کرده است، تیم می داند و به صورت آنلاین به اشتراک گذاشته است که برای موفقیت در آینده، کربن باید «یک پروژه مستقل و جامعه محور» باشد، نه اینکه صرفاً توسط استفاده های خود گوگل هدایت شود. . در همان اظهار نظر، Carruth بیشتر تأکید می کند که کربن در حال حاضر فقط یک آزمایش است، البته آزمایشی که برخی از شرکت ها قبلاً به آن علاقه نشان داده اند.
اگر علاقه مند به شروع کار با کربن هستید، می توانید کد منبع را دانلود کرده و آن را در دستگاه خود آزمایش کنید. یا، به لطف ادغام با برنامه وب رایگان Compiler Explorer، می توانید مستقیماً در مرورگر خود احساسی نسبت به زبان برنامه نویسی Carbon داشته باشید.
نقدها به زبان برنامه نویسی جدید گوگل موسوم به کربن
گوگل علاقه بسیار زیادی به خلق فریم ورک های مختلف و ساخت زبان های برنامه نویسی جدید دارد. DART یکی از اولین زبان های برنامه نویسی معرفی شده توسط گوگل، یک زبان شئ گرا و تحت وب بود. البته این زبان محبوبیت چندانی میان برنامه نویسان پیدا نکرد و هرگز به عنوان یکی از زبان های مهم و کاربردی مطرح نشد. بسیاری از برنامه نویسان به خاطر دانش زیاد و تجربه طولانی از کار با زبان های ++C و جاوا اسکریپت تمایلی به استفاده از DART نشان ندادند. یکی از تلاش های موفق گوگل معرفی زبان GO بود که شباهت زیادی به زبان C داشت. چند روز پیش در کنفرانس CppNorth که علاقه مندان زبان ++C در آن به تبادل نظر درباره توسعه این زبان می پردازند، اطلاعاتی در مورد «کربن»، زبان برنامه نویسی جدیدی که گوگل فکر می کند جانشین برحق ++C خواهد بود، منتشر شد.
زبان های برنامه نویسی پیوسته در حال بهبود و توسعه اند و طی سالیان اخیر با مدل هایی که حتی استفاده از آنها آسان تر است جایگزین شده اند. برای مثال زبان برنامه نویسی Swift شرکت اپل در مقایسه با جد قبلی خود یعنی Objective-C امکانات و پتانسیل های بسیار بیشتری دارد. بسیاری فکر می کنند زبان Rust جانشین موفق ++C است اما «چندلر کروث»، یکی از مهندسان ارشد نرم افزاری گوگل این طور توضیح می دهد که زبان برنامه نویسی که در ابتدا محصول موزیلا بود همانند سایر ابزارها فاقد ویژگی «تعامل پذیری دو طرفه» است که این مساله هنگام «ترجمه» بین زبان های برنامه نویسی مختلف موجب بروز مشکل «سد زبانی» می شود.
مهاجرت از ++C به Carbon
زبان برنامه نویسی جدید گوگل با نام «کربن» با زبان محبوب C++ تعامل پذیر است و البته مسیر مهاجرت کامل کاربران از ++C به کربن کاملا هموار است. کروث جزئیات بیشتری در اختیار آن دسته از کاربرانی که قصد مهاجرت کامل به کربن را دارند گذاشته و اضافه می کند که این زبان ساختار ساده تری داشته و وارد کردن API ها هم در آن به راحتی انجام می شود.
البته جدای از مزایای این زبان برنامه نویسی جدید، مشوق های اخلاقی مثل دسترسی پذیری و جامع بودن فرهنگ پروژه های این زبان را هم نباید از قلم انداخت. اکثر اعضای خانواده کربن را کارمندان گوگل تشکیل می دهند اما افرادی خارج از این شرکت هم در آن مشارکت دارند. اگر چه کربن حمایت همه جانبه گوگل را دارد اما تیم توسعه دهنده آن معتقد است این زبان برنامه نویسی برای موفقیت باید مستقل بوده و توسعه آن توسط جامعه کاربران هدایت شود. طراحی و توسعه این زبان به عنوان یک پروژه منبع باز در انجمن گیت هاب دنبال می شود.
اگر تجربه ی کار با این زبان برنامه نویسی را دارید نکاتی که آن ها را دوست دارید در بخش نظرات همین نوشته ارسال کنید.
موفق باشید.
ارسال پاسخ