এই পাঠ শেষে যা যা শিখতে পারবে-
- ১। বিভিন্ন প্রজন্মের প্রোগ্রামিং ভাষা সম্পর্কে জানতে পারবে।
- ২। বিভিন্ন স্তরের প্রোগ্রামিং ভাষা সম্পর্কে জানতে পারবে।
- ৩। মেশিন ভাষার সুবিধা, অসুবিধা ও বৈশিষ্ট্য সম্পর্কে জানতে পারবে।
- ৪। অ্যাসেম্বলি ভাষার সুবিধা, অসুবিধা ও বৈশিষ্ট্য সম্পর্কে জানতে পারবে।
- ৫। উচ্চস্তরের প্রোগ্রামিং ভাষার সুবিধা, অসুবিধা ও বৈশিষ্ট্য সম্পর্কে জানতে পারবে।
প্রোগ্রামঃ যন্ত্রের মাধ্যমে কোন সমস্যা সমাধানের জন্য প্রোগ্রামিং ভাষা ব্যবহার করে প্রোগ্রামারের দেওয়া প্রয়োজনীয় নিদের্শমালার সমষ্টিকে প্রোগ্রাম বলা হয়।
প্রোগ্রামিংঃ প্রোগ্রামিং ভাষা ব্যবহার করে কোন যন্ত্রকে নির্দেশনা দেওয়াকে বলা হয় প্রোগ্রামিং। অন্যভাবে বলা যায়, প্রোগ্রাম রচনার পদ্ধতি বা কৌশলকে প্রোগ্রামিং বলা হয়।
প্রোগ্রামারঃ যে ব্যক্তি যন্ত্রের মাধ্যমে কোন সমস্যা সমাধানের জন্য প্রোগ্রামিং ভাষা ব্যবহার করে প্রয়োজনীয় নিদের্শমালা বা প্রোগ্রাম লিখে তাকে প্রোগ্রামার বলা হয়।
প্রোগ্রামিং ভাষাঃ যে ভাষার সাহায্যে একটি যন্ত্রকে নির্দেশনা দিয়ে কোন সমস্যা সমাধান করা যায় তাকে প্রোগ্রামিং ভাষা বলে।অন্যভাবে বলা যায়, কম্পিউটারের মাধ্যমে কোন সমস্যা সমাধানের জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহ্ন প্রভৃতির সমন্বয়ে গঠিত রীতিনীতিকে প্রোগ্রামিং ভাষা বলা হয়।
প্রোগ্রামিং ভাষার প্রকারভেদঃ 1945 থেকে শুরু করে এ পর্যন্ত যত প্রোগ্রামিং ভাষা আবিষ্কৃত হয়েছে তাদেরকে বৈশিষ্ট্য অনুযায়ী পাঁচটি প্রজন্মে ভাগ করা হয়েছে।
- প্রথম প্রজন্ম – First Generation(1945-1949)
- Machine Language ( যান্ত্রিক ভাষা)
- দ্বিতীয় প্রজন্ম – Second Generation(1950-1959)
- Assembly Language (অ্যাসেম্বলি ভাষা)
- তৃতীয় প্রজন্ম –Third Generation(1960-1969)
- High Level Language (উচ্চস্তরের ভাষা)
- চতুর্থ প্রজন্ম – Fourth Generation(1970-1979)
- Very High Level Language (অতি উচ্চস্তরের ভাষা)
- পঞ্চম প্রজন্ম – Fifth Generation(1980-present)
- Natural Language(স্বাভাবিক ভাষা)
প্রোগ্রাম রচনার বৈশিষ্ট্যের ভিত্তিতে প্রোগ্রামের ভাষাসমূহকে আবার বিভিন্ন স্তরের ভাষায় বিভক্ত করা হয়ঃ
- ১। নিম্নস্তরের ভাষা (Low Level Language)
- -Machine Language, Assembly Language
- ২। মধ্যমস্তরের ভাষা (Mid Level Language)
- -C, Forth, Dbase, WordStar
- ৩। উচ্চস্তরের ভাষা (High Level Language)
- -Fortran, Basic, Pascal, Cobol, C, C++, Visual Basic, Java, Oracle, Python
- ৪। অতি উচ্চস্তরের ভাষা (Very High Level Language- 4GL)
- -SQL, Oracle
- ৫। স্বাভাবিক ভাষা Natural Language
- -Human Language
মেশিন ভাষাঃ কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধু মাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এর সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়।
মেশিন ভাষার সুবিধা:
- ১। মেশিন ভাষার সবচেয়ে বড় সুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়।
- ২। মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহের জন্য কোনো প্রকার অনুবাদক প্রোগ্রামের প্রয়োজন হয় না। ফলে দ্রুত কাজ করে।
- ৩। মেশিন ভাষায় লিখিত প্রোগ্রামে অতি অল্প মেমোরি প্রয়োজন হয়।
- ৪। কম্পিউটারের ভেতরের গঠন ভালোভাবে বুঝতে হলে এই ভাষা জানতে হয়।
মেশিন ভাষার অসুবিধা:
- ১। শুধু ০ ও ১ ব্যবহার করা হয় বলে মেশিন ভাষা শেখা কষ্টকর এবং এই ভাষা ব্যবহার করে প্রোগ্রাম লেখা কষ্টসাধ্য।
- ২। এই ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা যায় না।
- ৩। এ ভাষায় প্রোগ্রাম লিখতে প্রচুর সময় লাগে এবং ভুল হবার সম্ভাবনা খুব বেশি থাকে। ভুল হলে তা বের করা এবং ভুল-ত্রুটি দূর করা খুব কঠিন।
- ৪। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না।
অ্যাসেম্বলি ভাষাঃ অ্যাসেম্বলি ভাষায় প্রোগ্রাম লেখার জন্য ০ ও ১ ব্যবহার না করে বিভিন্ন সংকেত ব্যবহার করা হয়। যেমন- SUB,MUL, ADD, DIV ইত্যাদি। এই সংকেতকে বলে সাংকেতিক কোড (Symbolic Code) বা নেমোনিক (Nemonic)। এই জন্য এই ভাষাকে সাংকেতিক ভাষাও বলা হয়। দ্বিতীয় প্রজন্মের কম্পিউটারে এই ভাষা ব্যাপকভাবে প্রচলিত ছিল।
- ‘যোগ’ বা Addition করাকে লেখা হয় ADD
- ‘বিয়োগ’ বা Subtraction করাকে লেখা হয় SUB
- ‘গুণ’ বা Multiply কে লেখা হয় MUL
- ‘ভাগ’ বা Division কে লেখা হয় DIV ইত্যাদি।
অ্যাসেম্বলি ভাষায় প্রতিটি নির্দেশের চারটি অংশ থাকে। যথা-
ক. লেভেল খ. অপ-কোড গ. অপারেন্ড ঘ. কমেন্ট।
অ্যাসেম্বলি ভাষার সুবিধা:
- ১। অ্যাসেম্বলি ভাষায় প্রোগ্রাম রচনা করা যান্ত্রিক ভাষার তুলনায় অনেক সহজ।
- ২। প্রোগ্রাম রচনা করতে কম সময় লাগে।
- ৩। প্রোগ্রাম পরিবর্তন করা সহজ।
অ্যাসেম্বলি ভাষার অসুবিধা:
- ১। প্রোগ্রাম রচনার সময় প্রোগ্রামারকে মেশিন সম্পর্কে ধারণা থাকতে হয়।
- ২। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না।
- ৩। ভুল ত্রুটি বের করা কষ্টসাধ্য ব্যাপার।
- ৪। অনুবাদক প্রোগ্রামের প্রয়োজন হয়।
উচ্চস্তরের ভাষাঃ উচ্চস্তরের ভাষার সাথে মানুষের ভাষার মিল আছে। এই প্রোগ্রামিং ভাষা কম্পিউটার সংগঠনের নিয়ন্ত্রণের ঊর্ধ্বে, এই জন্য এসব ভাষাকে উচ্চস্তরের ভাষা বলা হয়। এটি মানুষের জন্য বুঝতে পারা খুব সহজ কিন্তু কম্পিউটার সরাসরি বুঝতে পারে না বলে অনুবাদক প্রোগ্রামের সাহায্যে একে মেশিন ভাষায় রুপান্তর করে নিতে হয়।
উচ্চস্তরের ভাষার প্রকারভেদ:
সাধারণ কাজের ভাষা (General Purpose Language): যেসব ভাষা সব ধরনের কাজের উপযোগী করে তৈরি করা হয় তা সাধারণ কাজের ভাষা নামে পরিচিত। যেমন BASIC, PASCAL, C ইত্যাদি।
বিশেষ কাজের ভাষা (Special Purpose Language) : আর যেসব ভাষা বিশেষ বিশেষ কাজের উপযোগী করে তৈরি করা হয় তা বিশেষ কাজের ভাষা নামে পরিচিত। যেমন: COBOL, ALGOL, FORTRAN ইত্যাদি।
উচ্চস্তরের ভাষার সুবিধা:
- ১। উচ্চস্তরের ভাষা শেখা সহজ ফলে এই ভাষা ব্যবহার করে প্রোগ্রাম লেখাও সহজ ও লিখতে সময় কম লাগে।
- ২। এতে ভুল হবার সম্ভবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ।
- ৩। এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই।
- ৪। এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে ।
উচ্চস্তরের ভাষার অসুবিধা:
- ১। উচ্চস্তরের ভাষার অসুবিধা হচ্ছে এই ভাষার সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায় না।
- ২। এই ভাষায় লেখা প্রোগ্রামকে অনুবাদ করে কম্পিউটারকে বুঝিয়ে দিতে হয়। অর্থাৎ অনুবাদক প্রোগ্রামের প্রয়োজন হয়।
- ৩। বেশি মেমোরি প্রয়োজন হয়।
উচ্চস্তরের ভাষার ব্যবহার:
- ১। বড় প্রোগ্রাম তৈরির কাজে।
- ২। বৃহৎ ডেটা প্রসেসিং এর কাজে ব্যবহৃত প্রোগ্রাম তৈরি করতে।
- ৩। যেসব ক্ষেত্রে প্রচুর মেমরির প্রয়োজন সেসব ক্ষেত্রে সফটওয়্যার তৈরির কাজে।
- ৪। জটিল গাণিতিক হিসাব-নিকাশে ব্যবহৃত সফটওয়্যার তৈরির কাজে।
- ৫। এ্যাপ্লিকেশন প্যাকেজ সফটওয়্যার তৈরির কাজে।
- ৬। বিভিন্ন ধরনের অটোমেটিক প্রসেস কন্ট্রোলের কাজে।
পাঠ মূল্যায়ন-
- ক। 4GL কী?
- খ। ০, ১ দিয়ে লেখা ভাষা ব্যাখ্যা কর।
- খ। ‘শব্দ ছাড়াই শুধুমাত্র সংখ্যার মাধ্যমে ভাষা প্রকাশ সম্ভব’- ব্যাখ্যা কর।
- খ। “লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ।”- ব্যাখ্যা কর।
- খ। মেশিন ভাষায় লিখিত প্রোগ্রাম দ্রুত নির্বাহ হয় কেন?
- খ। উচ্চস্তরের ভাষা মেশিন থেকে উন্নততর”-ব্যাখ্যা কর।
- খ। হাই লেবেল প্রোগ্রামিং ভাষায় প্রোগ্রামিং করা সহজ- ব্যাখ্যা কর।
- খ। অ্যাসেম্বলি ভাষা মেশিন ভাষার চেয়ে উন্নততর কেন?
ক। 4GL কী?
4GL বলতে 4th Generation Language বা চতুর্থ প্রজন্মের ভাষা বুঝায়। 4GL এর সাহায্যে সহজেই অ্যাপ্লিকেশন তৈরি করা যায় বলে একে Rapid Application Development (RAD) টুলও বলা হয়।
খ। ০, ১ দিয়ে লেখা ভাষা ব্যাখ্যা কর।
কম্পিউটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের মৌলিক ভাষা। এই ভাষায় শুধু মাত্র ০ এবং ১ ব্যবহার করা হয় বলে এই ভাষায় দেওয়া কোনো নির্দেশ কম্পিউটার সরাসরি বুঝতে পারে। এর সাহায্যে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়।মেশিন ভাষার সবচেয়ে বড় সুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায়। মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহের জন্য কোনো প্রকার অনুবাদক প্রোগ্রামের প্রয়োজন হয় না। ফলে দ্রুত কাজ করে। মেশিন ভাষায় লিখিত প্রোগ্রামে অতি অল্প মেমোরি প্রয়োজন হয়। কম্পিউটারের ভেতরের গঠন ভালোভাবে বুঝতে হলে এই ভাষা জানতে হয়। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। মেশিন ভাষাকে নিম্ন স্তরের ভাষাও বলা হয়।
খ। “লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ।”- ব্যাখ্যা কর।
নিম্নস্তরের ভাষা যেমন মেশিন ভাষায় বা অ্যাসেম্বলি ভাষায় যথাক্রমে ০,১ এবং বিভিন্ন নেমোনিক এর মাধ্যমে প্রোগ্রাম লেখা হয়।নিম্নস্তরের ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা যায় না। এ ভাষায় প্রোগ্রাম লিখতে প্রচুর সময় লাগে এবং ভুল হবার সম্ভাবনা খুব বেশি থাকে। ভুল হলে তা বের করা এবং ভুল-ত্রুটি দূর করা খুব কঠিন। এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না। কিন্তু উচ্চস্তরের ভাষায় প্রোগ্রাম লেখা সহজ ও লিখতে সময় কম লাগে। এতে ভুল হবার সম্ভাবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ। এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই। এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে ।
উপরের আলোচনা থেকে দেখা যায় নিম্নস্তরের ভাষার অসুবিধাসমূহ উচ্চস্তরের ভাষায় নেই। তাই বলা যায় লো-লেভেল ল্যাংগুয়েজের দুর্বলতাই হাই-লেভেল ল্যাংগুয়েজের উৎপত্তির কারণ।
খ। অ্যাসেম্বলি ভাষা মেশিন ভাষার চেয়ে উন্নততর কেন?
মেশিন ভাষার পরবর্তি ভাষা হচ্ছে অ্যাসেম্বলি ভাষা। অ্যাসেম্বলি ভাষায় সাংকেতিক বা নোমেনিক ব্যবহার করে নির্দেশ দেয়া হয়। অ্যাসেম্বলি ভাষায় রচিত প্রোগ্রাম মেশিন ভাষার চেয়ে দক্ষ ও সংক্ষিপ্ত হয়, মেশিন ভাষার মত মেমোরি এড্রেস প্রয়োজন হয় না এবং ভুলের পরিমান কম হয়। তাই অ্যাসেম্বলি ভাষা মেশিন ভাষা থেকে উন্নত।
উদ্দীপকটি পড়ে প্রশ্নের উত্তর দাওঃ
নাফিছা ম্যাডাম আইসিটি ক্লাসে প্রোগ্রামের ভাষা নিয়ে আলোচনা করছিলেন। তিনি বললেন অনেক আগে ০ ও ১ ব্যবহার করে প্রোগ্রাম লেখা হতো। বর্তমানে ‘সি’ প্রোগ্রামিং ভাষাটি খুবই জনপ্রিয়। তিনি ‘সি’ ভাষার উপর বিশদ ক্লাস নিয়ে ছাত্রছাত্রীদের ৬ এবং ১২ সংখ্যা দুটির ল.সা.গু নির্ণয়ের জন্য ‘সি’ ভাষায় একটি প্রোগ্রাম লিখতে বললেন।
গ। উদ্দীপকে উল্লিখিত প্রথম ভাষাটি সম্পর্কে বিস্তারিত লেখ।
উদ্দীপকটি পড়ে প্রশ্নের উত্তর দাওঃ
রহিম ও করিম প্রোগ্রামার। দু’ জনের প্রোগ্রাম তৈরির পদ্ধতি দু’ধরনের। রহিমের প্রোগ্রাম ভুল সংশোধন করে প্রতিটি লাইন পৃথক পৃথকভাবে। অপরদিকে কাব্য প্রোগ্রাম লেখার জন্য ইংরেজি শব্দ ব্যবহার করে।
গ। উদ্দীপকে কাব্যের প্রোগ্রাম লেখার ভাষা কোন ধরনের? ব্যাখ্যা কর।
উদ্দীপকে কাব্যের প্রোগ্রাম লেখার ভাষা হচ্ছে উচ্চতর ভাষা। অ্যাসেম্বলি ভাষার পরবর্তি প্রজন্মের প্রোগ্রাম হচ্ছে উচ্চতর বা হাইলেভেল ভাষা। মেশিন ও অ্যাসেম্বলি ভাষার সীমাবদ্ধতা দূর করার জন্যই এই হাইলেভেল ভাষা। বিভিন্ন ধরনের উচ্চস্তরের ভাষা হলঃ- সি, সি++, জাভা, পাইথন ইত্যাদি
উচ্চস্তরের ভাষার সুবিধাঃ
উচ্চস্তরের ভাষার সুবিধাঃ
- ১। উচ্চস্তরের ভাষায় প্রোগ্রাম লেখা সহজ ও লিখতে সময় কম লাগে।
- ২। এতে ভুল হবার সম্ভবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ।
- ৩। এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই।
- ৪। এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে ।
উচ্চস্তরের ভাষার অসুবিধা:
- ১। উচ্চস্তরের ভাষার অসুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায় না।
- ২। প্রোগ্রামকে অনুবাদ করে কম্পিউটারকে বুঝিয়ে দিতে হয়।
- ৩। বেশি মেমোরি প্রয়োজন হয়।
Post a Comment