প্রোগ্রাম ল্যাঙ্গুয়েজ কী? প্রোগ্রাম লেখার ধাপ নির্ণয়

প্রোগ্রাম ল্যাঙ্গুয়েজঃ প্রোগ্রামিং ল্যাংগুয়েজ নিয়ে যারা পড়াশোনা করতে চাচ্ছেন বা শুরু করতে যাচ্ছেন তাদের জন্য প্রোগ্রামিং এর উপর কিছু প্রয়োজনীয় তথ্য শেয়ার করা হল। কম্পিউটার প্রোগ্রামিং শিখতে গেলে এই তথ্যগুলি জানা থাকলে ভালো হয়।
প্রােগ্রাম ল্যাঙ্গুয়েজঃ কম্পিউটারকে কোন কাজ সম্পাদনের জন্য যে নির্দেশ দেওয়া হয়, সেগুলি যে বিশেষ ভাষায় লেখা হয় তাকে বলে প্রােগ্রাম ল্যাঙ্গুয়েজ।
প্রোগ্রাম ল্যাঙ্গুয়েজ কী? প্রোগ্রাম লেখার ধাপ নির্ণয়
প্রোগ্রামিং ভাষা (programming language) হচ্ছে এক ধরনের কৃত্রিম ভাষা (artificial language) যা কোন যন্ত্রের, বিশেষ করে কম্পিউটারের আচরণ নিয়ন্ত্রণ করার জন্য ব্যবহার করা হয়। মানুষের মুখের স্বাভাবিক ভাষাগুলোর মত প্রোগ্রামিং ভাষাগুলোও বাক্যতাত্ত্বিক (syntactic বা বাক্যস্থিত বিভিন্ন পদের মধ্যে সম্পর্ক কী হবে সে-সংক্রান্ত) ও আর্থ (semantic বা শব্দের অর্থসংক্রান্ত) নিয়ম মেনে চলে।
তথ্য সুবিন্যস্তকরণ ও প্রক্রিয়াকরণে এবং অ্যালগোরিদমসমূহ নির্ভুলভাবে প্রকাশ করতে প্রোগ্রামিং ভাষা ব্যবহার করা হয়। কিছু কিছু লেখক প্রোগ্রামিং ভাষা বলতে কেবল সেই সব ভাষাকে বোঝান যেগুলো সম্ভাব্য সমস্ত অ্যালগোরিদম প্রকাশে সক্ষম; কখনো কখনো সরল ধরনের কৃত্রিম ভাষাগুলোকে প্রোগ্রামিং ভাষা না বলে ‘কম্পিউটার ভাষা (computer language) বলা হয়।
প্রোগ্রাম লেখার ধাপ নির্ণয়
যে-কোনাে ধরনের সমস্যার ক্ষেত্রে আমরা কম্পিউটারে প্রয়ােজনীয় তথ্যর যােগান দেবার পর কম্পিউটার নির্দিষ্ট পদ্ধতি অনুসারে প্রাপ্ত তথ্য থেকে সমস্যার সমাধান করে তার ফল নির্ণয় করে। সমস্যা সমাধানের এই পদ্ধতিটি প্রােগ্রাম নামে পরিচিত। অর্থাৎ প্রােগ্রাম হল কম্পিউটারের বােধগম্য ভাষায় লিখিত একগুচ্ছ নিয়মের সমষ্টি যা একটি নির্দিষ্ট পদ্ধতি অনুসরণ করে কোনাে সমস্যা সমাধান করে। কম্পিউটার প্রোগ্রাম লেখার জন্য কতকগুলি সাধারণ নিয়ম অনুসরণ করা যায়।
প্রথম পর্যায়েঃ সমস্যা সমাধানের জন্য পৃথক পৃথক ধাপ ক্রমান্বয়ে অনুসরণ করা হয়। এই ধাপগুলি সাধারণত সহজ বােধগম্য ইংরেজিতে লেখা হয়। ক্রমপর্যায়ে লিখিত এই ধাপগুলিকে একত্রে অ্যালগােরিদম (Algorithm) বলা
দ্বিতীয় পর্যায়েঃ সমস্যা সমাধানের জন্য প্রস্তুত ক্রমপর্যায়ে গঠিত এই ধাপগুলিকে ছবির সাহায্যে প্রকাশ করা হয়, যা ফ্লো-চার্ট (Flow-Chart) বা প্রবাহচিত্র নামে পরিচিত। এই ফ্লো-চার্টের ক্ষেত্রে সমস্যাটি সমাধানের উপায় হিসাবে, নির্দেশগুলির ক্রমপর্যায়ে পরিকল্পনা করে সেই অনুযায়ী যুক্তিগ্রাহ্য পথ অনুসরণ করে তার সরলীকৃত প্রবাহপথ অনুসরণ করা হয়।
পরিশেষেঃ প্রবাহচিত্রের মাধ্যমে অঙ্কিত নির্দেশগুলিকে কম্পিউটারের গ্রহণযােগ্য পরিভাষায় লেখা হয়। নির্দেশগুলিকে কম্পিউটার পরিভাষায় প্রকাশ করাকে বলা হয় কোডিং (Coding)। অর্থাৎ কম্পিউটার প্রােগ্রামারের ভাষাকে কম্পাইলার বা অ্যাসেম্বলার এর সহায়তায় কম্পিউটারের বােধগম্য পরিভাষায় রূপান্তরিত করাই হল কোডিং।
অ্যালগরিদম (Algorithms):
সাধারণ সহজবােধ্য ইংরেজিতে ধাপে ধাপে লিখিত সমস্যা সমাধানের পদ্ধতি অ্যালগোরিদম নামে অভিহিত। অ্যালগােরিদমের ক্ষেত্রে সমস্যাটি সমাধানের জন্য একাধিক বিষয় (alternative) নেওয়া হয়। যেমন, প্রতিদিন বাড়ি গিয়ে হাত মুখ ধোয়ার সমস্যাটিকে অ্যালগরিদমের সাহায্যে প্রকাশ করলে –
ধাপ | কাজ |
1 | জামাকাপড় ছাড়া |
2 | বাথরুমে যাওয়া |
3 | হাতেমুখে জল দেওয়া |
4 | সাবান নেওয়া |
5 | হাতেমুখে সাবান দেওয়া |
6 | সাবানটি যথাস্থানে রেখে দেওয়া |
7 | জল দিয়ে হাতমুখের সাবান দিয়ে |
8 | শুকনাে গামছা বা তােয়ালে দিয়ে মোছা |
9 | বাথরুম থেকে বেড়িয়ে আসা |
আবার, একই রকম ভাবে দোকানে একটি পেন কিনতে যাওয়ার বিষয়টি অ্যালগেোরিদমের সাহায্য বেঝানাে যায়।
ধাপ | কাজ |
1 | পয়সার ব্যাগটি নেওয়া |
2 | বাড়ি থেকে বের হওয়া |
3 | দোকানে যাওয়া |
4 | পেনটি পছন্দ করা |
5 | যথাযথ পয়সা দেওয়া |
6 | পেনটি পকেটে নেওয়া |
7 | বাড়িতে আসা |
এটিও পড়ুন – KTurtle প্রোগ্রামিং এর কম্যান্ড – 100+ কোটার্টল কমান্ড
অ্যালগােরিদমের বৈশিষ্ট্যঃ
- ‘0’ অথবা তার বেশি ইনপুট (Input) থাকতে পারে।
- অবশ্যই কমপক্ষে একটি আউটপুট (Output) থাকবে।
- প্রতিটি নির্দেশ একটি অর্থবহ (unambigious) হবে।
- যখনই হােক তা অবশ্যই শেষ হবে (must be terminated)।
- অ্যালগরিদম এতই সাবলীল হবে তা কাগজ-কলমের সাহায্যেই বোঝানো সম্ভব।
প্রোগ্রাম শুরু করার আগে যে বিষয়গুলি সম্পর্কে আর জানতে হবে সেগুলো হল – কম্পাইলার, ইন্টারপ্রেটার, অ্যাসেম্বলার, ভিস্যুয়াল ল্যাঙ্গুয়েজ, এডিটর। নিম্নে এগুলি নিয়ে আলোচনা করা হল-
কম্পাইলারঃ
হাই লেবেল ল্যাঙ্গুয়েজ কে মেশিন ল্যাঙ্গুয়েজে বিপারিত করতে হলে যে বিশেষ সফটওয়্যারের প্রয়োজন হয় তাকে বলে কম্পাইলার। কম্পাইলার হাই লেবেল লেখা সম্পূর্ণ প্রােগ্রামটিকে একবারে পড়ে তাকে রূপান্তরিত করে মেশিন কোডে। এই পরিবর্তিত প্রোগ্রাম ভবিষ্যতের কাজের জন্য মেশিনে স্থায়ীভাবে সঞ্চিত হয়ে যায়। আবার প্রােগ্রামের কোথাও ভুল থাকলে তবে তা লাইন নাম্বার দিয়ে ব্যবহারকারীর সম্মুখে উপস্থিত করে। এই রূপা গুরিত প্রোগ্রামকে বলা হয় অবজেক্ট প্রোগ্রাম।
ইন্টারপ্রেটারঃ
হাই লেবেল ল্যাঙ্গুয়েজ কে মেশিন ল্যাঙ্গুয়েজে রূপান্তরিত করতে হলে, কম্পাইলার ছাড়াও আরাে এক ধরনের সফটওয়্যার রয়েছে যা পরিচিত ইন্টারপ্রেটার নামে। ইন্টারপ্রেটার (interpreter) কম্পাইলারের তুলনায় আকারে ছােটো এবং ইন্টারপ্রেটার দ্বারা সৃষ্ট অবজেক্ট প্রোগ্রাম স্থায়ীভাবে মেশিনে সতি থাকে না। আবার
ইন্টারপ্রেটার প্রোগ্রাম প্রতিটি স্টেটমেন্টকে একের পর এক রূপান্তরিত করে ও তাকে কার্যে পরিণত করে বলে এর ফলে অবজেক্ট প্রোগ্রাম কম্পাইলারের তুলনায় ধীরগতিসম্পন্ন হয়।
** প্রোগ্রাম ল্যাঙ্গুয়েজ কী? প্রোগ্রাম লেখার ধাপ নির্ণয়
অ্যাসেম্বলারঃ
অ্যাসেম্বলি ল্যাঙ্গুয়েজ কে মেশিন ল্যাঙ্গুয়েজে পরিণত করে যে বিশেষ সফটওয়্যার তা পরিচিত অ্যাসেম্বলার (assembler) নামে।
ভিস্যুয়াল ল্যাঙ্গুয়েজঃ
70 – 80 দশকে কম্পিউটারের প্রােগ্রাম লিখতে টেক্সট মােড ব্যবহৃত হত। কিন্তু GUI (Graphical User Interface) আবিষ্কৃত হবার সঙ্গে সঙ্গে মনিটরের স্ক্রিনে শুধু লেখা নয়, তার সঙ্গে ছবিও দেখা যেতে লাগল। প্রােগ্রাম ল্যাঙ্গুয়েজ উন্নত হল—ভিজ্যুয়াল ল্যাঙ্গুয়েজ-এর উদ্ভব ঘটল। এর ফলস্বরূপ Visual C++, Visual Basic ইত্যাদির সূচনা হল এবং প্রোগ্রাম লেখার সময় এইসব ভিস্যুয়াল ল্যাঙ্গুয়েজের কন্ট্রোল টুলবক্সের সাহায্যে খুব অল্প সময়ে সুন্দর প্রােগ্রাম তৈরি করা সম্ভব হল। এডিটর।
এডিটরঃ নােটপ্যাড ইত্যাদির মধ্যে অনেক প্রােগ্রাম লেখা সম্ভব হয়। নােট প্যাড একটি টেক্সট বিশেষত |TML প্রােগ্রাম লেখার সময় নােট প্যাড টেক্সট এডিটর ব্যবহৃত হয়।
ট্যাগঃ প্রোগ্রাম ল্যাঙ্গুয়েজ কী? জেনে নিন প্রোগ্রাম ল্যাঙ্গুয়েজ কী? প্রোগ্রাম ল্যাঙ্গুয়েজ লেখার ধাপ নির্ণয়?