Zero to Hero Learning Path

বাংলাস্ক্রিপ্ট শিখুন
Learn BanglaScript from Scratch

বাংলায় প্রোগ্রামিং শিখুন একদম শুরু থেকে। এই গাইডে আপনি শিখবেন ভেরিয়েবল, ফাংশন, ক্লাস, অ্যাসিঙ্ক প্রোগ্রামিং এবং আরও অনেক কিছু!

4

Levels

50+

Examples

10+

Projects

100%

Free

Quick Start

শুরু করুন ৫ মিনিটে

Follow these simple steps to set up BanglaScript and write your first program.

Installation Steps

1

Install BanglaScript globally

npm install -g banglascript
2

Create a new project

bjs init my-project
3

Enter project directory

cd my-project
4

Build and run

npm run build && npm start

Your First Program

src/main.bjs
// আপনার প্রথম বাংলাস্ক্রিপ্ট প্রোগ্রাম

ধ্রুবক নাম = "বিশ্ব";

লিখো("হ্যালো, " + নাম + "!");

অনুষ্ঠান যোগ(ক, খ) {
    প্রেরণ ক + খ;
}

সংখ্যা ফলাফল = যোগ(৫, ৩);
লিখো("যোগফল: " + ফলাফল);
Output
হ্যালো, বিশ্ব!
যোগফল: 8

Run your program:

bjs run src/main.bjs

Prerequisites

1

Node.js 16+

Download from nodejs.org

2

VS Code (Recommended)

Install BanglaScript Extension

Learning Path

শেখার পথ Zero to Hero

Start from the basics and progress to mastery. Each level builds upon the previous one.

Level 1

শুরুর পাঠ

Beginner

Learn variables, data types, conditions, and loops

ভেরিয়েবলডাটা টাইপশর্তলুপফাংশন
Level 2

মধ্যবর্তী পাঠ

Intermediate

Master arrays, objects, classes, and error handling

অ্যারেঅবজেক্টক্লাসএরর হ্যান্ডলিংসুইচ
Level 3

উন্নত পাঠ

Advanced

Async programming, DOM manipulation, and web apps

PromiseAsync/AwaitDOMAPIওয়েব অ্যাপ
Level 4

মাস্টার লেভেল

Master

Modules, API servers, and advanced patterns

মডিউলসার্ভারMathপ্রজেক্ট

50+

Lessons

100+

Code Examples

25+

Exercises

4

Projects

Practice Programs

প্র্যাকটিস করুন Interactive Examples

Hands-on code examples to practice and understand BanglaScript concepts.

১. হ্যালো ওয়ার্ল্ড

Hello World

beginnerBasics

আপনার প্রথম বাংলাস্ক্রিপ্ট প্রোগ্রাম

1// এটি একটি কমেন্ট
2লিখো("হ্যালো বিশ্ব!");
3লিখো("আমি বাংলাস্ক্রিপ্ট শিখছি!");
হ্যালো বিশ্ব!
আমি বাংলাস্ক্রিপ্ট শিখছি!
`লিখো()` হলো console.log() এর বাংলা সমতুল্য। এটি আপনার টেক্সট কনসোলে প্রিন্ট করে।

২. ভেরিয়েবল ও বাংলা সংখ্যা

Variables & Numbers

beginnerVariables

ভেরিয়েবল তৈরি এবং বাংলা সংখ্যা ব্যবহার

1ধ্রুবক নাম = "মাহমুদ";
2চলক বয়স = ২০;
3সংখ্যা উচ্চতা = ১৭৬;
4
5লিখো("নাম: " + নাম);
6লিখো("বয়স: " + বয়স);
7লিখো("উচ্চতা: " + উচ্চতা + " সেমি");
নাম: মাহমুদ
বয়স: 20
উচ্চতা: 176 সেমি
`ধ্রুবক` = const (পরিবর্তন হবে না), `চলক`/`সংখ্যা` = let (পরিবর্তন হতে পারে)। বাংলা সংখ্যা (০-৯) স্বয়ংক্রিয়ভাবে ইংরেজিতে রূপান্তরিত হয়।

৩. শর্ত (যদি-নাহলে)

Conditions

beginnerConditions

কন্ডিশনাল স্টেটমেন্ট ব্যবহার

1সংখ্যা নম্বর = ৭৫;
2
3যদি (নম্বর >= ৮০) {
4    লিখো("গ্রেড: A+");
5} নাহলে যদি (নম্বর >= ৭০) {
6    লিখো("গ্রেড: A");
7} নাহলে যদি (নম্বর >= ৬০) {
8    লিখো("গ্রেড: B");
9} নাহলে {
10    লিখো("আরও পরিশ্রম করুন!");
11}
গ্রেড: A
`যদি` = if, `নাহলে` = else, `নাহলে যদি` = else if। শর্ত সত্য হলে ব্লকের ভিতরের কোড চলবে।

৪. লুপ (জন্য)

Loops

beginnerLoops

ফর লুপ দিয়ে পুনরাবৃত্তি

1// ১ থেকে ৫ পর্যন্ত গণনা
2জন্য (সংখ্যা i = ১; i <= ৫; i++) {
3    লিখো("সংখ্যা: " + i);
4}
সংখ্যা: 1
সংখ্যা: 2
সংখ্যা: 3
সংখ্যা: 4
সংখ্যা: 5
`জন্য` = for লুপ। এটি একটি কাউন্টার দিয়ে নির্দিষ্ট সংখ্যকবার কোড চালায়।

৫. অনুষ্ঠান (Function)

Functions

beginnerFunctions

ফাংশন তৈরি এবং ব্যবহার

1অনুষ্ঠান যোগ(ক, খ) {
2    প্রেরণ ক + খ;
3}
4
5অনুষ্ঠান শুভেচ্ছা(নাম) {
6    লিখো("স্বাগতম, " + নাম + "!");
7}
8
9ধ্রুবক ফলাফল = যোগ(১০, ২০);
10লিখো("যোগফল: " + ফলাফল);
11শুভেচ্ছা("রহিম");
যোগফল: 30
স্বাগতম, রহিম!
`অনুষ্ঠান` = function, `প্রেরণ` = return। ফাংশন পুনরায় ব্যবহারযোগ্য কোড ব্লক তৈরি করে।

৬. অ্যারে (Array)

Arrays

intermediateArrays

অ্যারে তৈরি এবং ম্যানিপুলেশন

1ধ্রুবক ফলসমূহ = ["আম", "জাম", "কাঁঠাল", "লিচু"];
2
3// অ্যাক্সেস করা
4লিখো("প্রথম ফল: " + ফলসমূহ[০]);
5লিখো("মোট ফল: " + ফলসমূহ.দৈর্ঘ্য);
6
7// নতুন আইটেম যোগ
8ফলসমূহ.ঠেলো("কলা");
9লিখো("আপডেটেড: " + ফলসমূহ);
প্রথম ফল: আম
মোট ফল: 4
আপডেটেড: আম,জাম,কাঁঠাল,লিচু,কলা
অ্যারে হলো একাধিক আইটেমের তালিকা। `ঠেলো` = push, `দৈর্ঘ্য` = length।

৭. অবজেক্ট (Object)

Objects

intermediateObjects

অবজেক্ট তৈরি এবং প্রপার্টি অ্যাক্সেস

1ধ্রুবক ছাত্র = {
2    নাম: "রহিম",
3    বয়স: ২০,
4    শ্রেণী: "দশম",
5    রোল: ৫,
6    বিষয়সমূহ: ["বাংলা", "ইংরেজি", "গণিত"]
7};
8
9লিখো("নাম: " + ছাত্র.নাম);
10লিখো("বয়স: " + ছাত্র.বয়স);
11লিখো("প্রথম বিষয়: " + ছাত্র.বিষয়সমূহ[০]);
নাম: রহিম
বয়স: 20
প্রথম বিষয়: বাংলা
অবজেক্ট key-value পেয়ার ধারণ করে। ডট (.) বা ব্র্যাকেট ([]) দিয়ে অ্যাক্সেস করা যায়।

৮. ক্লাস (Class)

Classes

intermediateClasses

ক্লাস তৈরি এবং অবজেক্ট ইনস্ট্যান্সিয়েশন

1ক্লাস মানুষ {
2    নির্মাতা(নাম, বয়স) {
3        এই.নাম = নাম;
4        এই.বয়স = বয়স;
5    }
6    
7    পরিচয়() {
8        লিখো("নাম: " + এই.নাম + ", বয়স: " + এই.বয়স);
9    }
10}
11
12ধ্রুবক ব্যক্তি১ = নতুন মানুষ("রহিম", ২৫);
13ব্যক্তি১.পরিচয়();
নাম: রহিম, বয়স: 25
`ক্লাস` = class, `নির্মাতা` = constructor, `এই` = this, `নতুন` = new। ক্লাস অবজেক্ট তৈরির টেমপ্লেট।

৯. অ্যাসিঙ্ক প্রোগ্রামিং

Async/Await

advancedAsync

Promise এবং async/await ব্যবহার

1অ্যাসিঙ্ক অনুষ্ঠান ডাটা_আনো() {
2    লিখো("ডাটা লোড হচ্ছে...");
3    
4    চেষ্টা {
5        ধ্রুবক response = অপেক্ষা fetch("https://api.example.com/data");
6        ধ্রুবক ডাটা = অপেক্ষা response.json();
7        লিখো("ডাটা পাওয়া গেছে!");
8        প্রেরণ ডাটা;
9    } ধরো (ত্রুটি) {
10        ত্রুটি_লিখো("সমস্যা: " + ত্রুটি.message);
11    }
12}
13
14ডাটা_আনো();
ডাটা লোড হচ্ছে...
ডাটা পাওয়া গেছে!
`অ্যাসিঙ্ক` = async, `অপেক্ষা` = await। এটি অ্যাসিঙ্ক্রোনাস অপারেশন (যেমন API কল) সহজে হ্যান্ডেল করে।

১০. এরর হ্যান্ডলিং

Error Handling

advancedError Handling

try-catch দিয়ে ত্রুটি সামলানো

1অনুষ্ঠান ভাগ_করো(ক, খ) {
2    চেষ্টা {
3        যদি (খ === ০) {
4            ছুড়ে_দাও নতুন Error("শূন্য দিয়ে ভাগ করা যায় না!");
5        }
6        ধ্রুবক ফলাফল = ক / খ;
7        লিখো("ফলাফল: " + ফলাফল);
8        প্রেরণ ফলাফল;
9    } ধরো (ত্রুটি) {
10        ত্রুটি_লিখো("এরর: " + ত্রুটি.message);
11    } অবশেষে {
12        লিখো("অপারেশন শেষ");
13    }
14}
15
16ভাগ_করো(২০, ৪);
17ভাগ_করো(১০, ০);
ফলাফল: 5
অপারেশন শেষ
এরর: শূন্য দিয়ে ভাগ করা যায় না!
অপারেশন শেষ
`চেষ্টা` = try, `ধরো` = catch, `অবশেষে` = finally, `ছুড়ে_দাও` = throw। এটি ত্রুটি নিরাপদে হ্যান্ডেল করে।
Quick Reference

কীওয়ার্ড রেফারেন্স Card

All BanglaScript keywords mapped to their JavaScript equivalents. Search, filter, and copy!

ভেরিয়েবল (Variables)

ধ্রুবক→const
চলক→let
সংখ্যা→let
পরিবর্তনশীল→var
ব্যাক্তি→const
বাক্য→let

মান (Values)

সত্য→true
মিথ্যা→false
শূন্য→null
অনির্ধারিত→undefined

ফাংশন (Functions)

অনুষ্ঠান→function
প্রেরণ→return
ফেরত→return
অ্যাসিঙ্ক→async
অপেক্ষা→await

শর্ত (Conditions)

যদি→if
নাহলে→else
নাহলে যদি→else if
সুইচ→switch
কেস→case
সাধারণ→default

লুপ (Loops)

জন্য→for
যখন→while
করো→do
থামাও→break
চালিয়ে_যাও→continue

ক্লাস (Classes)

ক্লাস→class
নির্মাতা→constructor
এই→this
নতুন→new
বিস্তৃত→extends
সুপার→super

কনসোল (Console)

লিখো→console.log
ত্রুটি_লিখো→console.error
লিখো_সতর্কতা→console.warn
পরিষ্কার_করো→console.clear

এরর হ্যান্ডলিং (Error Handling)

চেষ্টা→try
ধরো→catch
অবশেষে→finally
ছুড়ে_দাও→throw

অ্যারে মেথড (Array Methods)

ঠেলো→push
তোলা→pop
ম্যাপ→map
ফিল্টার→filter
খুঁজে→find
প্রতিটিতে→forEach
দৈর্ঘ্য→length
অন্তর্ভুক্ত→includes

DOM (DOM)

দস্তাবেজ→document
সিলেক্টর_দ্বারা_পাও→querySelector
আইডি_দ্বারা_পাও→getElementById
ইভেন্ট_যোগ_করো→addEventListener
টেক্সট_পরিবর্তন_করো→innerText
বিষয়বস্তু_পরিবর্তন_করো→innerHTML
CLI Commands

কমান্ড লাইন Reference

bjs init <name>নতুন প্রজেক্ট তৈরি করুন
bjs init --web <name>Web প্রজেক্ট তৈরি করুন
bjs init --api <name>API প্রজেক্ট তৈরি করুন
bjs run <file>.bjsফাইল রান করুন
bjs build <file>.bjsJavaScript-এ কম্পাইল করুন
bjs watch <file>.bjsপরিবর্তন দেখুন ও অটো-রান
bjs replইন্টার‍্যাক্টিভ মোড
bjs keywordsসব কীওয়ার্ড দেখুন

আপনি এখন প্রস্তুত! 🎉

এই গাইড শেষ করলে আপনি বাংলাস্ক্রিপ্টে প্রোগ্রামিং করতে পারবেন। অনুশীলন করুন এবং আপনার প্রথম প্রজেক্ট তৈরি করুন!