Generations of Language

Spread the page link

পঞ্চম অধ্যায়

প্রোগ্রামিং ভাষা


Lecture-01

প্রোগ্রাম: কম্পিউটারের সাহায্যে কোনো সমস্যা সমাধান করার জন্য একটি কর্মসূচীর প্রয়োজন। সেই কর্মসূচীর নাম হচ্ছে প্রোগ্রাম। এক বা একাধিক নির্দেশের সমষ্টিকে প্রোগ্রাম বলে।
প্রোগ্রামিং: প্রোগ্রাম রচনার কৌশলকে বলা হয় প্রোগ্রামিং।
প্রোগ্রামিং ভাষা: যে ভাষা ব্যবহার করে প্রোগ্রাম লিখা হয়, তাকে প্রোগ্রামিং ভাষা বলে।
আদর্শ প্রোগ্রাম:যে প্রোগ্রামে কম্পিউটার প্রোগ্রামের যাবতীয় গুনাবলি বিদ্যমান থাকে, সে প্রোগ্রামকে আদর্শ প্রোগ্রাম বলে।
আদর্শ প্রোগ্রামের ৪টি বৈশিষ্ট্য নি¤œরূপ:
১। প্রোগ্রামটি নির্ভুল।
২। যতটা সম্ভব সরল ও সংক্ষিপ্ত।
৩। যুক্তিপূর্ণ বিন্যাস।
৪। সহজে প্রোগ্রামটি পরিবর্তন, পরিবর্ধন ও ভুল সংশোধন করা যায়।

***বিভিন্ন স্তরের প্রোগ্রামিং ভাষা:
১। প্রথম প্রজন্মের ভাষা ঃ (১৯৪৫-১৯৪৯):
কম্পিটারের নিজস্ব ভাষা হচ্ছে মেশিন ভাষা। এটি কম্পিউটারের নিন্মস্তরের ভাষা। ০ এবং ১ দ্বারা এই ভাষা গঠিত বলে একে বাইনারী ভাষা বলে। ০ এবং ১ দিয়ে তৈরি ভাষাকে যান্ত্রিক ভাষা বলে। কম্পিউটার কেবলমাত্র যান্ত্রিক ভাষা বুঝতে পারে। তাই অন্য ভাষার লেখা প্রোগ্রামকে অনুবাদক প্রোগ্রামের মাধ্যমে যন্ত্র ভাষায় পরিনত করে নিতে হয় এবং পরে কার্যে পরিনত করতে হয়।
যান্ত্রিক ভাষার সুবিধা:
১। সংক্ষিপ্ত আকারে প্রোগ্রাম লিখা যায়।
২। প্রোগ্রাম নির্বাহে সময় কম লাগে।
৩। অনুবাদকের দরকার হয় না।
৪। অল্প মেমোরি প্রয়োজন হয়।


যান্ত্রিক ভাষার অসুবিধা:
১। সকল computer এর যান্ত্রিক ভাষা এক রকম নয়।
২। শুধুমাত্র ০ এবং ১ ব্যবহার করা হয় বলে প্রোগ্রাম লিখা কষ্টসাধ্য।
৩। ভুল বের করা এবং সংশোধন করা কঠিন।
৪। এক মেশিনে লিখা প্রোগ্রাম আরেক মেশিনে রান করা যায় না।
২। দ্বিতীয় প্রজন্মের ভাষা( ১৯৫০-১৯৫৯):
দ্বিতীয় প্রজন্মের ভাষার নাম Assembly ভাষা। এই ভাষাকে সাংকেতিক ভাষা বলে। ০ এবং ১ এর পরিবর্তে সাংকেতিক চিহ্ন ব্যবহার করা হয় বলে এই ভাষাকে সাংকেতিক ভাষা বলে।
Assembly ভাষার সুবিধা:
১। যন্ত্র ভাষার তুলনায় সহজেই প্রোগ্রাম লিখা যায়।
২। প্রোগ্রাম তৈরী করতে সময় তুলনামূলক কম লাগে।
৩। ভুল সংশোধন যন্ত্র ভাষার তুলনায় সহজ।
৪। সহজে প্রোগ্রামের পরিবর্তন করা যায়।
Assembly ভাষার অসুবিধা:
১। এই ভাষায় লিখিত প্রোগ্রাম মেশিনের সংগঠনের উপর নির্ভরশীল।
২। এক মেশিনের লেখা প্রোগ্রাম অন্য মেশিনে চালানো যায় না।
৩। অনুবাদক প্রোগ্রাম এর দরকার হয়। কারণ কম্পিউটার এই ভাষা সরাসরি বুঝতে পারে না।
৪। মেমোরী অপচয় বেশি হয়।
Assembly ভাষা এবং মেশিন ভাষার মধ্যে তুলনা:
১। মেশিন ভাষা ০ এবং ১ দিয়ে তৈরী । Assembly ভাষা সাংকেতিক চিহ্ন দিয়ে তৈরী।
২। মেশিন ভাষা বুঝার জন্য Computer এর অনুবাদকের দরকার হয় না। অপরদিকে Assembly ভাষা বুঝার জন্য Computer এর অনুবাদকের দরকার হয়।
৩। মেশিন ভাষায় মেমোরি অপচয় কম হয় । অপরদিকে Assembly ভাষায় মেমোরি অপচয় বেশি হয়।
৪। মেশিন ভাষায় ভুল সংশোধন করা কঠিন । অ্যাসেম্বলি ভাষায় ভুল সংশোধন করা তুলনামুলক সহজ।
৫। মেশিন ভাষায় শুধুমাত্র ০ এবং ১ব্যবহার করা হয় বলে প্রোগ্রাম লিখা কষ্টসাধ্য। অপর পক্ষে Assembly ভাষায় মেশিন ভাষার তুলনায় সহজেই প্রোগ্রাম লিখা যায়।







Lecture-02

৩। তৃতীয় প্রজন্মের ভাষা (১৯৬০-১৯৭০):
তৃতীয় প্রজন্মের ভাষার নাম উচ্চস্তরের ভাষা। সাংকেতিক ভাষা এবং যন্ত্র ভাষায় প্রোগ্রাম লিখা একজন প্রোগ্রামারের পক্ষে রীতিমতো অসুবিধাজনক বিধায় উচ্চস্তরের ভাষায় প্রোগ্রাম লেখার প্রয়োজনীয়তা দেখা দেয়। উচ্চতর ভাষায় লেখা প্রোগ্রাম যন্ত্র নির্ভর নয়। মানুষের বোধগম্য বর্ণ, সংখ্যা, বাক্য ব্যবহার করে উচ্চতর ভাষায় প্রোগ্রাম তৈরী করা হয়। ফলে যেকোনো প্রোগ্রামারের পক্ষে এই ভাষায় লেখা প্রোগ্রাম বুঝতে কষ্ট হয় না। এই ভাষায় অতি সহজে এবং দ্রুত প্রোগ্রাম লিখা যায়। এইজন্য উচ্চতর ভাষা জনপ্রিয়তা লাভ করে।
উচ্চতর ভাষার সুবিধা
১। এই ভাষায় প্রোগ্রাম লিখা সহজ এবং লিখতে সময় কম লাগে।
২। ভুল নির্ণয় এবং সংশোধন করা সহজ।
৩। সহজে প্রোগ্রামের যেকোনো অংশ পরিবর্তন ও পরিবর্ধন করা যায়।
৪। এই ভাষায় লেখা প্রোগ্রাম যেকোনো কম্পিউটারে ব্যবহার করা যায়।
৫। মানুষের বোধগম্য হরফ, সংখ্যা, বাক্য ব্যবহার করে প্রোগ্রাম লেখা হয় বিধায় এটি সহজে বুঝা যায়।


উচ্চতর ভাষার অসুবিধা:
১। এ ভাষায় লিখিত প্রোগ্রাম আকারে অনেক বড়।
২। প্রোগ্রাম নির্বাহ করতে সময় বেশি ব্যায় হয়।
৩। এ ভাষায় লেখা প্রোগ্রাম কম্পিউটার সরাসরি বুঝতে পারে না।
৪। এই ভাষাকে মেশিন ভাষায় রূপান্তরের জন্য বিভিন্ন অনুবাদক প্রোগ্রামের দরকার হয়।
৫। বেশি মেমোরির প্রয়োজন হয়।
বিভিন্ন রকমের উচ্চস্তরের ভাষা : c,c++, c-sharp Php, Java, Script, Python etc
৪। চতুর্থ প্রজন্মের ভাষা (১৯৭১-১৯৭৯)
১। এটি সংক্ষেপে 4GL নামে পরিচিত।
২। এটি Non-procedural ভাষা।
৩। এই ভাষায় শুধু বলে দিতে হয় কী ফলাফল প্রয়োজন।
৪। কিভাবে কার্য সম্পাদন করতে হবে তা ব্যাখ্যা করার প্রয়োজন নাই।
৫। এই প্রজন্মের ভাষার জন্য প্রসেসিং ক্ষমতা বেশি দরকার হয়।
৬। 4GL ব্যবহার করে সহজেই Application প্রোগ্রাম তৈরী করা যায় বলে একে Rapid tool বলে।
RAD —- Rapid Action Development
৭। Database কে নিয়ন্ত্রন, পরিচালনা, Query, Reportতৈরী ইত্যাদি কাজের জন্য এই
ভাষা ব্যবহার করা হয়।
৮। এই ভাষার গুনগত মান উন্নত নয়।
৯। এই ভাষা ব্যবহার করে কোনো শক্তিশালী প্রোগ্রাম তৈরী করা যায় না।
বিভিন্ন রকমের চতুর্থ প্রজন্মের ভাষা : oracle,sql,visual basic etc

৫।পঞ্চম প্রজন্মের ভাষা(১৯৮০- বর্তমান ):
এই প্রজন্মে মানুষের ভাষাকে প্রোগ্রামের ভাষা হিসেবে ব্যবহার করা হবে। এই জন্য বিজ্ঞানীগণ অনবরত চেষ্টা চালিয়ে যাচ্ছেন। কথোপকথনের রীতিতে কম্পিউটার ও ব্যবহারকারীর মধ্যে দ্রুত পরস্পরিক সংযোগ সৃষ্টির জন্য এই ভাষা ব্যবহার হবে।
বিভিন্ন রকমের পঞ্চম প্রজন্মের ভাষা : prolog





Lecture -03


** সংকেতিক ভাষা ও উচ্চস্তরের ভাষার মধ্যে তুলনা:
১। সংকেতিক ভাষা লিখা হয় বিভিন্ন সাংকেতিক চিহ্ন দিয়ে আর উচ্চস্তরের ভাষা লিখা হয়
মানুষের বোধ্যগম্য হরফ , শব্দ ও বাক্য দিয়ে।
২। সাংকেতিক ভাষায় এক মেশিনের লেখা প্রোগ্রাম আরেক মেশিনে চালানো যায় না। অন্যদিকে উচ্চতর ভাষায় লেখা প্রোগ্রাম যেকোনো কম্পিউটারে চালানো যায়।
** নিন্মস্তরের ভাষা ও উচ্চস্তরের ভাষার মধ্যে তুলনা:
১। নিন্মস্তরের ভাষা লিখা হয় ০ এবং ১দিয়ে । আর উচ্চস্তরের ভাষা লিখা হয় মানুষের বোধগম্য হরফ , শব্দ ও বাক্য দিয়ে।
২। নিন্মস্তরের ভাষায় লিখা প্রোগ্রাম বুঝার জন্য Computer এর অনুবাদকের দরকার হয় না কিন্তু উচ্চস্তরের ভাষায় লিখা প্রোগ্রাম বুঝার জন্য Computer এর অনুবাদকের প্রয়োজন হয়।
৩। নিন্মস্তরের ভাষায় অল্প মেমোরি প্রয়োজন হয় কিন্তু উচ্চস্তরের ভাষায় বেশি মেমোরি প্রয়োজন হয়।
৪। নিন্মস্তরের ভাষায় এক মেশিনে লেখা প্রোগ্রাম আরেক মেশিনে রান করা যায় না। অপরদিকে উচ্চস্তরের ভাষায় লিখা প্রোগ্রাম যেকোনো কম্পিউটার রান করা যায়।
৫। নিন্মস্তরের ভাষায় লেখা প্রোগ্রামে ভুল সংশোধন করা কঠিন। অন্যদিকে উচ্চস্তরের ভাষায় লেখা প্রোগ্রামে ভুল সংশোধন করা সহজ।





Leave a Reply

Your email address will not be published. Required fields are marked *