রান বাটনে ক্লিক করার পর পর্দার আড়ালে যা ঘটে, তা যেন অনেকটা কোনো জাদুর বাক্সের মতো। কিন্তু একজন সত্যিকারের প্রোগ্রামার হিসেবে এই "জাদু"টা জানা খুব জরুরি। চলুন এই বিষয়টাকে একটু সহজ এবং 'হিউম্যান টাচ' দিয়ে বোঝার চেষ্টা করি। সবকিছুর শুরু হয় আমাদের লেখা কোড দিয়ে। ধরুন আপনি C ল্যাঙ্গুয়েজে Hello World প্রিন্ট করার একটা কোড লিখলেন। এই কোডটা আপনি এবং আমি বুঝতে পারছি, কিন্তু কম্পিউটার এটাকে দেখে অনেকটা 'হাবিজাবি'র মতো। কম্পিউটারের মগজ বা CPU শুধু বোঝে High Voltage (1) আর Low Voltage (0)। আমাদের এই ইংরেজি সদৃশ কোডকে তাই জিরো আর ওয়ানের ভাষায় রূপান্তর করতে হয়। এখানেই চলে আসে অনুবাদক বা Translator। একেক ভাষা একেকভাবে কাজ করে: Compiler (যেমন C/C+): এরা পুরো কোডটা একবারে পড়ে একটা আলাদা ফাইল (যেমন:.exe) বানিয়ে ফেলে। এটা অনেকটা পুরো একটা ইংরেজি বইকে একবারে বাংলায় অনুবাদ করে ফেলার মতো। Interpreter (যেমন Python/JS): এরা এক লাইন এক লাইন করে পড়ে এবং সাথে সাথেই কাজ শুরু করে। এটা অনেকটা লাইভ কনফারেন্সে দোভাষীর কাজ করার মতো। আপনি যখন প্রোগ্রামে ডাবল ক্লিক বা রান করেন, তখন Operating System (OS) নড়েচড়ে বসে। সে হার্ডড্রাইভ থেকে আপনার প্রোগ্রামটাকে টেনে নিয়ে আসে RAM-এ। কারণ, হার্ডড্রাইভ খুব ধীরগতির, আর CPU কাজ করে আলোর গতিতে। এই গতি সামাল দিতে RAM-এ কোড, ভ্যারিয়েবল এবং ডেটার জন্য আলাদা আলাদা ঘর (Stack, Heap) বরাদ্দ করা হয়। এখন আসল খেলোয়াড় অর্থাৎ CPU বা প্রসেসরের কাজ শুরু। সে মূলত একটা লুপের মধ্যে কাজ করে যেটাকে বলা হয় Fetch-Decode-Execute Cycle: Fetch: RAM থেকে একটা নির্দেশনা নিয়ে আসা। Decode: নির্দেশনাটা আসলে কী (যোগ করা? নাকি বিয়োগ?) সেটা বোঝা। Execute: কাজটা করে ফেলা। CPU এই কাজটা প্রতি সেকেন্ডে কোটি কোটি বার করে, যা আমাদের কল্পনারও বাইরে! যখন CPU আপনার কোড অনুযায়ী কাজ শেষ করে, তখন সে OS-কে বলে, "ভাই, এই রেজাল্টটা স্ক্রিনে দেখাও। " তখন আমরা মনিটরে Hello World দেখতে পাই। সবশেষে যখন আপনার কোড return 0 এ পৌঁছায়, তখন প্রোগ্রামটি OS-কে সিগন্যাল দেয় যে— "আমার কাজ শেষ, আমি এখন মেমোরি ছেড়ে দিচ্ছি। " ব্যস, RAM আবার খালি হয়ে গেল অন্য কাজের জন্য। Source Code → Translator → Machine Code → RAM → CPU → Output প্রোগ্রামিং মানে শুধু মুখস্থ কোড লেখা নয়। যখন আপনি জানবেন ভেতরে কী হচ্ছে, তখন বড় কোনো Error বা Memory Leak হলে আপনি ঘাবড়ে যাবেন না। তখন আপনি কোড লিখবেন কম্পিউটারের হার্টবিট বুঝে, যা আপনাকে একজন সাধারণ ইউজার থেকে একজন দক্ষ ইঞ্জিনিয়ারে রূপান্তরিত করবে। আমি মো ছাব্বির হোসাইন। ২০২২, শহীদ স্মৃতি সরকারি কলেজ, ময়মনসিংহ। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 4 বছর 7 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 3 টি টিউন ও 2 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
একটি প্রোগ্রাম রান করলে আসলে কী ঘটে? Source Code থেকে Execution পর্যন্ত সহজ ব্যাখ্যা | Techtunes
রান বাটনে ক্লিক করার পর পর্দার আড়ালে যা ঘটে, তা যেন অনেকটা কোনো জাদুর বাক্সের মতো। কিন্তু একজন সত্যিকারের প্রোগ্রামার হিসেবে এই "জাদু"টা জানা খুব জরুরি। চলুন এই বিষয়টাকে একটু সহজ এবং 'হিউম্যান টাচ' দিয়ে বোঝার চেষ্টা করি। সবকিছুর শুরু হয় আমাদের লেখা কোড দিয়ে। ধরুন আপনি C ল্যাঙ্গুয়েজে Hello World প্রিন্ট করার একটা কোড লিখলেন। এই কোডটা আপনি এবং আমি বুঝতে পারছি, কিন্তু কম্পিউটার এটাকে দেখে অনেকটা 'হাবিজাবি'র মতো। কম্পিউটারের মগজ বা CPU শুধু বোঝে High Voltage (1) আর Low Voltage (0)। আমাদের এ...

লেখক সম্পর্কে
TA Shanto
Administrator
’m a passionate Full-Stack Developer with a strong focus on building fast, scalable, and user-friendly web applications.I specialize in modern JavaScript technologies like React, Next.js, and Tailwind CSS ✨. and I love working within the React ecosystem. On the backend, I have solid experience with Node.js, Express.js, and Prisma⚡. allowing me to build reliable and efficient APIs and services. Recently, I’ve been primarily working with a stack I truly enjoy: Typescript, Nextjs, TailwindCss, Node.js, Express.js, and Prisma ⚡ I really love this stack. I strongly believe in continuous learning and self-improvement. Whether the situation is ideal or challenging, I always strive to grow and adapt. Every project is an opportunity to learn something new and build something impactful. Feel free to reach out — I’d love to connect! iamtashanto@gmail.com