ছোট আর স্পষ্ট
প্রতিটা নামের type উল্লেখ করা থাকে। null নেই, exception নেই — না-থাকা মান
Option, ব্যর্থতা Result। grammar ছোট।
Beans একটা ছোট object-oriented systems language, তৈরি হয়েছে exact আর low-level —
দুটোই হওয়ার জন্য। accounting আর billing-এর মতো কাজে যেমন সহজ, database আর
operating system-এও তেমন। Source file-এর শেষে থাকে .b।
এতে class, interface আর inheritance আছে, সবই reference semantics-এ। grammar
ছোট। হিসাব হয় নিখুঁত decimal-এ, তাই কোনো rounding ভুল থাকে না। null নেই,
exception নেই — না-থাকা মান Option, ব্যর্থতা Result। কোন object কখন মুছে
যাবে তা আগে থেকেই নির্ধারিত, তাই garbage collector হঠাৎ থামিয়ে দেয় না, আর
destructor নির্দিষ্ট সময়ে চলে। raw memory আর C-র সাথে কাজের জন্য একটা unsafe
layer আছে। পুরোটা চালায় একটাই compiler, beansc — এটি program check করে, হয়
reference interpreter-এ চালায়, নয়তো LLVM দিয়ে native binary তৈরি করে।
import std.io
fn main() { let name: string = "beans" io.println("hello from {name}")}ছোট আর স্পষ্ট
প্রতিটা নামের type উল্লেখ করা থাকে। null নেই, exception নেই — না-থাকা মান
Option, ব্যর্থতা Result। grammar ছোট।
পূর্বানুমেয় মেমরি
cycle collector-সহ automatic reference counting। কোনো tracing garbage collector নেই, তাই সাধারণ পথে কোনো pause নেই, আর destructor নির্দিষ্ট সময়ে চলে।
সিস্টেমে সরাসরি অ্যাক্সেস
file, socket, thread, atomics, SIMD, shared memory, dynamic library, আর পুরো C ABI — সবই standard library দিয়ে।
একটাই কমান্ড
beansc নিজেই checker, interpreter, native backend, package manager,
language server আর debugger। একটা command-এই ইনস্টল হয়ে যায়।