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লিখো("উচ্চতা: " + উচ্চতা + " সেমি");
নাম: রহিম
বয়স: 25
উচ্চতা: 170 সেমি
`ধ্রুবক` = 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সব কীওয়ার্ড দেখুন

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

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