কোন সমস্যা সমাধানের জন্য কম্পিউটারের ভাষায় ধারাবাহিকভাবে কতগুলো কমান্ড বা নির্দেশের সমষ্টিকে প্রোগ্রাম বলা হয়। প্রোগ্রাম লেখার জন্য বিভিন্ন ধরনের প্রোগ্রাম ভাষা ব্যবহৃত হয়।
প্রোগ্রামে লিখিত নির্দেশসমূহ সোর্সপ্রোগ্রাম ফাইলে সারিবদ্ধভাবে লেখা হয়। কম্পিউটার এ নির্দেশসমূহকে পর্যায়ক্রমিকভাবে পালনের মাধ্যমে নির্দিষ্ট সমস্যার সংজ্ঞা প্রোগ্রামের নির্দেশসমূহ সোর্স কোড নামে পরিচিত।
ইংরেজ কবি লর্ড বায়রনের কন্যা লেডি অ্যাডা অগাস্টাকে কম্পিউটার প্রোগ্রামিং ধারণার প্রবর্তক মনে করা হয়।
প্রোগ্রামের ভাষা (Programming Language)
বিভিন্ন ধরনের প্রোগ্রাম রচনার জন্য বিভিন্ন ধরনের প্রোগ্রাম ভাষা ব্যবহৃত হয়। প্রোগ্রামিং-এর মাধ্যমে জটিল সমস্যা অল্প সময়ে এবং সহজে সমাধান করা যায়। প্রোগ্রাম রচনার জন্য উপযুক্ত প্রোগ্রামিং ল্যাংগুয়েজ প্রয়োজন হয়।
প্রতিটি প্রোগ্রামিং ভাষারই বিশেষ কিছু সিনটেক্স রয়েছে এবং সিনটেক্স অনুসারেই ঐ ভাষায় প্রোগ্রাম লিখতে হয়।
বিভিন্ন প্রজন্মের প্রোগ্রামের ভাষা
১৯৪৫ সাল থেকে শুরু করে এ পর্যন্ত কয়েকশ প্রোগ্রামিং ল্যাংগুয়েজ বা ভাষা আবিস্কৃত হয়েছে। এ সকল ভাষাকে বৈশিষ্ট্য অনুযায়ী পাঁচটি স্তর বা প্রজন্মে ভাগ করা যায়। যথা:
- প্রথম প্রজন্ম ভাষা (১৯৪৫): মেশিন ভাষা (Machine Language)
- দ্বিতীয় প্রজন্ম ভাষা (১৯৫০): অ্যাসেম্বলি ভাষা (Assembly Language)
- তৃতীয় প্রজন্ম ভাষা (১৯৬০): উচ্চতর ভাষা (High Level Language)
- চতুর্থ প্রজন্ম ভাষা (১৯৭০): অতি উচ্চতর ভাষা (Very High Level Language)
- পঞ্চম প্রজন্ম ভাষা (১৯৮০): স্বাভাবিক বা ন্যাচারাল ভাষা (Natural Language)
প্রোগ্রাম রচনার বৈশিষ্ট্যের ভিত্তিতে প্রোগ্রাম ভাষাসমূহকে প্রধানত দু’ভাগে ভাগ করা হয়। যথা-
- নিম্নস্তরের ভাষা (Low-Level Language)
- উচ্চস্তরের ভাষা (High-Level Language)
মেশিন ভাষা (Machine Language)
কম্পিউটার মেশিনের নিজস্ব ভাষাকে মেশিন ভাষা বা নিম্নস্তরের ভাষা বলা হয়। সাধারণত মেশিন ভাষা 0 ও 1 এ দুই বাইনারি অঙ্ক দিয়ে লিখতে হয়, তবে হেক্স পদ্ধতি ব্যবহার করেও লেখা হয়।
বিদ্যুতের হাই ভোল্টেজকে বিট 1 এবং লো ভোল্টেজকে বিট 0 দিয়ে নির্দেশ করে কম্পিউটারে প্রোগ্রাম লেখার পদ্ধতিকে মেশিনের ভাষায় প্রোগ্রাম বলা হয়।
কম্পিউটার একমাত্র যন্ত্রভাষাই বুঝতে পারে, অন্য ভাষায় প্রোগ্রাম করলে কম্পিউটার আগে উপযুক্ত অনুবাদকের সাহায্যে তাকে যন্ত্রভাষায় পরিণত করে নেয়।
মেশিনের ভাষায় লিখিত প্রোগ্রামকে অবজেক্ট প্রোগ্রামও বলা হয়। এ ভাষা ব্যবহার করে কম্পিউটারে বর্তনীর ভুল-ত্রুটি সংশোধন করা যায়।
এ ভাষা অনুশীলনের মাধ্যমে কম্পিউটারের অভ্যন্তরীণ সংগঠন সম্পর্কে ধারণা অর্জন সম্ভব।
- গাণিতিক (Arithmetic) অর্থাৎযোগ, বিয়োগ, গুণ, ভাগ।
- নিয়ন্ত্রণ (Control) অর্থাৎলোড (Load), স্টোর (Store) ও (Jump) জাম্প।
- ইনপুট-আউটপুট অর্থাৎপড় (Read) ও (Write) লেখ।
- প্রত্যক্ষ ব্যবহার (Direct use) অর্থাৎ শুরু বা আরম্ভ (Start), থামা (Halt) ও শেষ (End)।
- অপকোড (Operation Code or OPCode): অপকোড কম্পিউটারকে কী ধরনের অপারেশন হবে তা বলে দেয়।
- অপারেন্ড (Operand): অপারেন্ড কম্পিউটারকে কী অপারেশন হবে তা নির্দেশ করে।
- কম্পিউটারের অভ্যন্তরীণ সার্কিট বা মেমোরি অ্যাড্রেসের সাথে সরাসরি সংযোগ স্থাপন করা সম্ভব হয়।
- এ ভাষা ব্যবহার করে কম্পিউটারে বর্তনীর ভুল-ত্রুটি সংশোধন করা যায়।
- এ ভাষা অনুশীলনের মাধ্যমে কম্পিউটারের অভ্যন্তরীণ সংগঠন সম্পর্কে জানা যায়।
- প্রোগ্রাম দ্রুত কার্যকরী হয়।
- কম পরিমাণ লজিক ব্যবহার করে প্রোগ্রাম নির্বাহ করা যায়।
- কম পরিমাণ মেমোরি ব্যবহার করে প্রোগ্রাম নির্বাহ করা যায়।
- এ ভাষায় রচিত প্রোগ্রাম কম্পিউটার সরাসরি বুঝতে পারে তাই কোন অনুবাদকের প্রয়োজন হয় না।
- প্রোগ্রাম রচনা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ।
- এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য ধরনের মেশিনে ব্যবহার করা যায় না।
- প্রোগ্রাম রচনার জন্য কম্পিউটারের সংগঠন সম্বন্ধে ধারণা থাকা অপরিহার্য।
- ডিবাগ করা কষ্টকর।
- দক্ষ প্রোগ্রামের প্রয়োজন হয়।
অ্যাসেম্বলি ভাষা (Assembly Language)
অ্যাসেম্বলি ভাষা হচ্ছে মেশিন ভাষার পরবর্তী প্রোগ্রামের ভাষা। এ ভাষা বিভিন্ন সংকেত সহযোগে গঠিত। তাই একে সাংকেতিক ভাষাও বলা হয়।
অ্যাসেম্বলি ভাষায় সাংকেতিক কোডে নির্দেশ দেয়া হয়। অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিনের ভাষায় রূপান্তরিত করার জন্য অ্যাসেম্বলার নামক এক ধরনের ট্রান্সলেটর বা অনুবাদক প্রোগ্রাম ব্যবহার করা হয়।
অ্যাসেম্বলি ভাষার প্রচলন শুরু হয় ১৯৫০ সাল থেকে, দ্বিতীয় প্রজন্মের কম্পিউটারে এ ভাষা ব্যাপকভাবে প্রচলিত ছিল। সাংকেতিক ভাষার ক্ষেত্রে নির্দেশ ও তথ্যের ঠিকানা বাইনারি বা হেক্স সংখ্যার সাহায্যে না দিয়ে সংকেতের সাহায্যে দেয়া হয়।
এ সংকেতকে বলে সাংকেতিক কোড (Symbolic code) বা নেমোনিক (Nemonic) অর্থাৎ যে সংকেতের সাহায্যে কোন বড় সংখ্যা বা কথাকে মনে রাখাতে সুবিধা হয়।
যেমন: সঞ্জয়কে রাখ, এর নেমোনিক LDA । এ ভাষায় রচিত প্রোগ্রাম দক্ষ ও সংক্ষিপ্ত হয় এবং প্রোগ্রাম রচনায় ভুলের পরিমাণ কম হয়।
- লেবেল (Level)
- ফিল্ড (Field)
- অপকোড (OPcode)
- অপারেন্ড (Operand)
অ্যাসেম্বলি ভাষায় প্রোগ্রাম রচনার সুবিধা
- এ ভাষায় রচিত প্রোগ্রাম দক্ষ ও সংক্ষিপ্ত হয়।
- মেমোরি অ্যাড্রেসের বিবরণের প্রয়োজন হয় না।
- প্রোগ্রাম রচনায় ভুলের পরিমাণ কম হয়।
- মেশিনের অভ্যন্তরীণ গঠন সম্পর্কে জানা হয়।
- ডিবাগিং করা সহজ।
অ্যাসেম্বলি ভাষায় প্রোগ্রাম রচনার অসুবিধা
- প্রোগ্রাম রচনা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ।
- এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রামঅন্য ধরনের মেশিনে ব্যবহার করা যায় না।
- প্রোগ্রাম রচনার জন্য কম্পিউটারের সংগঠনসম্বন্ধে ধারণা থাকা অপরিহার্য।
- প্রোগ্রাম নির্বাহের জন্য অনুবাদক প্রোগ্রাম, অ্যাসেম্বলারের প্রয়োজন হয়।
- এই ভাষা সরাসরি মেশিন বুঝতে পারে না।
অ্যাসেম্বলি ভাষায় ব্যবহৃত কিছু নেমোনিক:
- নেমোনিক- LDA; যা নির্দেশ করে- লোড অ্যাকিউমুলেটর; বর্ণনা- মেমোরির নির্দিষ্ট কোন স্থান থেকে ডেটা অ্যাকিউমুলেটরে নিয়ে আসা।
- STA-স্টোর অ্যাকিউমুলেটর; বর্ণনা-অ্যাকিউমুলেটরের ডেটাকে অন্য কোন ভেরিয়েবলে সংরক্ষণ করা।
- নেমোনিক- CLR; যা নির্দেশ করে-ক্লিয়ার অ্যাকিউমুলেটর; বর্ণনা-অ্যাকিউমুলেটর ফাঁকা (শূন্য) করা।
- নেমেনিক- ADD;অ্যাডিশন; যা নির্দেশ করে- অ্যাকিউমুলেটরে সংরক্ষিত সংখ্যার সাথে অপারেন্ডের মান যোগ করা।
- নেমোনিক- SUB; যা নির্দেশ করে- সাবট্রাকশন; বর্ণনা-অ্যাকিউমুলেটরে সংরক্ষিত সংখ্যার সাথে অপারেন্ডের মান বিয়োগ করা।
- নেমোনিক- MUL; যা নির্দেশ করে-মাল্টিপ্লিকেশন; বর্ণনা- অ্যাকিউমুলেটরে সংরক্ষিত সংখ্যার সাথে অপারেন্ডের মান গুণ করা।
- নেমোনিক- DIV;যা নির্দেশ করে- ডিভিশন; বর্ণনা-অ্যাকিউমুলেটরে সংরক্ষিত সংখ্যার সাথে অপারেন্ডের মান ভাগ করা।
- নেমোনিক- JMP; যা নির্দেশ করে-জাম্প; বর্ণনা-নিঃশর্তভাবে প্রোগ্রামের নির্দিষ্ট স্থানে যাওয়া।
- নেমোনিক- INC; যা নির্দেশ করে-ইনক্রিমেন্ট; বর্ণনা-মান ১ করে বাড়বে।
- নেমোনিক- INP; যা নির্দেশ করে-ইনপুট; বর্ণনা-ডেটা বা নির্দেশ গ্রহণ করে মেমোরির নির্দিষ্ট স্থানে রাখা।
- নেমোনিক- OUT; যা নির্দেশ করে- আউটপুট;বর্ণনা- মেমোরির নির্দিষ্ট অবস্থান থেকে ডেটা আউটপুটে পাঠানো।
- নেমোনিক- STP; যা নির্দেশ করে- স্পট; বর্ণনা-প্রোগ্রামকে থামানো।
যান্ত্রিক ভাষা ও অ্যাসেম্বলি ভাষার মধ্যে পার্থক্য
যান্ত্রিক ভাষা/মেশিন ভাষা
- বাইনারি 0 এবং 1 লেখা ভাষাকে মেশিন ভাষা বলা হয়।
- মেশিনের ভাষায় লিখিত প্রোগ্রামকে বস্তু প্রোগ্রাম বা Object প্রোগ্রাম বলা হয়।
- যন্ত্র ভাষায় লিখিত প্রোগ্রামে অনুবাদক প্রোগ্রামের প্রয়োজন হয় না।
- এ ভাষা মেশিন সহজে বুঝতে পারে।
- প্রোগ্রাম ডিবাগ করা কঠিন।
- বিশেষ Nemonic code ব্যবহার করে লেখা ভাষাকে অ্যাসেম্বলি ভাষা বলে।
- অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে উৎসপ্রোগ্রামবাSource প্রোগ্রাম বলে।
- এ ভাষায় লিখিত প্রোগ্রাম নির্বাহের জন্য অ্যাসেম্বলার প্রয়োজন হয় না।
- এ ভাষা মেশিন সহজে বুঝতে পারে না।
- প্রোগ্রাম ডিবাগ করা সহজ।
মধ্যম স্তরের ভাষা (Mid Level Language)
কম্পিউটার দিয়ে আরো বেশি কাজ করানোর জন্য মধ্যম স্তরের ভাষার উদ্ভব হয়। এ ভাষার সাহায্যে নিয়ন্ত্রণ ও সিস্টেম প্রোগ্রাম রচনা করা যায়। মধ্যম স্তরের ভাষা হলো এক ধরনের প্রোগ্রামিং ল্যাঙ্গুয়েজ যা যে কোনো ধরনের কম্পিউটারে নির্বাহ করা সম্ভব।
যেমন: C, FORTRAN, PASCAL ইত্যাদি। ১৯৬০ সালের দিকে এ ভাষার উদ্ভব হয়। নিম্নস্তরের ভাষা প্রোগ্রামারদের বোঝা কঠিন ছিল বলে মধ্যম স্তরের ভাষা ব্যবহৃত হয়।
মধ্যম স্তরের ভাষার বৈশিষ্ট্য/সুবিধা:
- এ ভাষায় লিখিত প্রোগ্রামবোঝাপ্রোগ্রামারদের কাছে সহজসাধ্য।
- যে কোন ধরনের কম্পিউটারে নির্বাহ করা সম্ভব।
- একবার লিখিত প্রোগ্রাম পরবর্তীতে পরিবর্তন করা সহজ।
- ভুল হওয়ার সম্ভাবনা কম থাকে।
- ভুল সংশোধন করা সম্ভব।
মধ্যম স্তরের ভাষার অসুবিধা:
- অনুবাদক প্রোগ্রামের প্রয়োজন হয়।
- এ ভাষা মেশিন বুঝতে পারে না।
- উচ্চতর ভাষার তুলনায় এ ভাষা কঠিন।
উচ্চতর ভাষা (High Level Language)
মেশিন ও অ্যাসেম্বলি ভাষায় এক ধরনের কম্পিউটারের জন্য রচিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না।
তাছাড়া লো লেভেল ভাষায় (মেশিন ও অ্যাসেম্বলি ভাষা) প্রোগ্রাম লেখা কষ্টকর ও শ্রমসাধ্য কাজ। কম্পিউটারের পক্ষে লো লেভেল ভাষা বোঝা সহজ হলেও মানুষের পক্ষে লো লেভেল ভাষা বোঝা সহজসাধ্য নয়।
এ সকল অসুবিধা থেকে অব্যাহতির প্রচেষ্টার ফলে উচ্চতর ভাষারউদ্ভব হয়। মানুষের কাছাকাছি ভাষা হচ্ছে হাই লেভেল ভাষা। হাই লেভেল ভাষা মানুষ দ্রুত লিখতে, বুঝতে ও স্মরণ রাখতে পারে। এটি ইংরেজি ভাষার সদৃশ।
প্রোগ্রাম লেখার জন্য কম্পিউটারের অভ্যন্তরীণ সংগঠন সম্পর্কে ধারণার প্রয়োজন নেই। উদাহরণ: C++, BASIC, PASCAL, FORTRAN ইত্যাদি।
হাই লেভেল ল্যাংগুয়েজের কতিপয় বৈশিষ্ট্য বা সুবিধা
- হাই লেভেল ভাষায় লিখিত প্রোগ্রাম যে কোন কম্পিউটারে ব্যবহার করা যায়।
- মানুষের পক্ষে নিম্নস্তরের চেয়ে উচ্চস্তরের ভাষা শেখা সহজ।
- হাই লেভেল ভাষায় তাড়াতাড়ি প্রোগ্রাম লেখা যায়।
- নিম্নস্তরের ভাষায় চার/পাঁচটি নির্দেশের জায়গায় উচ্চস্তরের ভাষায় মাত্র একটি বাক্য লিখলেই চলে।
- হাই লেভেল ল্যাংগুয়েজ লেখা প্রোগ্রামে ভুল হবার সম্ভাবনা কম ও সংশোধন করা সহজ।
- লাইব্রেরি ফাংশন সুবিধা পাওয়া যায়।
- প্রোগ্রাম লেখার সময় হার্ডওয়্যার নিয়ে ভাবতে হয় না।
- প্রোগ্রাম তুলনামূলকভাবে ছোট হয়।
হাই লেভেল ল্যাংগুয়েজের অসুবিধা
- এ ভাষার প্রোগ্রাম কম্পিউটার সরাসরি বুঝতে পারে না।
- প্রোগ্রাম লেখার পূর্বে স্ট্রাকচার জানতে হয়।
- কমান্ডের সিনটেক্স জানতে হয়।
- এ ল্যাংগুয়েজে লিখিত প্রোগ্রাম মেশিন ল্যাংগুয়েজে রূপান্তরের জন্য অনুবাদক প্রোগ্রামপ্রয়োজন হয়।
- লো-লেভেল ভাষার তুলনায় দক্ষতা কম।
- লো-লেভেল ভাষার তুলনায় বেশি মেমোরিপ্রয়োজন পড়ে।
- লো-লেভেল ভাষার তুলনায় Flexibility কম।
হাই লেভেল ল্যাংগুয়েজের ব্যবহার (Use of High Level Language)
হাই লেভেল ল্যাংগুয়েজ নিম্নলিখিত কাজে ব্যবহৃত হয়-
- বড় প্রোগ্রাম তৈরির কাজে।
- বৃহৎডেটাপ্রসেসিং-এরকাজেব্যবহৃত প্রোগ্রাম তৈরি করতে।
- যেসব ক্ষেত্রে প্রচুর মেমোরিপ্রয়োজন সেসব ক্ষেত্রের সফটওয়্যার তৈরির কাজে।
- জটিল গাণিতিক নিকাশে ব্যবহৃত সফটওয়্যার তৈরির কাজে।
- এপ্লিকেশন প্যাকেজ সফটওয়্যার তৈরির কাজে।
- বিভিন্ন ধরনের অটোমেটিক প্রসেস কন্ট্রোলের কাজে।
হাই লেভেল ল্যাংগুয়েজের প্রকারভেদ (Types of High Level Language)
হাই লেভেল ল্যাংগুয়েজকে দুভাগে ভাগ করা যায়। যথা-
- সাধারণ কাজের (General purpose) ভাষা।
- বিশেষ কাজের (Special purpose) ভাষা।
যে ভাষা সব ধরনের কাজের উপযোগী তাকে সাধারণ কাজের ভাষা বলা হয়। যেমন- বেসিক, সি ইত্যাদি। যে ভাষা শুধু বিশেষ বিশেষ কাজের উপযোগী তাকে বিশেষ কাজের ভাষা বলা হয়।
যেমন- কোবল, লিম্প, ফোরট্রান ইত্যাদি।
- বাণিজ্যিক প্রয়োগের ভাষা
- বৈজ্ঞানিক প্রয়োগের ভাষা
- বিশেষ প্রয়োগের ভাষা
বাণিজ্যিক প্রয়োগের ভাষা
এসব ভাষায় বাণিজ্যিক ক্ষেত্রে ব্যবহৃত ডেটার বিশ্লেষণ, বিন্যাস এবং প্রক্রিয়াকরণের ব্যাপক সুবিধা থাকে। এধরনের ভাষা মূলত ব্যবসা-বাণিজ্য সংশ্লিষ্ট প্রোগ্রাম তৈরির জন্য ব্যবহৃত হয়। এসব ভাষায় কাজের নির্দেশ ইংরেজি ভাষার মতো।
বিভিন্নভাবে রিপোর্ট ও সারণি প্রদর্শনের সুবিধা এ ভাষার অন্যতম আকর্ষণ। কোবল (Cobol) হচ্ছে অন্যতম বাণিজ্যিকপ্রয়োগের ভাষা।
বৈজ্ঞানিক প্রয়োগের ভাষা
এসব ভাষায় গবেষণালব্ধ উপাত্ত ও তথ্য বিভিন্ন পরীক্ষা-নিরীক্ষা ও পর্যবেক্ষণের ফলাফল প্রক্রিয়াকরণের সুবিধা থাকে।
শক্তিশালী গাণিতিক কাজের ক্ষমতা, গাণিতিক ফাংশনের বৃহৎলাইব্রেরি, গাণিতিক বর্ণনা ও সূত্র ব্যবহারের সুবিধা, ম্যাট্রিক ব্যবহারের ক্ষমতা এ ধরনের ভাষার বিশেষত্ব। ফোরট্রান, এলগল এ ধরনের ভাষার উদাহরণ।
বিশেষ প্রয়োগের ভাষা
বিশেষ প্রয়োগের জন্য এ ধরনের ভাষার উদ্ভব হয়েছে। মেশিন নিয়ন্ত্রণ, সিমুলেশন, বৈজ্ঞানিক পরীক্ষা নিয়ন্ত্রণ ইত্যাদি ক্ষেত্রে ব্যবহৃত হয়। যেমন-CSL সিমুলেশন ভাষা, কম্পিউটার মেশিন ভাষা-Module 2)
হাই লেভেল ল্যাংগুয়েজ ও মেশিন ল্যাংগুয়েজের মধ্যে পার্থক্য
মেশিন ল্যাংগুয়েজ
- কম্পিউটার যে ভাষা সরাসরি বুঝতে পারে তাকে মেশিন ল্যাংগুয়েজ বলা হয়।
- এটি মেশিনের ভাষা বিধায় কম্পিউটারকে বুঝানোর জন্য অনুবাদের প্রয়োজন হয় না।
- মেশিনের ভাষায় প্রোগ্রাম লেখা তুলনামূলকভাবে কষ্টসাধ্য এবং সময়সাপেক্ষ ব্যাপার|
- মেশিনের ভাষায় লিখিত প্রোগ্রামকে অবজেক্ট প্রোগ্রাম বা বস্তু প্রোগ্রাম বলে।
- মেশিনের ভাষা হচ্ছে বাইনারি, যা 0 এবং 1 দ্বারা গঠিত।
- এ ভাষা মেশিন সহজে বুঝতে পারে।
- ভুল হওয়ার সম্ভাবনা বেশি থাকে।
- প্রোগ্রাম ডিবাগ করা কঠিন।
হাই লেভেল ল্যাংগুয়েজ
- কম্পিউটারকে সর্বজন ব্যবহার উপযোগী করে তুলতে যেভাষা তৈরি হয় তাই উচ্চস্তরের ভাষা।
- এ ভাষায় লিখিত প্রোগ্রাম কম্পিউটারকে বুঝানোর জন্য মেশিনের ভাষায় অনুবাদ করে দিতে হয়।
- মেশিনের ভাষার তুলনায় উচ্চস্তরের ভাষায় প্রোগ্রাম রচনা সহজ।
- উচ্চস্তরের ভাষায় লিখিত প্রোগ্রামকে Source বা উৎসপ্রোগ্রামবলে।
- কয়েকটি উচ্চস্তরের ভাষা হচ্ছে C++, BASIC, PASCAL, FORTRAN ইত্যাদি।
- এ ভাষা মেশিন সহজে বুঝতে পারে না।
- ভুল হওয়ার সম্ভাবনা কম থাকে।
- প্রোগ্রাম ডিবাগ করা সহজ।
অ্যাসেম্বলি ল্যাংগুয়েজ ও হাই লেভেল ল্যাংগুয়েজের মধ্যে পার্থক্য
অ্যাসেম্বলি ল্যাংগুয়েজ
- বিশেষ Nemonic code ব্যবহার করে লেখা ভাষাকে অ্যাসেম্বলি ভাষা বলে|
- অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে উৎসপ্রোগ্রামবাSource প্রোগ্রাম বলে।
- এ ভাষায় লিখিত প্রোগ্রাম কম্পিউটারকে বুঝানোর জন্য অ্যাসেম্বলার নামক অনুবাদক প্রোগ্রামের প্রয়োজন হয়|
- এটি মেশিন নির্ভর ভাষা।
- এ ভাষার জন্য ব্যবহৃত অনুবাদক প্রোগ্রামকে অ্যাসেম্বলার বলা হয়|
- এ ভাষার জন্য কম মেমোরির প্রয়োজন হয়।
হাই লেভেল ল্যাংগুয়েজ
- মানুষের ভাষার কাছাকাছি ইংরেজি শব্দ দিয়ে তৈরি ভাষা হচ্ছে হাই লেভেল ল্যাংগুয়েজ বা উচ্চস্তরের ভাষা।
- উচ্চস্তরের ভাষায় লিখিত প্রোগ্রামকে Source বা উৎস প্রোগ্রাম বলে।
- এ ভাষায় লিখিত প্রোগ্রাম কম্পিউটারকে বুঝানোর জন্য মেশিনের ভাষায় অনুবাদ করে দিতে হয়।
- উচ্চতর ভাষা মেশিন নির্ভর নয়।
- এ ভাষার জন্য ব্যবহৃত অনুবাদক প্রোগ্রামকে কম্পাইলার/ইন্টারপ্রেটার বলা হয়।
- উচ্চতর ভাষার জন্য বেশি মেমোরির প্রয়োজন হয়।
কয়েকটি জনপ্রিয় উচ্চস্তরের প্রোগ্রাম ভাষা
বিভিন্ন সময়ে বিভিন্ন উচ্চস্তরের প্রোগ্রাম ভাষা চালু হয়েছে এবং দিন দিন এদের সংখ্যা বৃদ্ধি পাচ্ছে। এগুলোর কোনটি বর্তমানে চালু আছে, কোনটি-বা বিলুপ্ত হয়েছে।
আবার কোনটির ব্যবহার নেই বললেই চলে। বর্তমান সময়ে প্রচলিত কয়েকটি উচ্চতরের ভাষা হলো: ভিজুয়্যাল বেসিক, ফোরট্রান, কোবল, প্যাস্কেল, সি, সি++, জাভা ইত্যাদি।
- ভাষার নাম-FORTRAN; বছর-১৯৫৭; উদ্ভাবক-আইবিএম; প্রয়োগক্ষেত্র-বিজ্ঞান/প্রকৌশল।
- ভাষার নাম- ALGOL; বছর-১৯৫৮; উদ্ভাবক- ইন্টারন্যাশনাল গ্রুপ; প্রয়োগক্ষেত্র-বিজ্ঞান/প্রকৌশল।
- ভাষার নাম- LISP; বছর- ১৯৫৯; উদ্ভাবক-এম আইটি, যুক্তরাষ্ট্র; প্রয়োগক্ষেত্র- কৃত্রিম বুদ্ধিমত্তা।
- ভাষার নাম- APL; বছর-১৯৬০; উদ্ভাবক-আইবিএম; প্রয়োগক্ষেত্র- বিজ্ঞান/প্রকৌশল|
- ভাষার নাম- COBOL; বছর- ১৯৬১; উদ্ভাবক-ইউএস সামরিক বিভাগ; প্রয়োগক্ষেত্র-ব্যবসায়িক।
- ভাষার নাম- BASIC; বছর-১৯৬৪; উদ্ভাবক-ডার্টমথ কলেজ; প্রয়োগক্ষেত্র- প্রকৌশল/বিজ্ঞান/ব্যবসায়/শিক্ষা।
- ভাষার নাম- PASCAL; বছর-১৯৭০; উদ্ভাবক-ফেডারেল ইন্সটিটিউট অব টেকনোলজি, সুইজারল্যান্ড; প্রয়োগক্ষেত্র- সাধারণ।
- ভাষার নাম- C; বছর- ১৯৭৩; উদ্ভাবক-বেল ল্যাবরেটরি; প্রয়োগক্ষেত্র-সাধারণ।
- ভাষার নাম- ADA; বছর-১৯৭৫; উদ্ভাবক-ইউএস সামরিক; প্রয়োগক্ষেত্র- বিভাগ সাধারণ।
0 Comments