প্রোগ্রামিং (প্রথম পর্ব)

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


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

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


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


১। মেশিন ভাষা বা Machine Language
২। এসেম্বলি ভাষা বা Assembly Language
৩। মধ্যমস্তরের ভাষা বা Mid Level Language
৪। উচ্চস্তরের ভাষা বা High Level Language
৫। চতুর্থ প্রজন্মের ভাষা বা Fourth Generation Language


এই ভাষা গুলো পর্যায়ক্রমে উন্নত হয়েছে।
মেশিন ভাষা ইলেকট্রনিক্স হাই-ভোল্ট আর লো-ভোল্ট আর্থ্যৎ 0 আর 1 এর সমন্নয়ে তৈরি। এটি কম্পিউটারের ভাষা। এ ভাষায় প্রোগ্রামিং করা অনেক জটিল। কিন্তু কম্পিউটার এই ভাষা সরাসরি বুঝতে পারে। সুতরাং এই ভাষার জন্য কোন কম্পাইলার লাগে না।
কম্পাইলার হচ্ছে অনুবাদক,যেটা অন্যান্য প্রোগ্রামিং ভাষাকে কম্পিউটারের ভাষায়(মেশিন ভাষায়) রুপান্তর করে।
সিনট্যাক্স এরর: রুলস অনুযায়ী সেমিকোলন না দেওয়ায় ৮ম লাইন থেকে প্রোগ্রামটি রান করা বন্ধ করে দিয়েছে
এই কম্পাইলার শুধু অনুবাদের কাজ করেই করেই বসে থাকে না। বরং প্রোগ্রামটাতে কোন ভুলত্রুটি আছে কি না সেটা চেক করে। আর যদি কোন ভুল পেয়ে থাকে তাহলে তৎক্ষনাৎ প্রোগ্রামারকে একটা এরর নোটিফিকেশন দেখায়। ভুল সংশোধন না করা পর্যন্ত রেহাই থাকে না। কিন্তু সংশোধনের সাথে সাথে প্রোগ্রামটি রান করা শুরু করবে। এ ধরনের এররকে বলা হয় সিনটেক্স এরর। প্রোগ্রামিং ল্যাংগুয়েজগুলোর কিছু রুলস থাকে। যদি এই রুলসের বাইরে কোন কিছু করা হয় তাহলে সেটাই হচ্ছে সিনটেক্স এরর।

লজিক এরর: যোগের পরিবর্তে বিয়োগ দেওয়ায় আউটপুট ভুল আসছে

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

No comments