প্রোগ্রামিং কি ?

সহজ কথায় যে কোন অটোমেটেড মেশিনকে ইন্সট্রাকশন দেওয়ার প্রক্রিয়া হচ্ছে প্রোগ্রামিং।




 

এককথায় বলতে গেলে আধুনিক যুগের সুপার পাওয়ার হচ্ছে প্রোগ্রামিং। কম্পিউটারের ব্যবহার এত ব্যাপক হওয়ার পেছনে অন্যতম কারণ হচ্ছে নানা রকম সফটওয়্যার দিয়ে নানা ধরনের কাজ করা যায় কম্পিউটারে। এক এক জায়গায় এক এক ধরনের কাজ কর্ম করতে হয়। কাজ করার পদ্ধতি ভিন্ন, তাই প্রোগ্রাম গুলো ভিন্ন। আবার এই ভিন্ন ভিন্ন প্রোগ্রাম তৈরি করার জন্য রয়েছে অনেক গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ। প্রোগ্রাম বানিয়ে তুমি অনেক কিছুই করতে পার যেমন ভাইরাস অ্যান্টি ভাইরাস বানাতে পার, সফটওয়ার বানিয়ে বিক্রি করতে পার। ফ্রীল্যান্সিং এর জন্যও ব্যবহার করতে পার। গাণিতিক সমস্যা সমাধান করতে পার। অনলাইনে বিভিন্ন ওয়েতে হাজার হাজার প্রব্লেম সলভ করতে পার

 

অ্যাসেম্বলি ল্যাঙ্গুয়েজ এবং তার পর আবিষ্কৃত ভাষা নিয়ে আলোচনাঃ

 

মেশিন ল্যাঙ্গুয়েজ  ছিল খুবই কঠিন এবং এই সময় প্রোগ্রামারের সংখ্যাও ছিল হতে গোনা।  প্রোগ্রামারের সুবিধা দেয়ার জন্য এর পরে এলো অ্যাসেম্বলি ল্যাঙ্গুয়েজ। যেটা দিয়ে খুব সহজেই ADD (যোগ) , MUL (গুন) ইত্যাদি ইন্সট্রাকশন প্রোগ্রামারা ব্যাবহার  করতে পারত এই ল্যাঙ্গুয়েজের মূল কাজ টি করে অ্যাসেম্বলার। অ্যাসেম্বলার  ইন্সট্রাকশন গুলো কে মেশিন ল্যাঙ্গুয়েজে ( ‘ এবং ) পরিণত করে এর পরবর্তিতে দেখা গেল অ্যাসেম্বলি ল্যাঙ্গুয়েজ দিয়ে কাজ করতে অনেক সমস্যা হচ্ছে। আরও বড় বড় এবং জটিল প্রোগ্রামের জন্য লাগে আর এক ধরনের কম্পিউটার প্রোগ্রামিং ল্যাঙ্গুয়েজ সেটি কম্পিউটারের ভাষায় বলা হয়  High Level Programming Language আধুনিক কম্পিউটারের ব্যাপক ব্যাবহারকারীর কাছে  জনপ্রিয়তার মূল কারণ হিসাবে বলা যায়  বিভিন্ন ধরনের Application Software কিংবা  Computer Games যেগুলোর সাহায্যে সাধারণ ব্যাবহারকারী তাঁদের দৈনদিন কাজ গুলো খুব সহজে করতে পারে এবং মজা নিতে পারে। এই Application Software কিংবা  Computer Games গুলো তৈরি করতে লাগে  High Level Programming Language, যেমন-ফরট্রান (Fortran), বেসিক (Basic), প্যাসকেল (Pascal), সি (C) তবে এখানেই শেষ নয়, এরপর এল আরও অনেক ল্যাঙ্গুয়েজ, যার মধ্যে অন্যতম হচ্ছে, সি প্লাস প্লাস (C++), ভিজ্যুয়াল বেসিক (Visual Basic), জাভা (Java), সি শার্প (C#), পার্ল (Perl), পিএইচপি (PHP), পাইথন (Python), রুবি (Ruby) কম্পিউটার বিজ্ঞানীরা নিত্য নতুন আরও প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি করছেন। High Level Programming Language এর মূল উদ্দেশ্য হল এর সাহাজ্যে প্রোগ্রামার তাঁর মুখ্য ভাষায় (যে ভাষা আমরা বুঝি যেমন- English) প্রোগ্রাম  লিখতে পারে। প্রতিটি  High Level Programming Language এর রয়েছে আলাদা কম্পাইলার, যার সাহায্যে High Level Programming Language লেখা প্রোগ্রাম কোড কম্পিউটারের বোধগাম্য ভাষায় রুপান্তরিত হয়। সেটা প্রোগ্রামারদের ভাবতে হয় না।

 

C প্রোগ্রামিং ল্যাংগুয়েজ এর প্রোগ্রাম রান করার জন্য একটি কমপাইলার প্রয়োজন। তাই codeblocks-16.01-setup.exe কমপাইলারটি ডাউনলোড করে নিন।

 

সি প্রোগ্রামিং ল্যাংগুয়েজঃ

 

সি একটি মধ্য হাই-লেভেল ল্যাংগুয়েজ সি প্রোগামিং ল্যাংগুয়েজ এর ধারণা এসেছে ALGOL,BCPL এবং B থেকে ।১৯৭৮ সালে বেল ল্যাবেটরীর সকলের তথ্য সমন্বয়ে দুই বন্ধু ব্যারেন কারনিগ্যান ডেনিস রিটচি্

 

The C programming Language” নামেএকখানা বই লিখেন ।সি মেশিন নির্ভর ল্যাংগুয়েজ না হওয়ায় জনপ্রিয়তা বৃদ্ধি পায়

 

সবচেয়ে মজার বিষয় হচ্ছে যে, সি ভাষা প্রথম লেখা হয় ইউনিক্স অপারেটিং সিস্টেম কম্পিউটারে।

পরবর্তীতে

ইউনিক্স অপারেটিং সিস্টেম লেখা হয় এই সি ভাষায়

 

 

 

আজকে আমি সি প্রোগ্রামিং ল্যাংগুয়েজের ডাটা টাইপ সম্পর্কে আলোচনা করব।

অনেক প্রকারের ডাটা টাইপ আছে। তার মধ্য প্রধান চারটি হচ্ছেঃ

. Int data type

.char data type

.float data type

. double data type

Int data type বলতে integer quantity(অবিভাজ্য সংখা যেমনঃ , , ইত্যাদি) বুঝায়। এর সাইজ বাইট বা ১৬ বিট(১বাইট=৮বিট)এবং রেঞ্জঃ -৩২৭৬৮ থেকে +৩২৭৬৭ পর্যন্ত।

char data type বলতে single character( একটি বর্ন যেমন a, b, z, A, N ইত্যাদি) বুঝায়। এর সাইজ বাইট বা বিট।(১বাইট=৮বিট)এবং রেঞ্জঃ -১২৮ থেকে +১২৭ পর্যন্ত।

float data type বলতে floating point number( দশমিক সংখা যেমনঃ ১০., ., . ইত্যাদি) বুঝায়।এর সাইজ বাইট বা ৩২ বিট(১বাইট=৮বিট)এবং রেঞ্জঃ . e-৩৮ থেকে . e+৩৮ পর্যন্ত।এখানে e দ্বারা exponent বা power বুঝানো হয়।

double data type বলতে Double precition floating point number বুঝায়।এটা float data type এর মতোই তবে সাইজ বিশাল। এর সাইজ বাইট বা ৬৪ বিট।বিট(১বাইট=৮বিট)এবং রেঞ্জঃ . e-৩০৮ . e+৩০৮পর্যন্ত।


লিখেছেন

Anti-Knot

1 Comments

  1. Easy to digest and very informative... When can we expect 2nd part of this?

    ReplyDelete

Post a Comment

Previous Post Next Post