Write code in Bengali. Think in Bengali. Learn in Bengali.
An educational language powerful enough for real projects — inspired by BhaiLang & Vedic, but with production-grade features.
🚀 Quick Start • 📚 Documentation • 💡 Examples • 🎯 Features • 🤝 Contributing
BanglaCode is an educational programming language designed for 300+ million Bengali speakers worldwide. While it's not competing with industry-standard languages like JavaScript or Python, it goes far beyond typical toy languages by offering production-grade features for real-world learning and projects.
Inspired by: BhaiLang (Hindi) and Vedic (Sanskrit) — regional programming languages that introduced native-language coding to India.
The Difference: While BhaiLang and Vedic are excellent toy languages with basic features, BanglaCode is a full-featured educational language that enables you to:
✅ Build real backends - HTTP servers, REST APIs, WebSocket servers ✅ Connect to databases - PostgreSQL, MySQL, MongoDB, Redis with connection pooling ✅ Write modular code - Import/export system, code organization, reusable modules ✅ Handle complex logic - OOP, async/await, error handling, promises ✅ Access system resources - File I/O, networking, process management
Perfect for: Bengali-speaking students learning programming concepts, educators teaching CS fundamentals, and hobbyists building projects in their native language.
Not a replacement for: Production enterprise applications (use JavaScript, Python, Go, etc. for that). BanglaCode is a learning tool that happens to be powerful enough for real projects.
|
🚀 Fast & Efficient
|
🎯 Modern Language
|
|
🔧 135+ Built-in Functions
|
🛠️ Developer Experience
|
"আমি একজন বাংলা মাধ্যমের ছাত্র। আমি logic তৈরি করতে পারি, কিন্তু সেই logic validate করতে Programming language এর syntax শিখতে হয়। BanglaCode সেই barrier শেষ করেছে — যে ভাষা তুমি জানো, সেই ভাষাতেই logic run করো।"
— Ankan Saha, Creator of BanglaCode
The Problem: Bengali students can think logically but struggle with English-based programming syntax.
The Solution: BanglaCode bridges this gap with Bengali keywords (dhoro, jodi, kaj) while maintaining C-like structure familiar to CS students.
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/nexoral/BanglaCode/main/Scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/nexoral/BanglaCode/main/Scripts/install.ps1 | iex# Clone the repository
git clone https://github.com/nexoral/BanglaCode.git
cd BanglaCode
# Build the interpreter (requires Go 1.20+)
go build -o banglacode main.go
# Verify installation
./banglacode --versionCreate hello.bang (or .bangla or .bong):
// Simple variables
dhoro naam = "বাংলাদেশ";
dekho("Namaskar,", naam, "!");
// Functions
kaj factorial(n) {
jodi (n <= 1) { ferao 1; }
ferao n * factorial(n - 1);
}
dekho("10! =", factorial(10)); // Output: 10! = 3628800
Run it:
./banglacode hello.bangOutput:
Namaskar, বাংলাদেশ !
10! = 3628800
// Mutable variables
dhoro counter = 0;
dhoro name = "Ankan";
// Immutable constants (cannot be reassigned)
sthir PI = 3.14159;
sthir MAX_SIZE = 1000;
// Global variables (accessible from any scope)
bishwo appVersion = "1.0.0";
// Data types: Number, String, Boolean, Array, Map, Null
dhoro num = 42;
dhoro text = "Hello";
dhoro flag = sotti; // true
dhoro empty = khali; // null
dhoro list = [1, 2, 3];
dhoro obj = {"key": "value"};
// If-Else
jodi (score >= 90) {
dekho("Excellent!");
} nahole jodi (score >= 60) {
dekho("Good!");
} nahole {
dekho("Keep trying!");
}
// While Loop
dhoro count = 0;
jotokkhon (count < 5) {
dekho(count);
count = count + 1;
}
// For Loop with break/continue
ghuriye (dhoro i = 0; i < 10; i = i + 1) {
jodi (i == 5) { chharo; } // continue
jodi (i == 8) { thamo; } // break
dekho(i);
}
// Function definition
kaj greet(name) {
ferao "Namaskar, " + name + "!";
}
// Higher-order functions & closures
kaj makeCounter() {
dhoro count = 0;
ferao kaj() {
count = count + 1;
ferao count;
};
}
dhoro counter = makeCounter();
dekho(counter()); // 1
dekho(counter()); // 2
dekho(counter()); // 3
sreni Person {
// Constructor
shuru(naam, boyosh) {
ei.naam = naam;
ei.boyosh = boyosh;
}
// Methods
kaj greet() {
dekho("Namaskar! Ami", ei.naam);
}
kaj age() {
ferao ei.boyosh;
}
}
// Inheritance example
sreni Student {
shuru(naam, boyosh, school) {
ei.naam = naam;
ei.boyosh = boyosh;
ei.school = school;
}
kaj study() {
dekho(ei.naam, "is studying at", ei.school);
}
}
dhoro student = notun Student("Rahim", 15, "Dhaka High School");
student.study();
// Async function with proyash keyword
proyash kaj fetchData(url) {
dhoro response = opekha anun_async(url);
ferao json_poro(response);
}
// Using async functions
proyash kaj main() {
chesta {
dhoro data = opekha fetchData("https://api.example.com/data");
dekho("Fetched:", data);
} dhoro_bhul (error) {
dekho("Error:", error);
}
}
// Call async function
main();
// math_utils.bang
pathao kaj add(a, b) {
ferao a + b;
}
pathao kaj multiply(a, b) {
ferao a * b;
}
pathao sthir PI = 3.14159;
// main.bang
ano "math_utils.bang";
dekho(add(5, 3)); // 8
dekho(multiply(4, 7)); // 28
dekho(PI); // 3.14159
// Import with alias
ano "math_utils.bang" hisabe math;
dekho(math.add(10, 20)); // 30
kaj riskyOperation() {
dhoro randomNum = lotto();
jodi (randomNum < 0.5) {
felo "Operation failed!";
}
ferao "Success!";
}
chesta {
dhoro result = riskyOperation();
dekho(result);
} dhoro_bhul (err) {
dekho("Caught error:", err);
} shesh {
dekho("Cleanup always runs");
}
kaj handleRequest(req, res) {
jodi (req.path == "/") {
uttor(res, "Welcome to BanglaCode Server!");
} nahole jodi (req.path == "/api/users") {
dhoro users = [
{"id": 1, "naam": "Ankan"},
{"id": 2, "naam": "Rahim"}
];
json_uttor(res, users);
} nahole {
uttor(res, "404 Not Found", 404);
}
}
dekho("Server running on http://localhost:3000");
server_chalu(3000, handleRequest);
BanglaCode provides complete OS-level access with 50+ system functions:
// File operations
dhoro size = file_akar("/path/to/file.txt");
dhoro perms = file_permission("/path/to/file.txt");
file_permission_set("/path/to/file.txt", "0755");
// Directory operations
dhoro files = directory_taliika("/home/user");
dhoro allFiles = directory_ghumao("/home/user"); // Recursive
// Process management
dhoro result = chalan("ls", ["-la"]);
dekho("Output:", result["output"]);
dekho("Exit code:", result["code"]);
// Process control
process_ghum(1000); // Sleep 1 second
dekho("PID:", process_id());
dekho("Parent PID:", process_parent_id());
// System information
dekho("OS:", os_naam()); // linux/darwin/windows
dekho("Architecture:", bibhag()); // amd64/arm64
dekho("CPUs:", cpu_sonkha());
dekho("Hostname:", hostname());
// Memory & Disk
dhoro totalMem = memory_total();
dhoro usedMem = memory_bebohrito();
dhoro freeMem = memory_mukt();
dhoro diskSize = disk_akar("/");
// Network information
dhoro interfaces = network_interface();
dhoro ips = ip_shokal();
dhoro mac = mac_address("eth0");
// Environment variables
dhoro path = poribesh("PATH");
poribesh_set("MY_VAR", "value");
dhoro allEnv = poribesh_shokal();
// Time & Uptime
dhoro currentTime = shomoy_ekhon();
dhoro systemUptime = uptime();
dhoro bootTime = boot_shomoy();
// Temporary files
dhoro tempDir = temp_directory();
dhoro tempFile = temp_file("prefix-");
dhoro tempFolder = temp_folder("prefix-");
// Symbolic links
symlink_banao("/target/path", "/link/path");
dhoro isSymlink = symlink_ki("/path/to/check");
dhoro linkTarget = symlink_poro("/path/to/symlink");
BanglaCode supports production-grade database connectors with connection pooling for maximum performance:
// PostgreSQL with connection pool (50-100x faster than new connections)
dhoro pool = db_pool_banao("postgres", {
"host": "localhost",
"port": 5432,
"database": "myapp",
"user": "admin",
"password": "secret"
}, 10); // Max 10 connections
// Get connection from pool
dhoro conn = db_pool_nao(pool);
// Execute query
dhoro users = db_query(conn, "SELECT * FROM users WHERE age > 25");
// Iterate results
ghuriye (dhoro i = 0; i < dorghyo(users["rows"]); i = i + 1) {
dhoro user = users["rows"][i];
dekho("User:", user["name"], "Age:", user["age"]);
}
// Prepared queries (SQL injection safe)
dhoro result = db_proshno(conn, "INSERT INTO users (name, email) VALUES ($1, $2)",
["Rahim", "rahim@example.com"]);
// Return connection to pool (reused for next query)
db_pool_ferot(pool, conn);
// MongoDB document operations
dhoro mongoConn = db_jukto("mongodb", {
"host": "localhost",
"database": "mydb"
});
dhoro docs = db_khojo_mongodb(mongoConn, "users", {
"age": {"$gt": 25},
"city": "Dhaka"
});
db_dhokao_mongodb(mongoConn, "users", {
"name": "Karim",
"age": 30,
"city": "Dhaka"
});
// Redis caching
dhoro redisConn = db_jukto("redis", {"host": "localhost"});
db_set_redis(redisConn, "user:1", "Rahim Ahmed");
db_expire_redis(redisConn, "user:1", 3600); // 1 hour TTL
dhoro cachedUser = db_get_redis(redisConn, "user:1");
dekho("Cached user:", cachedUser);
// Async database queries
proyash kaj fetchUsers() {
dhoro conn = opekha db_jukto_async("postgres", {...});
dhoro users = opekha db_query_async(conn, "SELECT * FROM users");
opekha db_bandho_async(conn);
ferao users;
}
dhoro result = opekha fetchUsers();
dekho("Fetched users:", dorghyo(result["rows"]));
dekho(...)- Print to consolenao(prompt)- Read user input
boroHater(str)- UppercasechotoHater(str)- Lowercasechhanto(str)- Trim whitespacebhag(str, sep)- Split stringjoro(arr, sep)- Join array to stringkhojo(str, substr)- Find substringangsho(str, start, end)- Substringbodlo(str, old, new)- Replacekato(str, len)- String length
dorghyo(arr)- Array lengthdhokao(arr, val)- Push elementberKoro(arr)- Pop elementkato(arr, start, end)- Slice arrayulto(arr)- Reverse arraysaja(arr)- Sort arrayache(arr, val)- Contains checkchabi(map)- Get map keys
borgomul(x)- Square rootghat(base, exp)- Powerniche(x)- Floorupore(x)- Ceilingkache(x)- Roundniratek(x)- Absolute valuechoto(...)- Minimumboro(...)- Maximumlotto()- Random (0-1)
poro(path)- Read filelekho(path, content)- Write filefile_akar(path)- File sizefile_permission(path)- Get permissionsfile_permission_set(path, mode)- Set permissionsfile_dhoron(path)- File typefile_rename(old, new)- Rename fileache_ki(path)- Check existencefolder_banao(path)- Create directorymuke_felo(path)- Delete file/directory
directory_taliika(path)- List directorydirectory_ghumao(path)- Walk directory treedirectory_khali_ki(path)- Is directory emptydirectory_akar(path)- Directory total sizekaj_directory()- Current working directorykaj_directory_bodol(path)- Change directory
chalan(cmd, args)- Execute commandprocess_id()- Current PIDprocess_parent_id()- Parent PIDprocess_args()- Command-line argumentsprocess_ghum(ms)- Sleepprocess_maro(pid)- Kill processprocess_signal(pid, signal)- Send signalprocess_ache_ki(pid)- Check if runningprocess_opekha(pid)- Wait for process
os_naam()- Operating system namebibhag()- Architecture (amd64, arm64)hostname()- System hostnamecpu_sonkha()- Number of CPUsbebosthok_naam()- Usernamebari_directory()- Home directorymemory_total()- Total RAMmemory_bebohrito()- Used RAMmemory_mukt()- Free RAMcpu_bebohrito()- CPU usage %disk_akar(path)- Disk total sizedisk_bebohrito(path)- Disk useddisk_mukt(path)- Disk free
network_interface()- Network interfacesip_address(interface)- IP addressip_shokal()- All IP addressesmac_address(interface)- MAC addressnetwork_gateway()- Default gatewaydns_server()- DNS servers
server_chalu(port, handler)- Start HTTP serveranun(url)- HTTP GET requestanun_async(url)- Async HTTP GETuttor(res, body, status, type)- Send responsejson_uttor(res, data, status)- Send JSONjson_poro(str)- Parse JSONjson_banao(obj)- Stringify JSON
TCP Functions:
tcp_server_chalu(port, handler)- Start TCP servertcp_jukto(host, port)- Connect to TCP server (async)tcp_pathao(conn, data)- Send data on TCP connectiontcp_lekho(conn, data)- Write data (alias)tcp_shuno(conn)- Read data (async)tcp_bondho(conn)- Close TCP connection
UDP Functions:
udp_server_chalu(port, handler)- Start UDP serverudp_pathao(host, port, data)- Send UDP packet (async)udp_uttor(packet, data)- Send UDP responseudp_shuno(port, handler)- Listen for packets (alias)udp_bondho(conn)- Close UDP connection
WebSocket Functions:
websocket_server_chalu(port, handler)- Start WebSocket serverwebsocket_jukto(url)- Connect to WebSocket (async)websocket_pathao(conn, message)- Send messagewebsocket_bondho(conn)- Close WebSocket connection
BanglaCode provides production-grade database connectors with connection pooling and both sync/async APIs:
Universal Functions (Work with all databases):
db_jukto(type, config)- Connect to databasedb_jukto_async(type, config)- Connect asyncdb_bandho(conn)- Close connectiondb_bandho_async(conn)- Close asyncdb_query(conn, sql)- Execute SELECT querydb_query_async(conn, sql)- Query asyncdb_exec(conn, sql)- Execute INSERT/UPDATE/DELETEdb_exec_async(conn, sql)- Execute asyncdb_proshno(conn, sql, params)- Prepared query (SQL injection safe)db_proshno_async(conn, sql, params)- Prepared query async
Connection Pool Functions (50-100x faster):
db_pool_banao(type, config, maxConns)- Create connection pooldb_pool_nao(pool)- Get connection from pooldb_pool_ferot(pool, conn)- Return connection to pooldb_pool_bondho(pool)- Close pooldb_pool_tothyo(pool)- Get pool statistics
PostgreSQL Specific:
db_jukto_postgres(config)- PostgreSQL connectiondb_query_postgres(conn, sql)- Execute querydb_exec_postgres(conn, sql)- Execute statementdb_proshno_postgres(conn, sql, params)- Prepared statementdb_transaction_shuru_postgres(conn)- Begin transactiondb_commit_postgres(tx)- Commit transactiondb_rollback_postgres(tx)- Rollback transaction
MySQL Specific:
db_jukto_mysql(config)- MySQL connectiondb_query_mysql(conn, sql)- Execute querydb_exec_mysql(conn, sql)- Execute statementdb_proshno_mysql(conn, sql, params)- Prepared statementdb_transaction_shuru_mysql(conn)- Begin transactiondb_commit_mysql(tx)- Commit transactiondb_rollback_mysql(tx)- Rollback transaction
MongoDB Specific:
db_jukto_mongodb(config)- MongoDB connectiondb_khojo_mongodb(conn, collection, filter)- Find documentsdb_khojo_async_mongodb(conn, collection, filter)- Find asyncdb_dhokao_mongodb(conn, collection, doc)- Insert documentdb_dhokao_async_mongodb(conn, collection, doc)- Insert asyncdb_update_mongodb(conn, collection, filter, update)- Update documentsdb_update_async_mongodb(conn, collection, filter, update)- Update asyncdb_mujhe_mongodb(conn, collection, filter)- Delete documentsdb_mujhe_async_mongodb(conn, collection, filter)- Delete async
Redis Specific:
db_jukto_redis(config)- Redis connectiondb_set_redis(conn, key, value, ttl)- Set key-valuedb_set_async_redis(conn, key, value, ttl)- Set asyncdb_get_redis(conn, key)- Get valuedb_get_async_redis(conn, key)- Get asyncdb_del_redis(conn, key)- Delete keydb_expire_redis(conn, key, seconds)- Set expirationdb_lpush_redis(conn, key, value)- List push leftdb_rpush_redis(conn, key, value)- List push rightdb_lpop_redis(conn, key)- List pop leftdb_rpop_redis(conn, key)- List pop rightdb_hset_redis(conn, key, field, value)- Hash set fielddb_hget_redis(conn, key, field)- Hash get fielddb_hgetall_redis(conn, key)- Hash get all fields
somoy()- Current timestamp (ms)shomoy_ekhon()- Unix timestampshomoy_format(timestamp, format)- Format timeshomoy_parse(str, format)- Parse timeuptime()- System uptime (seconds)boot_shomoy()- Boot timestamptimezone()- System timezone
poribesh(name)- Get environment variableporibesh_set(name, value)- Set env varporibesh_shokal()- All env varsporibesh_muke(name)- Unset env varpath_joro(...)- Join path componentssompurno_path(path)- Absolute pathpath_naam(path)- Base namedirectory_naam(path)- Directory namefile_ext(path)- File extensionpath_match(pattern, path)- Glob matching
temp_directory()- System temp directorytemp_file(prefix)- Create temp filetemp_folder(prefix)- Create temp directorytemp_muche_felo()- Clean temp files
symlink_banao(target, link)- Create symlinksymlink_poro(link)- Read symlink targetsymlink_ki(path)- Is symlink checkhardlink_banao(target, link)- Create hardlinklink_sonkha(path)- Number of links
dhoron(x)- Get typelipi(x)- Convert to stringsonkha(x)- Convert to numberbondho(code)- Exit program
| Bengali | Banglish | English | Usage |
|---|---|---|---|
| ধরো | dhoro |
let/var | dhoro x = 5; |
| স্থির | sthir |
const | sthir PI = 3.14; |
| বিশ্ব | bishwo |
global | bishwo count = 0; |
| যদি | jodi |
if | jodi (x > 0) { } |
| নাহলে | nahole |
else | nahole { } |
| যতক্ষণ | jotokkhon |
while | jotokkhon (x < 10) { } |
| ঘুরিয়ে | ghuriye |
for | ghuriye (dhoro i = 0; i < 5; i++) { } |
| কাজ | kaj |
function | kaj add(a, b) { } |
| ফেরাও | ferao |
return | ferao result; |
| থামো | thamo |
break | thamo; |
| ছাড়ো | chharo |
continue | chharo; |
| Bengali | Banglish | English | Usage |
|---|---|---|---|
| শ্রেণী | sreni |
class | sreni Person { } |
| শুরু | shuru |
constructor | shuru(naam) { } |
| নতুন | notun |
new | notun Person() |
| এই | ei |
this | ei.naam = "Ankan"; |
| Bengali | Banglish | English | Usage |
|---|---|---|---|
| আনো | ano |
import | ano "module.bang"; |
| পাঠাও | pathao |
export | pathao kaj fn() { } |
| হিসাবে | hisabe |
as | ano "x.bang" hisabe y; |
| Bengali | Banglish | English | Usage |
|---|---|---|---|
| প্রয়াস | proyash |
async | proyash kaj fn() { } |
| অপেক্ষা | opekha |
await | opekha promise |
| Bengali | Banglish | English | Usage |
|---|---|---|---|
| চেষ্টা | chesta |
try | chesta { } |
| ধরো ভুল | dhoro_bhul |
catch | dhoro_bhul (e) { } |
| শেষ | shesh |
finally | shesh { } |
| ফেলো | felo |
throw | felo "error"; |
| Bengali | Banglish | English | Value |
|---|---|---|---|
| সত্যি | sotti |
true | Boolean true |
| মিথ্যা | mittha |
false | Boolean false |
| খালি | khali |
null | Null value |
| এবং | ebong |
and | Logical AND |
| বা | ba |
or | Logical OR |
| না | na |
not | Logical NOT |
BanglaCode follows a classic tree-walking interpreter architecture:
Source Code (.bang/.bangla/.bong)
↓
[LEXER] → Tokenization
↓
[PARSER] → Syntax Analysis (Pratt Parsing)
↓
[AST] → Abstract Syntax Tree
↓
[EVALUATOR] → Tree-Walking Execution
↓
Result / Output
BanglaCode/
├── src/
│ ├── lexer/ # Tokenization (29 Bengali keywords)
│ ├── parser/ # Pratt parser (precedence climbing)
│ ├── ast/ # Abstract Syntax Tree nodes
│ ├── object/ # Runtime values & environment
│ └── evaluator/ # Tree-walking interpreter
│ ├── builtins/ # 130+ built-in functions
│ │ ├── system/ # 50+ OS-level functions
│ │ ├── network/ # TCP, UDP, WebSocket
│ │ └── database/ # PostgreSQL, MySQL, MongoDB, Redis (NEW!)
│ ├── async.go # Async/await implementation
│ ├── classes.go # OOP support
│ ├── modules.go # Import/export system
│ └── errors.go # Try/catch/finally
├── Extension/ # VS Code extension
├── Documentation/ # Next.js documentation site
├── examples/ # Sample programs
└── test/ # Test suite (100+ tests)
Get the full development experience with our official VS Code extension:
✅ Syntax Highlighting for .bang, .bangla, .bong files
✅ IntelliSense with auto-completion
✅ 40+ Code Snippets for common patterns
✅ Hover Documentation for built-in functions
✅ Error Highlighting with diagnostics
✅ Custom File Icons for BanglaCode files
From VS Code Marketplace:
- Open VS Code
- Press
Ctrl+Shift+X(Extensions) - Search "BanglaCode"
- Click Install
From Source:
cd Extension
npm install
npx vsce package
code --install-extension banglacode-*.vsix| Resource | Description |
|---|---|
| 🌐 Official Website | Complete documentation & tutorials |
| 📘 SYNTAX.md | Language syntax reference |
| 🏗️ ARCHITECTURE.md | Technical architecture deep-dive |
| 🗺️ ROADMAP.md | Future development plans |
| 🤝 CONTRIBUTING.md | Contribution guidelines |
| 📜 CODE_OF_CONDUCT.md | Community standards |
| 🔒 SECURITY.md | Security policy |
| 📋 CHANGELOG.md | Version history |
Explore real-world programs in the examples/ directory:
| File | Features Demonstrated |
|---|---|
hello.bang |
Variables, functions, recursion |
classes.bang |
OOP, inheritance, methods |
async.bang |
Async/await, promises |
http_server.bang |
Web server, routing, JSON API |
modules_demo.bang |
Import/export, code organization |
error_handling.bang |
Try/catch/finally, custom errors |
file_operations.bang |
File I/O, directory traversal |
system_info.bang |
OS-level access, system stats |
loops.bang |
For/while loops, break/continue |
data_structures.bang |
Arrays, maps, nested structures |
Run any example:
./banglacode examples/http_server.bang# Linux
GOOS=linux GOARCH=amd64 go build -o banglacode-linux main.go
# macOS
GOOS=darwin GOARCH=arm64 go build -o banglacode-macos main.go
# Windows
GOOS=windows GOARCH=amd64 go build -o banglacode.exe main.goFROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o banglacode main.go
FROM alpine:latest
COPY --from=builder /app/banglacode /usr/local/bin/
CMD ["banglacode"]We welcome contributions! BanglaCode is built by and for the Bengali-speaking community.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
🎯 High Priority:
- Performance optimizations
- Additional built-in functions
- Better error messages in Bengali
- Bengali tutorials and documentation
🔧 Medium Priority:
- Online playground/REPL
- Package manager
- Standard library expansion
- IDE integrations (IntelliJ, Sublime)
📚 Community:
- Example programs
- Tutorial videos
- Translation improvements
- Bug reports and fixes
See CONTRIBUTING.md for detailed guidelines.
|
BanglaCode is open source software licensed under the GNU General Public License v3.0.
This means you can:
- ✅ Use commercially
- ✅ Modify
- ✅ Distribute
- ✅ Use privately
See LICENSE for full details.
BanglaCode is inspired by great programming languages and communities:
- C — Syntax discipline and performance
- JavaScript — Modern features and async/await
- Go — Simplicity, performance, and tooling
- Python — Beginner-friendly philosophy
- The Bengali Community — Making programming accessible to 300M+ speakers
Special thanks to all contributors who helped make this vision a reality!
Ankan Saha Creator & Lead Developer West Bengal, India
"Programming should be about logic, not language barriers."
May your programming journey be successful!
Made with ❤️ for Bengali developers worldwide