কার্বন, প্রোগ্রামিং ভাষা যার লক্ষ্য C++ প্রতিস্থাপন করা

কয়েক দিন আগে গুগলের একজন কর্মচারী প্রকাশ করেছেন যারা একটি নতুন প্রোগ্রামিং ল্যাঙ্গুয়েজ ডেভেলপ করছে "কয়লা", Que C++ এর জন্য পরীক্ষামূলক প্রতিস্থাপন হিসাবে অবস্থান করা হয়েছে, এই ভাষা প্রসারিত করা এবং বিদ্যমান ঘাটতি দূর করা।

ক্যারুথের উপস্থাপনা অনুসারে, ভাষাটি এমন সফ্টওয়্যার তৈরি করতে সক্ষম হওয়ার জন্য তৈরি করা হয়েছিল যেখানে কর্মক্ষমতা গুরুত্বপূর্ণ। তারা কার্বন ব্যবহার করে ডেভেলপারদের আধুনিক প্রোগ্রামিং ল্যাঙ্গুয়েজ ডিজাইনের সুবিধা নিতেও চেয়েছিল।

C++ এর তুলনায় কার্বনের হাইলাইট হিসাবে হাইলাইট করা কিছু জিনিস ছিল, উদাহরণস্বরূপ, সহজ সিনট্যাক্স এবং API আমদানি. ক্যাররুথের মতে, এই নতুন পরীক্ষামূলক ভাষাটি C++ এর সাথে দ্বিমুখীভাবে আন্তঃপ্রক্রিয়াযোগ্য হওয়া উচিত, যার অর্থ প্রকল্পগুলি খুব অসুবিধা ছাড়াই এক ভাষা থেকে অন্য ভাষাতে স্থানান্তর করতে সক্ষম হওয়া উচিত।

উপরন্তু, ইন্টারনেটে একটি উন্মুক্ত উপায়ে ভাষাটিকে আরও বিকাশ করা একটি লক্ষ্য, যেখানে যে কেউ সোর্স কোডে অবদান রাখতে পারে। প্রকল্পটি Github-এ সর্বজনীনভাবে উপলব্ধ এবং জন্য উন্মুক্ত অনুরোধ টান 

ভাষা মৌলিক C++ বহনযোগ্যতা সমর্থন করে, বিদ্যমান C++ কোডের সাথে একীভূত করতে পারে এবং C++ লাইব্রেরিগুলিকে স্বয়ংক্রিয়ভাবে কার্বন কোডে অনুবাদ করে বিদ্যমান প্রকল্পগুলির স্থানান্তরকে সহজ করার জন্য সরঞ্জাম সরবরাহ করে।

উদাহরণস্বরূপ, আপনি কার্বনে একটি নির্দিষ্ট লাইব্রেরি পুনরায় লিখতে পারেন এবং এটি একটি বিদ্যমান C++ প্রকল্পে ব্যবহার করতে পারেন। কার্বন কম্পাইলার LLVM এবং Clang বিল্ড ব্যবহার করে লেখা হয়।

কার্বনের প্রধান বৈশিষ্ট্যগুলির মধ্যে, নিম্নলিখিত স্ট্যান্ড আউট:

  • নিম্ন-স্তরের ঠিকানা এবং বিট-স্তরের ডেটা অ্যাক্সেস করার ক্ষমতা বজায় রেখে ফলাফল কোডের কার্যকারিতা C++-এর সাথে তুলনীয়।
  • ক্লাসের উত্তরাধিকার এবং টেমপ্লেট সহ বিদ্যমান C++ কোড সহ বহনযোগ্যতা।
  • দ্রুত সংকলন এবং C++ এর জন্য বিদ্যমান বিল্ড সিস্টেমের সাথে একীভূত করার ক্ষমতা।
  • কার্বনের বিভিন্ন সংস্করণের মধ্যে স্থানান্তর সহজ করুন।
  • মেমরি-নিরাপদ সরঞ্জামগুলি প্রদান করে যা একটি মেমরি এলাকা মুক্ত হওয়ার পরে, ডিরেফারেন্স নাল পয়েন্টার এবং বাফার ওভারফ্লোগুলিকে সম্বোধন করার কারণে সৃষ্ট দুর্বলতার বিরুদ্ধে সুরক্ষা দেয়।

অবশ্যই আমাদের কাছে C এবং C++ এর একটি প্রস্তাবিত বিকল্প হিসাবে মরিচা আছে, কিন্তু এটি আসলে একটি এক্সটেনশন ভাষা নয়, এটি একটি সম্পূর্ণ ভাষা, আসুন আবার শুরু করা যাক। কার্বন C++ এর জগতের সাথে সামঞ্জস্য রেখে মরিচার মত হওয়ার চেষ্টা করছে, ঠিক আছে, এর গিথুব পৃষ্ঠায় এটি বলে:

  • বিট এবং ঠিকানাগুলিতে নিম্ন-স্তরের অ্যাক্সেস সহ LLVM ব্যবহার করে C++ পারফরম্যান্স ম্যাচিং
  • উত্তরাধিকার থেকে টেমপ্লেট পর্যন্ত আপনার বিদ্যমান C++ কোডের সাথে ইন্টারঅপারেট করুন
  • দ্রুত, মাপযোগ্য বিল্ড যা আপনার বিদ্যমান C++ বিল্ড সিস্টেমের সাথে কাজ করে

কার্বনকে প্রয়োজনীয় বলে দাবি করা হয়েছে কারণ C++ এর ক্রমবর্ধমান উন্নতি কেবল ঐতিহাসিক লাগেজের কারণে আর সম্ভব নয় যা এটি থেকে পরিত্রাণ পেতে পারে না। ব্যক্তিগতভাবে, আমি আরও এগিয়ে যেতে চাই এবং পরামর্শ দিই যে C++-এ ক্রমবর্ধমান "উন্নতি" এর একটি অংশ কারণ এটি অনুশীলনে এত বড় ভাষা।

“সেখানে সবসময় নতুন ভাষা C++ এর উত্তরসূরি হওয়ার চেষ্টা করে। আমি প্রোগ্রামিং ভাষা এবং প্রোগ্রামিং শৈলী নিয়ে পরীক্ষাগুলিকে স্বাগত জানাই, কিন্তু আমি সত্যিই বিতর্ক সৃষ্টি করতে চাই না। প্রতিষ্ঠিত ভাষার সমালোচনা করা সহজ (আমরা তাদের সমস্যাগুলি জানি), কিন্তু ভাষার নিয়ম, লাইব্রেরি এবং শাসনে সম্পূর্ণ নতুন সমস্যা তৈরি না করে বিকল্প প্রস্তাব করা সাধারণত কঠিন। কার্বন এত নতুন এবং অনির্দিষ্ট যে আমি সত্যিই কোন অর্থপূর্ণ প্রযুক্তিগত মন্তব্য করতে পারি না,” C++ উদ্ভাবক Bjarne Stroustrup একটি ইমেলে বলেছেন।

কার্বন যখন একটি অভ্যন্তরীণ Google প্রকল্প হিসাবে শুরু হয়েছিল, তখন বিকাশ দল শেষ পর্যন্ত Google, বা অন্য কোনও পৃথক সংস্থার থেকে অবদান কমিয়ে বছরের শেষ নাগাদ 50% এর কম করতে চায়। শেষ পর্যন্ত, তারা প্রকল্পটি একটি স্বাধীন সফ্টওয়্যার ফাউন্ডেশনের কাছে হস্তান্তর করতে চায়, যেখানে এর উন্নয়ন স্বেচ্ছাসেবকদের দ্বারা পরিচালিত হবে।

পরিশেষে আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন আপনার জানা উচিত যে প্রকল্পের উন্নয়নগুলি Apache 2.0 লাইসেন্সের অধীনে বিতরণ করা হয়েছে এবং আপনি তাদের সাথে পরামর্শ করতে পারেন নীচের লিঙ্কে।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।