# প্রয়োজনীয় সফটওয়্যার

## প্রোগ্রামিং করতে গেলে কি ধরনের সফটওয়্যার লাগে

আমরা কম্পিউটার ব্যবহার করে যাই করি না কেন তা কোন না কোন সফটওয়্যার ব্যবহার করেই করি। যেমন গান শুনতে গেলে কোন না কোন মিডিয়া প্লেয়ার ব্যবহার করি, তা হতে পারে উইন্ডোজ মিডিয়া প্লেয়ার কিংবা কে এম প্লেয়ার। আবার কোন কিছু লেখা লেখির কাজে ব্যবহার করি মাইক্রোসফট ওয়ার্ড কিংবা এ ধরনেরই কোন না কোন সফটওয়্যার।

একইভাবে প্রোগ্রামিং করার জন্যও বিভিন্ন ধরনের সফটওয়্যার ব্যবহৃত হয়।

&#x20;    ক) প্রোগ্রাম লেখার জন্য ব্যবহৃত সফটওয়্যার

&#x20;    খ) লিখিত প্রোগ্রাম চালানোর উপযোগী করার জন্য ব্যবহৃত সফটওয়্যার

ক) **প্রোগ্রাম লেখার জন্য ব্যবহৃত সফটওয়্যারঃ** সি তে প্রোগ্রাম লেখার জন্য বিশেষ কোন সফটওয়্যার এর দরকার নাই। যে কোন এডিটর সফটওয়্যার (যেমন- নোটপ্যাড, নোটপ্যাড++, জিইডিট) ব্যবহার করেই আমরা কোড লিখতে পারি। তবে সহজে কোডিং করা অর্থাৎ কোড লেখার জন্য আরেক ধরনের সফটওয়্যার ব্যবহার করতে পারি যেগুলো সাধারণত আইডিই (IDE) বা ইন্টিগ্রেটেড ডেভ্লপমেন্ট এনভাইরনমেন্ট নামে পরিচিত। যেমন- কোডব্লোকস, ভিজুয়্যাল স্টুডিও, টার্বো সি আইডিই।

খ) **লিখিত প্রোগ্রাম চালানোর উপযোগী করার জন্য ব্যবহৃত সফটওয়্যারঃ** প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে লেখা কোন প্রোগ্রাম চালানোর উপযোগী করার জন্য সাধারণত দুই ধরনের সফটওয়্যার ব্যবহার করা হয়-

&#x20;    ১। কম্পাইলার (যেমন - জিএনইউ সি কম্পাইলার বা জিসিসি কম্পাইলার, মাইক্রোসফটের ভিজুয়্যাল সি কম্পাইলার এবং ইন্টারেক্টিভ সি কম্পাইলার)

&#x20;    ২। ইন্টারপ্রিটার পিকক (picoc) সি ইন্টারপ্রিটার, জাভাস্ক্রিপ্ট তে ব্যবহৃত ইন্টারপ্রিটার )

কম্পাইলার টাইপের সফটওয়্যার গুলো সাধারণত পুরো একটা প্রোগ্রাম কে ইনপুট হিসাবে নেয় সেগুলোতে কোন ইরর বা ত্রুটি আছে কিনা দেখে, না থাকলে প্রোগ্রাম টাকে একটা ইন্টারমেডিয়েট অবজেক্ট কোডে রূপান্তরিত করে। পরবর্তীতে সেই অবজেক্ট কোড টাকে এক্সিকিউটেবল কোডে রূপান্তরিত করা হয়, যা রান করলে কোন একটা কাজ সম্পূর্ণ হয়।

অন্যদিকে ইন্টারপ্রিটার টাইপের সফটওয়্যার গুলো সাধারণত প্রোগ্রাম এর এক একটা লাইন কে ইনপুট হিসাবে নেয়, তাতে কোন ভুল বা ত্রুটি আছে কিনা দেখে, আর না থাকলে তা এক্সিকিউট করে।

## সি প্রোগ্রামিং এর জন্য কি সফটওয়্যার ব্যবহার করব

সি মূলত একটা কম্পাইল্ড ল্যাঙ্গুয়েজ অর্থাৎ সি তে প্রোগ্রামিং করতে হলে কোন না কোন কম্পাইলার ব্যবহার করতে হবে। আমরা এক্ষেত্রে ব্যবহার করব জিসিসি কম্পাইলার। যেটি আমরা চাইলে ইন্টারনেট থেকে ফ্রি ডাউনলোড করতে পারব নিচের ওয়েবসাইট থেকে। যদিও কোডব্লোক একটা আইডিই, আমরা চাইলে এর সাথেই জিসিসি কম্পাইলারও প্যাকেজ হিসাবে ডাউনলোড করতে পারব। আমরা যারা নতুন তাদের জন্য কোডব্লোক এবং জিসিসি কম্পাইলার প্যাকেজ আকারে ডাউনলোড করাই সুবিধাজনক।

<http://www.codeblocks.org/downloads/binaries>

উপরের ওয়েবসাইট তে যাই। এখানে উইন্ডোজ (Windows), লিনাক্স (Linux), ম্যাক (Mac OS X) এর জন্য বাইনারী ফাইল দেয়া আছে যেগুলো ডাউনলোড করে সরাসরি ইন্সটল করা যাবে। যারা উইন্ডোজ ব্যবহার করি তারা তিনটা ফাইল ডাউনলোড করার অপশন দেখতে পাব। i) codeblocks-13.12-setup.exe, ii) codeblocks-13.12mingw-setup.exe iii) codeblocks-13.12mingw-setup-TDM-GCC-481.exe । প্রতিনিয়ত সফটওয়্যার যেহেতু আপডেট হয় সে জন্য ডাউনলোড করার সময় ফাইল গুলোর "13.12" সংখ্যাটা নাও মিলতে পারে। না মিললে চিন্তিত হবার কোন কারণ নেই।

ডাউনলোড করার পর ইন্সটল করার পালা। এই ফাইল গুলো বাইনারী ফাইল, মানে রান করার উপযোগী, সে জন্য ইন্সটল করার পদ্ধতিও আর দশটা সফটওয়্যার ইন্সটল করার মত। ( ফাইল টাতে ডাবল ক্লিক করা, এরপর কয়েকবার Next Button তে ক্লিক করা, সব শেষে Finish Button ক্লিক করা)

### লিনাক্সে কমান্ড লাইন ব্যবহার করে কোডব্লোকস ইন্সটল করার পদ্ধতি।

প্রথমে আমরা সফটওয়্যার পেকেজলিস্ট আপডেট করে নিব।

‍`sudo apt-get update`

তারপর কোডব্লোকস চালানোর জন্য একটি সাহায্যকারী পেকেজ ইন্সটল করব। এটি মুলত g++ ইন্সটল করে ।

`sudo apt-get install build-essential`

এখন আমরা কোডব্লোকস ইন্সটল করার জন্য নিচের কমান্ডটি চালাবো।

`sudo apt-get install codeblocks`

ইন্সটল করা হয়ে গেলে টার্মিনাল থেকে `codeblocks` এই কমান্ডটি দিলেই কোডব্লোকস রান করবে । আপনি চাইলে অ্যাপলিকেশন মেনু থেকেও কোডব্লোকস রান করতে পারবেন।
