প্রকল্প সম্পর্কে

cx একটি C-পরিবারের হাইব্রিড নিম্ন-স্তরের/উচ্চ-স্তরের প্রোগ্রামিং ভাষা, যা রানটাইম পারফরম্যান্স এবং ডেভেলপার উৎপাদনশীলতার উপর গুরুত্ব দেয়—এই অগ্রাধিকার ক্রমে। এটিকে সহজ এবং নিরপেক্ষ হিসেবে বর্ণনা করা হয়েছে, যা ইম্পারেটিভ, জেনেরিক, ডেটা-ওরিয়েন্টেড, ফাংশনাল এবং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং শৈলী সমর্থন করে। এটি LLVM বা C ব্যাকএন্ডের মাধ্যমে নেটিভ কোডে কম্পাইল হয়, কোনো গারবেজ কালেকশন বা লুকানো রানটাইম ছাড়াই। প্রকল্পটি 0.1 রিলিজের কাছাকাছি। README-তে উল্লেখ করা হয়েছে যে কিছু পরিকল্পিত ফিচার এখনও বাস্তবায়িত হয়নি, বাস্তবায়িত ফিচার পরিবর্তিত হতে পারে এবং বাগ রয়েছে। ডকুমেন্টেশন প্রকল্পের ওয়েবসাইটে এবং docs-এর অধীনে Markdown আকারে পাওয়া যায়, examples ডিরেক্টরিতে কোড নমুনাসহ। প্রশ্ন ও আলোচনার জন্য GitHub issues বা প্রকল্পের Discord সার্ভারে যাওয়ার নির্দেশনা দেওয়া হয়েছে। সোর্স থেকে বিল্ড করতে একটি C++20 কম্পাইলার, CMake 3.16 বা তার নতুন সংস্করণ এবং LLVM/Clang 23 প্রয়োজন। README-তে Linux (apt-ভিত্তিক ইনস্টল এবং প্রি-বিল্ট LLVM টারবল), macOS (Homebrew) এবং Windows (প্রি-বিল্ট LLVM বাইনারি)-এর জন্য প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশনা দেওয়া হয়েছে। বিল্ড থেকে cx এবং cx-lsp বাইনারি তৈরি হয়। ল্যাঙ্গুয়েজ সার্ভার LSP-সক্ষম এডিটরে ডায়াগনস্টিকস, হোভার, গো টু ডেফিনিশন, কমপ্লিশন, ফাইন্ড রেফারেন্স এবং সেমান্টিক হাইলাইটিং সমর্থন করে। GitHub issues এবং একটি Trello বোর্ডের মাধ্যমে অবদান স্বাগত। টেস্টিংয়ে pip-এর মাধ্যমে ইনস্টল করা lit এবং psutil ব্যবহার করা হয়, তারপর একটি CMake check টার্গেট CTest-এর মাধ্যমে সম্পূর্ণ স্যুট চালায়, যা lit/কম্পাইলার টেস্ট, LLVM এবং C উভয় ব্যাকএন্ডে উদাহরণ প্রোগ্রাম, ডকুমেন্টেশন স্নিপেট এবং ল্যাঙ্গুয়েজ সার্ভার এন্ড-টু-এন্ড টেস্ট কভার করে। ctest ফিল্টার দিয়ে সাবসেট চালানো যায়। C++ কোড স্টাইল ClangFormat দ্বারা format এবং lint CMake টার্গেটের মাধ্যমে প্রয়োগ করা হয়। একটি WebAssembly ফ্রন্টএন্ড এবং ইন-ব্রাউজার C টুলচেইন ব্রাউজার প্লেগ্রাউন্ড এবং ওয়েবসাইটকে সমর্থন করে, স্থানীয় ডেভেলপমেন্টের জন্য একটি বিল্ড স্ক্রিপ্টসহ। প্রকল্পটি MIT লাইসেন্সের অধীনে লাইসেন্সকৃত।