সর্বশেষ

6/recent/ticker-posts

প্রোগ্রামিং কি? প্রোগ্রামিং ল্যাংগুয়েজ কি? প্রোগ্রামিং ল্যাংগুয়েজের প্রকারভেদ এবং ইতিহাস

প্রোগ্রামিং কি? প্রোগ্রামিং ল্যাংগুয়েজ কি?  প্রোগ্রামিং ল্যাংগুয়েজের প্রকারভেদ এবং ইতিহাস


আমরা যখন প্রথম প্রোগ্রামিং নামক একটা শব্দ শুনতে পাই তখন আমাদের মাথায় একটা প্রশ্ন আসে প্রোগ্রামিং জিনিসটা আবার কি? খায় না মাথায় দেয় তো চলেন প্রোগ্রামিং সেই সম্পর্কে জানি।


প্রোগ্রামিং কি?

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


প্রোগ্রামিং ল্যাংগুয়েজ কি?

ধরেন আমরা একেক দেশে একেক ভাষায় কথা বলি এখন আপনি যদি ইংল্যান্ড গিয়ে বাংলা ভাষা প্রয়োগ করেন তারা কি বুঝবে কখনোই না (দুই একজন বুঝতে পারে :) )। তেমনি কম্পিউটার শালার ব্যাটাও আমাদের কথা বুঝে না তার জন্য আলাদা কিছু ল্যাংগুয়েজ রয়েছে সেই ল্যাংগুয়েজগুলোকেই প্রোগ্রামিং ল্যাংগুয়েজ বলে। বাজারে বিভিন্ন ধরনের প্রোগ্রামিং ল্যাংগুয়েজ রয়েছে যেমন- পাইথন, জাভা, C, C++,C#, cobol, Pascal, Fospro, oracle, sql, ইত্যাদি। 


প্রোগ্রামিং ল্যাংগুয়েজের প্রকারভেদ

প্রোগ্রামিং ল্যাংগুয়েজ তিন ধরনের-

১. হাইলেভেল ল্যাংগুয়েজ 

২. লোলেভেল ল্যাংগুয়েজ 

৩. মিডলেভেল ল্যাংগুয়েজ

১. হাই লেভেল ল্যাংগুয়েজ -

এটি একটি English like ল্যাংগুয়েজ যেখানে কোন সাংকেতিক চিহ্ন ব্যাবহারের প্রয়োজন পড়েনা। মেশিন বা অ্যাসেম্বলি ল্যাংগুয়েজে কাজ করার জন্য কম্পিউটারের অভ্যন্তরীন সংগঠন সম্পর্কে স্বচ্ছ ধারানা থাকতে হয় এই ল্যাংগুয়েজে তার প্রয়োজন নেই। ADa, c++, pascal, cobol, Fortan, Basic ইত্যাদি এই ল্যাংগুয়েজের অন্তর্ভুক্ত।


হাই লেভেল ল্যাংগুয়েজের সুবিদা-

ক. হাইলেভেল বা উচ্চস্তরের  ভাষায় লিখিত প্রোগ্রাম যেকোনাও কম্পিউটারে ব্যাবহার করা যায়।

খ. মানুষের পক্ষে নিম্নস্তরের চাইতে উচ্ছ স্থরের ভাষা শিখা সহজ।

গ.হাইলেভেল ভাষায় তাড়াতাড়ি প্রোগ্রাম লিখা যায়।

ঘ. নিম্ন স্তরের চার পাঁচটি নির্দেশের জায়গায় উচ্চ স্তরের ভাষায় মাত্র একটি বাক্য লিখলেই চলে।

ঙ. হাইলেভেল ল্যাংগুয়েজ লেখা প্রোগ্রামের ভুল সংশোধন করা সহজ।

চ. অসংখ্য লাইব্রেরি ফাংশন হাই লেভেল প্রোগ্রামে বিদ্যমান থাকে।

ছ. প্রোগ্রাম তৈরির সময় হার্ডওয়্যার নিয়ে ভাবতে হয় না।

জ. কাজের পরিধি বাড় বিধায় প্রোগ্রাম তুলনামূলক ছোট হয়।


হাই লেভেল ল্যাংগুয়েজের অসুবিদা-

ক. প্রোগ্রাম লিখার পূর্বে এ ল্যাংগুয়েজের স্ট্রাকচার জানতে হয়।

খ. প্রোগ্রাম তৈরিতে ব্যাবহৃত হাই লেভেল ল্যাংগুয়েজের প্রত্যেকটি কমান্ডের সিনট্যাক্স জানতে হয়।

গ. এ ল্যাংগুয়েজকে মেশিন ল্যাংগুয়েজে রূপান্তররের জন্য কম্পাইলারের প্রয়োজন হয়।


২. লো লেভেল লেভেল ল্যাংগুয়েজ

লো লেভেল ল্যাংগুয়েজ মূলত দুই ধরনের-


মেশিন ল্যাংগুয়েজ

কম্পিউটার ল্যাংগুয়েজের নিজস্ব ভাষাকে মেশিন ল্যাংগুয়েজ বলে। মেশিন ল্যাংগুয়েজের প্রধান উপকরন হচ্ছে বাইনারি 0 এবং 1 । এটি অন্ত্যন্ত কষ্টসাধ্য ও সময় সাপেক্ষ ল্যাংগুয়েজ। তাছাড়া অনেক কোম্পানির তৈরি কম্পিউটারে এই ল্যাংগুয়েজ সাপোর্ট করে না। তাই কো প্রোগ্রামের এই ভাষায় সরাসরি কোনো প্রোগ্রাম তৈরি করে না।


মেশিন ল্যাংগুয়েজের সুবিদা-

এই ভাষা অনুশীলনের মাধ্যমে কম্পিউটারের অভ্যন্তরীন সংগঠন সম্পর্কে ধারনা অর্জন করা সম্ভব।

যেহুতু কম্পিউটার সরাসরি বাইনারি ভাষা বুঝতে পারে তাই এই ভাষায় তৈরি প্রোগ্রামকে নির্বাহ করতে কম্পিউটারের সবছেয়ে কম সময়ের প্রয়োজন হয়।


মেশিন ল্যাংগুয়ের অসুবিদা-

প্রোগ্রাম রচনা অত্যান্ত ক্লান্তিকর ও সময়সাপেক্ষ।

এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য ধরনের মেশিনে ব্যাবহার করা যায়না।

প্রোগ্রাম রচনার জন্য কম্পিউটার সংগঠন সম্পর্কে ধারনা থাকা অপরিহার্য। 


৩. অ্যাসেম্বলি ল্যাংগুয়েজ

কম্পিউটার বা অনুরূপ যন্ত্রগুলো সরাসরি বুঝতে পারে এমন ভাষাকে অ্যাসেম্বলি ল্যাংগুয়েজ বলে। এই ল্যাংগুয়েজের প্রধান উপকরন হচ্ছে কিছু স্মৃতিসহায়ক শব্দ যেমন- Add, sub, mov, load ইত্যাদি। এই ভাষায় রচিত প্রোগ্রাম দক্ষ ও সংক্ষিপ্ত হয় এবং মেমোরি অ্যাড্রেসের প্রয়োজন হয় না। এই ভাষায় প্রোগ্রাম রচনা করলে ভুল ও কম হয়।


অ্যাসেম্বলি ল্যাংগুয়েজের সুবিদা-

ক. এই ভাষায় রচিত প্রোগ্রাম দক্ষ ও সংক্ষিপ্ত হয়।

খ. মেমোরি অ্যাড্রেসের বিবরনের প্রয়োজন হয় না।

গ. প্রোগ্রাম রচনায় ভুলের পরিমান কম হয়।


অ্যাসেম্বলি ল্যাংগুয়েজের অসুবিদা-

ক. প্রোগ্রাম রচনার জন্য মেশিনের অভ্যন্তরীন সংগঠন সম্পর্কে জানা প্রয়োজন হয়।

খ. এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য মেশিনে ব্যাবহার করা যায় না।

গ. প্রোগ্রাম নির্বাহের জন্য অনুবাদক প্রোগ্রাম অ্যাসেম্বলারের প্রয়োজন হয়।



মিড লেভেল ল্যাংগুয়েজ

যেই ল্যাংগুয়েজের মধ্যে হাই এবং লো ল্যাংগুয়েজের উভয় বৈশিষ্ট্য বিদ্যমান তাদেরকেই মিড লেভেল ল্যাংগুয়েজ বলে।



প্রোগ্রামিং ল্যাংগুয়েজের ইতিহাস

প্রোগ্রাবেভল ডিভাইসগুলো বহু শতাব্দী আগে থেকেই পৃথিবীতে বিদ্যমান। ৯ শতাব্দীর দিকে বনু মূসা ভাইরা একটি যান্ত্রিক বাশিঁ আবিস্কার করেছিলো যা স্বয়ংক্রিয় ছিলো। ১২০৬ সালে প্রকৌশলী আল জাজারি একটি প্রোগ্রাভেল ড্রাম মেশিন আবিস্কার করেন। ১৮০১ সালের দিকে জ্যাকর্ড প্রোগ্রামিংয়ে আমূল পরিবর্তন আনেন কাগজের চিদ্র দিয়ে এক ধরনের প্রোগ্রাম রচনা করে। মূলত আমরা যেইরকম ভাবে প্রোগ্রাম রচনা করি প্রায় তেমন ভাবেই সর্বপ্রথম প্রোগ্রাম রচনা করেন অ্যাডা লাভলেস ১৮৪৩ সালে এই জন্য তাকে আধুনিক প্রোগ্রামিং এর জনক ও বলা হয়।

একটি মন্তব্য পোস্ট করুন

0 মন্তব্যসমূহ