[বাংলা] Introduction : C Basics in Bengali — বাংলায় C প্রোগ্রামিং

প্রথম অধ্যায়: সূচনা (Introduction)

Soumyadip Mondal
3 min readNov 19, 2020
C Basics — Introduction in Bengali. Background image by Thomas Tastet on Unsplash

C - ই একমাত্র প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা এতদিন ধরে অস্তিত্বে রয়েছে, এবং এখনও ব্যাপকভাবে ব্যবহৃত হয়।

Introduction to C in Bengali by unsuitable001. Watch on YouTube: https://youtu.be/1qqordyyySw

C Programming (Basics) এর ১ম অধ্যায়ে সবাই কে স্বাগত। একটি প্রোগ্রাম কিন্তু আদতে কয়েকটি instructions এর সম্মেলন মাত্র, যে গুলি computer পর - পর, অক্ষরে অক্ষরে পালন করে যায়। হ্যা, instructions গুলো কে অবশ্যই বোধগম্য হতে হবে। কম্পিউটার কে নিজেদের পছন্দমত instructions লিখে দিতে আমাদের দরকার পড়ে programming languages এর। C programming language টি Dennis Ritchie তৈরী করেছিলেন Unix Operating System তৈরীর জন্য। আর, এই Unix ই হলো প্রথম অপারেটিং সিস্টেম Kernel, যার সৃষ্টির জন্য Assembly Language এর বদলে C ব্যবহৃত হয়েছিল। C একটি High Level programming language। তবে, বর্তমানের অনেক আধুনিক programming language এর তুলনায় অনেক বেশি “close to hardware” এবং verbose হওয়ায়, আজ কাল অনেকেই C কেও low level language বলতে পছন্দ করেন।

Compiler compiling a C code to machine code

কম্পিউটার এর যতই বহুমুখী প্রতিভা থাক না কিনা, সে কেবল ০ আর ১ ই বোঝে। তাই, C এর মতো কোনো high level প্রোগ্রামিং ল্যাঙ্গুয়েজ তার বোধগম্য হয় না। আমাদের মতই তার ও দরকার পড়ে একজন অনুবাদকের। যদিও তাদের কে অনুবাদক অবশ্যই বলে না 😂। তবে, এই অনুবাদক ও দুই প্রকারের হয় -

  1. Compiler
  2. Interpreter

একই ভাবেই, কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ কে কোন প্রকারের অনুবাদক বুঝতে পারে তার ভিত্তিতে ২ ভাগে ভাগ করা হয় -

  1. Compiled Language
  2. Interpreted Language

যদি আমরা কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ এ লেখা code কে একটা প্রবন্ধ ভেবে নেই, তবে compiler পুরো প্রবন্ধটি কে একেবারে অনুবাদ করে Computer এর hard disk এ জমা করে রাখে। পরে দরকার মত, সে সেই অনুবাদিত ফাইল টা থেকে instructions পড়ে নেয়।

তবে, interpreter পুরো প্রবন্ধটি কে একেবারে অনুবাদ করার বদলে, computer এর যখন যে লাইন টি অনুবাদ করার দরকার হয়, সেই অনুযায়ী অনুবাদ করে দেয়।

C কিন্তু একটি compiled programming language. কয়েকটি C compiler এর নাম হলো — gcc, clang etc. আমরা যখন বাস্তবে C code লিখবো, তখন এদের ব্যবহার সম্মন্ধে বিস্তারিত জানবো।

Structure of procedural oriented programs

C একটি imperative language। অর্থাৎ, আমাদের লেখা কোড গুলি কম্পিউটার পর পর যে অনুসারে সাজানো আছে, সেইভাবেই execute করে।

এছাড়াও, C procedural language। অর্থাৎ, C code কে নিজেদের সুবিধামত বিভিন্ন part এ ভাঙতে পারি। যেমন — যোগ করার জন্য যে instructions গুলির দরকার পড়ে, সেগুলি কে একটা পার্ট। আবার, জোড় সংখ্যা পরীক্ষার জন্য instructions গুলো কে আরেকটা পার্ট এ ভাঙতে পারি। এবার, কোনো বড় প্রোগ্রাম লেখার সময়, যদি আমাদের বিভিন্ন জায়গায় জোড় সংখ্যা পরীক্ষার দরকার পড়ে, আমাদের আর বার বার একই কোড লিখতে হবে না। এই পার্ট গুলো কে আমরা সরাসরি ব্যবহার করতে পারবো। এই part গুলি কে functions বলতে পারেন। তবে, সঠিকভাবে functions এর ব্যাপারে আমরা পরে বিস্তারিত জানবো।

Simplest C Program

একটা simplest C program কে আমরা কয়েকটি ভাগে ভাগ করতে পারি।

[1] Header Files

[2] Main function —

  • [2A] Main function’s body
  • [2B] Return statement

জটিলতর C প্রোগ্রামে আরও কয়েকটি অংশ থাকতে পারে। যেমন —

1. Preprocessor directives (#include ও এটার একটা পার্ট)

2. অন্যান্য functions (main ও একটা function। কিন্তু এটি সব প্রোগ্রামে বাধ্যতামূলক) ইত্যাদি।

--

--

Soumyadip Mondal

Student Developer @dartlang (Google Summer of Code ‘21). I'm a B.Tech CSE student. I do backend, exploring low level stuff and a little of app-dev.