HomeComputerপ্রোগ্রামিং ভাষা কি? প্রোগ্রামিং ভাষা কত প্রকার ও কি কি?

প্রোগ্রামিং ভাষা কি? প্রোগ্রামিং ভাষা কত প্রকার ও কি কি?

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

প্রোগ্রামিং ভাষা কি? (What is Programming Language in Bengali/Bangla?)

প্রোগ্রামিং ভাষা হচ্ছে এক ধরনের ভাষা যা দিয়ে কম্পিউটার প্রোগ্রাম লেখা যায়। অর্থাৎ যে ভাষা দিয়ে প্রোগ্রাম (যেমন- সফটওয়্যার, অ্যাপস এবং গেমস) তৈরি করা যায় তাকে প্রোগ্রামিং ভাষা বলে।

সহজ ভাষায় বলতে গেলে, প্রোগ্রামিং ভাষা হল এক ধরনের লিখিত ভাষা যা কম্পিউটারকে কী করতে হবে তা বলে।

কিছু গুরুত্বপূর্ণ প্রোগ্রামিং ভাষার উদাহরণ যেমন, Python, Ruby, Java, JavaScript, C, C++, এবং FORTRAN ইত্যাদি।

সকল কম্পিউটার প্রোগ্রাম এবং কম্পিউটার সফটওয়্যার লিখতে এসব প্রোগ্রামিং ভাষা ব্যবহার করা হয়। এছাড়া আরো কিছু বিভিন্ন প্রোগ্রামিং ভাষা হল :

  • সি ভাষা (C language) : সি একটি প্রোগ্রামিং ভাষা। সি নির্মাণ করেন ডেনিস রিচি, বেল ল্যাবে ‘৭০এর দশকে কাজ করার সময়। ভাষাটি তৈরির প্রথম উদ্দেশ্য ছিল ইউনিক্স অপারেটিং সিস্টেম এর কোড লেখা, কিন্তু অচিরেই এটি একটি বহুলব্যবহৃত ভাষায় পরিণত হয়।
  • সি++ (C++) : সি++ (সি প্লাস প্লাস) একটি সাধারণ-উদ্দেশ্য প্রোগ্রামিং ভাষা যা ১৯৮০ সালে সি ভাষার একটি বর্ধিতাংশ রূপ হিসেবে তৈরি করা হয়।বিয়ারনে স্ট্রোভস্ট্রুপ যুক্তরাষ্ট্রের এটিএন্ডটি বেল ল্যাবরেটরিতে এটি ডেভেলপ করেন। মূলত সিমুলা৬৭ এবং সি প্রোগ্রামিং ভাষার সুবিধাজনক বৈশিষ্ট্যগুলোর সমন্বয় সাধন করে সি++ তৈরি হয়।
  • ফোর্টান (Fortan) : ফোরট্রান (ইংরেজি: Fortran) আদিতম উচ্চস্তরের নির্দেশমূলক প্রোগ্রামিং ভাষা। জন বাকাস ও অন্যান্যেরা আইবিএম-এ কর্মরত অবস্থায় ১৯৫০-এর দশকের মাঝামাঝি এটি তৈরি করেন।
  • প্যাসকেল (Pascal) : প্যাসকেল হচ্ছে একটি আজ্ঞাবাহী এবং পদ্ধতিগত প্রোগ্রামিং ভাষা, যা নিকলাউস ভির্ট দ্বারা ১৯৬৮-৬৯ সালের মধ্যে ডিজাইন করা হয় এবং ১৯৭০ সালে প্রকাশ করা হয়, কম পরিসরের ভাষা হিসেবে, যা একটি দক্ষ ভাষা রুপে কাঠামোগত প্রোগ্রামিং এবং উপাত্ত সংগঠন ব্যবহার করে ভাল মানের প্রোগ্রামিং অনুশীলনের জন্য অনুপ্রেরণা দানের জন্য তৈরি করা হয়।
  • জাভা (Java) : জাভা একটি প্রোগ্রামিং ভাষা। সান মাইক্রোসিস্টেম ৯০এর দশকের গোড়ার দিকে জাভা ডিজাইন করার পরে এটি অতি দ্রুত বিশ্বের সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষার একটিতে পরিণত হয়। জাভা’র এই জনপ্রিয়তার মূল কারণ এর বহনযোগ্যতা (portability), নিরাপত্তা, এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ওয়েব প্রোগ্রামিং এর প্রতি পরিপূর্ণ সাপোর্ট।
  • পিএইচপি (PHP) : পিএইচপি (PHP) একটি প্রোগ্রামিং ভাষা। এটি মূলত সার্ভার-সাইড স্ক্রিপ্টিং-এর জন্য ব্যবহৃত হয়। পিএইচপি হচ্ছে একটি স্ক্রিপ্টিং ভাষা যা মূলতঃ চলমান ওয়েব পাতা তৈরির জন্য ডিজাইন করা হয়েছে। ইহা কমান্ড লাইন ইন্টারফেস ক্ষমতাকে অন্তর্ভুক্ত করেছে এবং স্ট্যান্ডআলোন গ্রাফিক্যাল আপ্লিকেশনকে ব্যবহার করতে পারে।
  • বেসিক (BASIC)
  • জাভাস্ক্রিপ্ট (Javascript)
  • পাইথন (Python) : পাইথন একটি বস্তু-সংশ্লিষ্ট (object-oriented) উচ্চস্তরের প্রোগ্রামিং ভাষা। ১৯৯১ সালে গিডো ভান রসম এটি প্রথম প্রকাশ করেন। পাইথন নির্মাণ করার সময় প্রোগ্রামের পঠনযোগ্যতার উপর বেশি গুরুত্ব দেয়া হয়েছে। এখানে প্রোগ্রামারের পরিশ্রমকে কম্পিউটারের চেয়ে বেশি গুরুত্ব দেয়া হয়েছে। পাইথনের কোর সিনট্যাক্স ও সেমান্টিক্‌স খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ। পাইথন প্রোগ্রামারদের সমাজ থেকে পাইথন দর্শন এর সূচনা হয়েছে।

প্রোগ্রামিং ভাষাকে বৈশিষ্ট্য অনুসারে ৫ ভাগে ভাগ করা যায়। যথা :

১. প্রথম প্রজন্ম (১৯৪৫) মেশিন ভাষা (Machine language)

কম্পিউটারের নিজের ভাষা হলো মেশিন ভাষা (Machine Language)। প্রথম প্রজন্মের কম্পিউটারের সব প্রোগ্রাম একমাত্র মেশিনভাষাতেই করতে হতো। মেশিন ভাষায় ০ ও ১ এই দুই বাইনারি অঙ্ক ব্যবহার করে সবকিছু লেখা হয়। কম্পিউটার একমাত্র মেশিন ভাষাই বুঝতে পারে। এ ভাষায় লিখিত প্রোগ্রামকে বলে অবজেক্ট প্রোগ্রাম (Object Program) এবং অন্য যে কোন ভাষায় লেখা প্রোগ্রামকে বলে উৎস প্রোগ্রাম (Source program)।

মেশিন ভাষার সুবিধা : মেশিন ভাষা ব্যবহারে কম্পিউটারের বর্তনীর ভুল-ত্রুটি সংশোধন করা যায়। লিখিত প্রোগ্রাম নির্বাহের জন্য কোন অনুবাদক প্রোগ্রামের প্রয়োজন হয় না। কম্পিউটারের অভ্যন্তরীণ সংগঠন সম্পর্কে ধারণা অর্জন করা যায়। প্রোগ্রাম দ্রুত কার্যকরী হয়। প্রোগ্রামে অল্প মেমোরির প্রয়োজন হয়।

মেশিন ভাষার অসুবিধা : মেশিন ভাষায় প্রোগ্রাম রচনা অত্যন্ত কষ্টসাধ্য এবং সময়সাপেক্ষ। প্রোগ্রাম রচনায় ভুল হবার সম্ভাবনা বেশি। এক কম্পিউটারে লেখা প্রোগ্রাম অন্য কম্পিউটারে ব্যবহার করা যায় না। প্রোগ্রাম রচনার জন্য কম্পিউটারের সংগঠন সম্বন্ধে ধারণা থাকা অপরিহার্য।

২. দ্বিতীয় প্রজন্ম (১৯৫০) : অ্যাসেম্বলি ভাষা (Assembly language)

অ্যাসেম্বলি ভাষার অপর নাম হলো সাংকেতিক ভাষা (Symbolic Language)। এ ভাষায় লিখিত কোডকে বলে সাংকেতিক কোড বা নিমোনিক। অ্যাসেম্বলি ভাষায় এক ধরনের কম্পিউটারের জন্য রচিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। অ্যাসেম্বলি ভাষাকে অনুবাদের জন্য প্রয়োজন অ্যাসেম্বলার।

অ্যাসেম্বলি ভাষার সুবিধা : অ্যাসেম্বলি ভাষায় প্রোগ্রাম লেখায় ভুলের পরিমাণ কম হয় এবং সহজেই তা নির্ণয় এবং সংশোধন করা সম্ভব।

অ্যাসেম্বলি ভাষার অসুবিধা : প্রোগ্রাম লেখা মেশিনের ভাষার তুলনায় সহজতর হলেও যথেষ্ট কষ্টসাধ্য ও সময়সাপেক্ষ। এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য ধরনের মেশিনে ব্যবহার করা যায় না। প্রোগ্রাম রচনার জন্য কম্পিউটারের সংগঠন সম্বন্ধে ধারণা থাকা আবশ্যক। প্রোগ্রাম নির্বাহের জন্য অনুবাদক প্রোগ্রাম অ্যাসেম্বলারের প্রয়োজন।

 

৩. তৃতীয় প্রজন্ম (১৯৬০) : উচ্চতর ভাষা (High level language)

উচ্চতর ভাষা বা হাই লেবেল ভাষা মানুষের ভাষার (যেমন ইংরেজি) সাথে মিল আছে। এই স্তরের ভাষায় লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব।

হাই লেভেল ভাষায় লিখিত প্রোগ্রাম যে কোন কম্পিউটারে ব্যবহার করা যায়; তাড়াতাড়ি প্রোগ্রাম লেখা যায়। তবে কম্পিউটার সরাসরি এই ভাষা বুঝতে পারে না। তাই এই ভাষায় লিখিত প্রোগ্রামকে কম্পিউটারে চালাতে হলে অনুবাদকের প্রয়োজন হয়। কয়েকটি উচ্চতর ভাষার উদাহরণ হলো : FORTRAN, Algol, LISP, COBOL, PL/1, Logo, APL, Prolog, Ada, BASIC, Pascal, C, C ++, Java ইত্যাদি।

কয়েকটি হাই-লেভেল বা উচ্চ স্তরের ভাষার পরিচিতি

ক. ফোরট্রান (1950) : FORTRAN শব্দের অর্থ FORmula TRANslator। Fortran আদিতম উচ্চ স্তরের নির্দেশমূলক প্রোগ্রামিং ভাষা। ফোরট্রান দিয়ে অসংখ্য গাণিতিক হিসাব সহজেই করা যায়।

খ. সি (1970) : যুক্তরাষ্ট্রের বেল ল্যাবরেটরিতে ১৯৭০ সালে ডেনিস রিচি প্রথম C ভাষা তৈরি করেন। C হচ্ছে একটি উচ্চ স্তরের প্রোগ্রামিং ভাষা। একে উচ্চ স্তরের স্ট্রাকচার্ড প্রোগ্রামিং ভাষাও বলা হয়ে থাকে। C একটি General Purpose প্রোগ্রামিং ভাষা।

গ. সি++ (1980) : C++ এক ধরনের অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এটি একটি মধ্যম স্তরের প্রোগ্রামিং ভাষা যাতে উচ্চ স্তর এবং নিম্ন স্তরের ভাষাগুলোর সুবিধা সংযুক্ত আছে। এটি সর্বকালের অন্যতম জনপ্রিয় প্রোগ্রামিং ভাষা এবং সফটওয়্যার শিল্পে এটি বহুল ব্যবহৃত হয়।

ঘ. পাইথন (1991) : পাইথন (Python) একটি অবজেক্ট ওরিয়েন্টেড উচ্চ স্তরের প্রোগ্রামিং ভাষা। পাইথন নির্মাণ করার সময় প্রোগ্রামকে পঠনযোগ্যতার উপর বেশি জোর দেওয়া হয়েছে। এখানে প্রোগ্রামারের পরিশ্রমকে কম্পিউটারের চেয়ে বেশি গুরুত্ব দেওয়া হয়েছে।

ঙ. ভিজুয়্যাল বেসিক (Visual Basic) : ভিজুয়্যাল বেসিক (সংক্ষেপে VB) একটি তৃতীয় প্রজন্মের ইভেন্ট ড্রাইভেন প্রোগ্রামিং ভাষা। বর্তমানে এই ভাষাটি Visual Basic.NET দ্বারা প্রতিস্থাপিত হয়েছে। একজন প্রোগ্রামার ভিজুয়্যাল বেসিকের সাথে থাকা কম্পোনেন্টের দ্বারা একটি অ্যাপ্লিকেশন প্রোগ্রাম তৈরি করতে পারেন।

চ. জাভা (Java) : জাভা একটি প্রোগ্রামিং ভাষা। জাভা’র জনপ্রিয়তার মূল কারণ এর বহনযোগ্যতা, নিরাপত্তা এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ওয়েব প্রোগ্রামিং এর প্রতি পরিপূর্ণ সাপোর্ট। জাভায় লেখা প্রোগ্রাম যেকোনো অপারেটিং সিস্টেমে চালানো যায় শুধু যদি সেই অপারেটিং সিস্টেমের জন্য একটি জাভা রানটাইম এনভায়রনমেন্ট (জাভা ভার্চুয়্যাল মেশিন) থেকে থাকে।

ছ. ওরাকল (Oracle) : ওরাকল ডেটাবেজ সাধারণত Oracle RDBMS বা Oracle নামে পরিচিত। এটি অবজেক্ট রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম যা Oracle বাজারজাত করে। ১৯৭৭ সালে Software Development Laboratories (SDL) Oracle Software উন্নয়ন করে।

জ. অ্যালগল (ALGOL) : অ্যালগল (ALGOL) এর পূর্ণ নাম Algorithmic Language। ১৯৫৮ সালে সর্বজনীন ভাষা হিসেবে সব কম্পিউটারে ব্যবহারযোগ্য বৈজ্ঞানিক ও প্রকৌশলিক সমস্যা সমাধানের জন্য এ ভাষার উদ্ভাবন হয়।

৪. চতুর্থ প্রজন্ম (১৯৭০) : অতি উচ্চতর ভাষা (Very high level language)

উচ্চতর ভাষার তুলনায় চতুর্থ প্রজন্মের ভাষা খুবই সহজ যদিও এর জন্য প্রসেসিং ক্ষমতা বেশি দরকার। এর সাহায্যে সহজেই অ্যাপ্লিকেশন তৈরি করা যায় বলে একে Rapid Application Development (RAD) টুলও বলা হয়।

এসব ভাষায় ইংরেজি ভাষার মত নির্দেশ দিয়ে কম্পিউটার ব্যবহারকারী ডেটাবেসের সাথে সংযোগ স্থাপন এবং ডেটা আদান-প্রদান করতে পারেন।

পুঙ্খানুপুঙ্খ বা বিস্তারিতভাবে প্রক্রিয়াকরণের বর্ণনা দিতে হয় না বলে চতুর্থ প্রজন্মের ভাষাকে ননপ্রসিডিউলার ল্যাংগুয়েজও বলা হয়। অধিকাংশ চতুর্থ প্রজন্মের ভাষায় কথোপকথন রীতিতে প্রশ্ন-উত্তরের মাধ্যমে কম্পিউটারের সাথে ব্যবহারকারীর যোগাযোগের ব্যবস্থা থাকে।

ডেটাবেজ ম্যানেজমেন্টের সাথে সংশ্লিষ্ট Query এবং রিপোর্ট জেনারেটর ও ডেটা সঞ্চালনের জন্য ব্যবহৃত ভাষা সমূহ (যেমন SQL) চতুর্থ প্রজন্মের ভাষা হিসেবে বিবেচনা করা হয়। SQL, NOMAD, RPG III, FOCUS, Intellect BPM ইত্যাদি কয়েকটি চতুর্থ প্রজন্মের ভাষা।

পঞ্চম প্রজন্ম (১৯৮০) : স্বাভাবিক ভাষা (Natural language)

পঞ্চম প্রজন্মের প্রোগ্রামের ভাষা হিসাবে মানুষের স্বাভাবিক ভাষা বা ন্যাচারাল ল্যাংগুয়েজকে ব্যবহারের চেষ্টা চলছে।

ন্যাচারাল ল্যাংগুয়েজ সাধারণত অনেকটা ইংরেজি অথবা মানুষের ভাষার মত। এ ধরনের ভাষাকে মেশিনের ভাষায় রূপান্তরের জন্য ব্যবহৃত অনুবাদককে বুদ্ধিমান বা ইনটেলিজেন্ট কম্পাইলার বলা হয়। এটি মূলত কৃত্রিম বুদ্ধিমত্তা প্রয়োগের একটি ক্ষেত্র।

ন্যাচারাল ল্যাংগুয়েজ দু প্রকার। একটি হল মানুষের ভাষা যেমন বাংলা, ইংরেজি, আরবি, স্প্যানিশ ইত্যাদি এবং অন্যটি হল প্রোগ্রামিং ল্যাংগুয়েজ যা মানুষের ভাষা ব্যবহার করে কম্পিউটারের সাথে স্বাভাবিক সম্পর্ক তৈরি করে।

 

প্রোগ্রামিং ভাষা কেন শিখবেন?

কোনো কিছু শেখার আগে তার উদ্দেশ্য সম্পর্কে ধারনা থাকা ভালো। ঠিক তেমনি আপনি যদি প্রোগ্রামিং ভাষা শিখতে চান তাহলে আপনাকে ভাবতে হবে যে, “কেন আপনার প্রোগ্রামিং ভাষা শেখা উচিত”? প্রোগ্রামিং ভাষা শিখে অনেকগুলো বেনিফিট পাওয়া যায় এগুলো হলো–

  • সফটওয়্যার, অ্যাপস এবং গেমস তৈরি করতে পারা যায়।
  • প্রোগ্রামিং ভাষা শিখলে কর্মসংস্থানের সুযোগ হয়।
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments