২০ নভেম্বর ২০১৭,   ঢাকা, বাংলাদেশ   শেষ আপডেট এই মাত্র  
Login   Register        
ADS

এইচ এস সি পরীক্ষার প্রস্তুতি


প্রকৌশলী এস. এ. এহ্সান রাজন

প্রভাষক ক¤িপউটার বিজ্ঞান বিভাগ

খুলনা পাবলিক কলেজ, খুলনা।

ই-মেইলঃ ধযংধহ.ৎধলড়হ@মসধরষ.পড়স

ওয়েবঃ িি.িধযংধহৎধলড়হ.ড়িৎফঢ়ৎবংং.পড়স

সুপ্রিয় শিক্ষার্থী বন্ধুরা,

শুভেচ্ছা নিও। আজ আমরা তথ্য ও যোগাযোগ প্রযুক্তি বিষয়ের পঞ্চম অধ্যায়ের ক¤িপউটার প্রোগ্রামিং স¤পর্কে আলোচনা করবো।

 তৃতীয় প্রজন্মের ভাষা (ঞযরৎফ এবহবৎধঃরড়হ খধহমঁধমব) : উচ্চস্তরের ভাষা (ঐরময খবাবষ খধহমঁধমব)

মেশিন ভাষায় বাইনারীতে নির্দেশ প্রদানের জটিলতা এবং এসেম্বলী ভাষা যন্ত্র নির্ভর হওয়ার সীমাবদ্ধতার প্রেক্ষিতে যন্ত্র নিরপেক্ষ এবং অধিকতর সহজে প্রোগ্রাম রচনার জন্য উচ্চ স্তরের ভাষার সূচনা হয়। উচ্চস্তরের ভাষায় প্রদত্ত নির্দেশগুলির সাথে সাধারণ ব্যবহৃত ইংরেজির সাদৃশ্য রয়েছে। উচ্চ স্তরের ভাষা মেশিন নিরপেক্ষ; অর্থাৎ, একই নির্দেশ যে কোন আর্কিটেকচারের ক¤িপউটারে প্রয়োজনীয় অনুবাদক ব্যবহার করে নির্বাহ করা যায়। যেহেতু এই ধরণের প্রোগ্রাম রচনার ক্ষেত্রে প্রোগ্রাম রচনাকারীর কাছে ক¤িপউটারের সংগঠনের বিষয়াদী বিমূর্ত থাকলেও কার্যকর প্রোগ্রাম রচনা সম্ভব এবং এই প্রোগ্রামসমূহ ক¤িপউটারের অভ্যন্তরীন গঠনের উর্ধ্বে থেকে রচনা করা সম্ভব তাই এটিকে উচ্চস্তরের ভাষা (ঐরময খবাবষ খধহমঁধমব) বলা হয়।

উচ্চ স্তরের ভাষায় লিখিত প্রোগ্রামের সবচেয়ে বড় সুবিধা হল এ ধরণের প্রোগ্রাম আর্কিটেকচার-নিরপেক্ষ; অর্থাৎ একই প্রোগ্রাম যে কোন ধরণের আর্কিটেকচারের ক¤িপউটারে নির্বাহ করা যায়। উচ্চ স্তরের প্রোগ্রামিং ভাষায় রচিত প্রোগ্রাম ক¤িপউটার সরাসরি বুঝতে পারে না বলে এটি নির্বাহ (ঊীবপঁঃব) করার জন্য সেগুলিকে অনুবাদকের (ঞৎধহংষধঃড়ৎ- ঈড়সঢ়রষব/ওহঃবৎঢ়ৎবঃবৎ) মাধ্যমে মেশিন ভাষায় রূপান্তরিত করার প্রয়োজন।

 উচ্চ স্তরের ভাষার প্রকারভেদ

উচ্চ স্তরের ভাষা সাধারণত দুই ধরণের-

 সাধারণ উদ্দেশ্যমূলক উচ্চস্তরের প্রোগ্রামিং ভাষা (এবহবৎধষ চঁৎঢ়ড়ংব ঐরময খবাবষ চৎড়মৎধসসরহম খধহমঁধমব): সব ধরণের কাজের উপযোগী তথা সাধারণ কার্যাবলী স¤পাদনের জন্য এই ধরণের প্রোগ্রাম ব্যবহার করা হয়

 বিশেষ উদ্দেশ্যমূলক উচ্চস্তরের প্রোগ্রামিং ভাষা (ঝঢ়বপরধষ চঁৎঢ়ড়ংব ঐরময খবাবষ চৎড়মৎধসসরহম খধহমঁধমব): কিছু বিশেষ কাজের বা বিশেষ উদ্দেশ্য সাধনে জন্য এই ধরণের প্রোগ্রামসমূহ ব্যবহৃত হয়ে থাকে।

উচ্চ স্তরের ভাষাকে আরো কয়েকটি ভাগে ভাগ করা যায়- যেমন -

 বৈজ্ঞানিক প্রয়োগের ভাষা – বিভিন্ন বৈজ্ঞানিক গবেষণায় ব্যবহৃত হয়।

 বিশেষ প্রয়োগমূলক ভাষা – বিশেষ কাজ যেমন সিমুলেশন, প্রসেস কন্ট্রোল ইত্যাদির জন্য ব্যবহৃত হয়।

এছাড়াও উচ্চ স্তরের ভাষাকে নিুোক্ত দুইটি উল্লেখযোগ্য ভাগে বিভক্ত করা যায়-

 প্রক্রিয়াভিত্তিক ভাষা (চৎড়পবফঁৎব ঙৎরবহঃবফ খধহমঁধমব) : ক¤িপউটেশনের বা হিসাবের প্রক্রিয়া নির্দেশ করে এই ধরণের প্রোগ্রামিং ভাষা মূলত সাধারণ প্রয়োগের লক্ষ্যে কাজ করে। অর্থাৎ, একটি সমস্যা সমাধানের ডেটা প্রক্রিয়াকরণের অংশ এবং অন্যান্য লজিকাল নির্দেশনাসমূহ প্রোগ্রামার কর্তৃক নির্দেশিত হয়। যেমন সি, ফরট্রান, কোবল, প্যাসক্যাল, সি++, জাভা

 সমস্যা ভিত্তিক ভাষা (চৎড়নষবসঙৎরবহঃবফ খধহমঁধমব): সমস্যা ভিত্তিক ভাষা মূলত প্রক্রিয়াভিত্তিক ভাষার বিশেষ বিশেষ ক্ষেত্রে ডেটা প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এ ধরণের ভাষার প্রক্রিয়াকরণের জন্য প্রক্রিয়াকরণ আর্কিটেকচার (চৎড়পবফঁৎধষ অৎপযরঃবপঃঁৎব) উল্লেখ না করে শুধুমাত্র ইনপুট-আউটপুট ও অপারেশন উল্লেখ করে প্যারামিটার সমূহ উল্লেখ করলেই চলে। অভ্যন্তরীন প্রক্রিয়াকরণের পদ্ধতি উক্ত প্রোগ্রামিং ভাষায় সাধারণভাবে পূর্ব- নির্ধারিত থাকে।

 উচ্চ স্তরের ভাষার ব্যবহার

 বর্তমানে যে কোন এপ্লিকেশন প্রোগ্রাম রচনার ক্ষেত্রে উচ্চ স্তরের ভাষা সর্বাধিক ব্যবহৃত

 যে সমস্ত প্রোগ্রাম বৃহৎ পরিসরের কোন কাজে প্রয়োজন সে ধরণের কোড রচনায়

 পুনঃ-বিতরণযোগ্য (জবফরংঃৎরনঁঃধনষব) প্রোগ্রাম রচনা বা সফটওয়্যার তৈরির জন্য।

 জটিল গাণিতিক বা যুক্তিমূলক সফটওয়্যার তৈরির জন্য।

 অটোমেটিক প্রসেস কন্ট্রোল (অঁঃড়সধঃরপ চৎড়পবংং ঈড়হঃৎড়ষ) এর জন্য

 যে সমস্ত ক্ষেত্রে একাধিক প্রোগ্রামার সমন্বয়ে কোন প্রজেক্ট বাস্তবায়ন প্রয়োজন সে ধরণের প্রোগ্রাম রচনায়

 উচ্চ স্তরের ভাষার সুবিধা

 উচ্চ স্তরের ভাষায় লিখিত প্রোগ্রামের সবচেয়ে বড় সুবিধা হল এ ধরণের প্রোগ্রাম আর্কিটেকচার-নিরপেক্ষ; অর্থাৎ একই প্রোগ্রাম যে কোন ধরণের আর্কিটেকচারের ক¤িপউটারে নির্বাহ করা যায়।

 উচ্চ স্তরের ভাষায় প্রোগ্রাম রচনা শিখতে কম সময়ের প্রয়োজন।

 হাই-লেভেল ল্যাংগুয়েজ ব্যবহার করে প্রোগ্রাম রচনা অনেক দ্রুত।

 ক¤িপউটারের অভ্যন্তরীন জটিল গঠন স¤পর্কে কোনরূপ গভীরতর ধারণা ছাড়াই উচ্চ স্তরের ভাষা ব্যবহার করে প্রোগ্রাম রচনা করা যায়।

 নিম্নস্তরের ভাষার তুলনায় অনেক ক্ষেত্রে কম সংখ্যক নির্দেশ ব্যবহার করেই অনেক ক্ষেত্রে প্রোগ্রাম রচনা করা সম্ভব।

 হাই লেভেল ভাষায় লাইব্রেরী ফাংশন ব্যবহারের সুযোগ থাকায় অনেক কাজ খুব সহজেই স¤পাদন করা যায়।

 হাই লেভেল ল্যাংগুয়েজে বিদ্যমান সিনট্যাক্স (ঝুহঃধী) জনিত ভুল বা অন্যান্য যৌক্তিক (ঝবসধহঃরপং ধহফ খড়মরপধষ) ভুল খুঁজে বের করা অপেক্ষাকৃত সহজ

 উচ্চ স্তরের ভাষার সীমাবদ্ধতা/অসুবিধা

 উচ্চ স্তরের প্রোগ্রামিং ভাষায় রচিত প্রোগ্রাম ক¤িপউটার সরাসরি বুঝতে পারে না বলে এটি নির্বাহ (ঊীবপঁঃব) করার জন্য সেগুলিকে অনুবাদকের (ঞৎধহংষধঃড়ৎ- ঈড়সঢ়রষব/ওহঃবৎঢ়ৎবঃবৎ) মাধ্যমে

 মেশিন ভাষায় রূপান্তরিত করার প্রয়োজন।

 ট্রান্সলেটরের মাধ্যমে প্রোগ্রামকে অন্তর্বর্তীকালীন ফরম্যাটে (ওহঃবৎসবফরধঃব ঋড়ৎসধঃ) পরিণত করার প্রয়োজন হয় বলে এটির নির্বাহের জন্য সময় বেশী লাগে।

 হাই লেভেল ল্যাংগুয়েজ নির্বাহ করতে অধিক পরিমান মেমরী (গবসড়ৎু) প্রয়োজন।