কম্পিউটার প্রোগ্রামিং কি?
কম্পিউটার প্রোগ্রামিং কি?
কম্পিউটার প্রোগ্রামিং হচ্ছে কম্পিউটারকে দিয়ে কোন কাজ করিয়ে নেওয়ার জন্য কম্পিউটারকে দেওয়া নির্দেশনা । আমরা যে গেম খেলছি, বা মিউজিক প্লেয়ার ওপেন করে একটা গান শুনছি, অথবা ইন্টারনেট ব্রাউজ করছি এগুলো কিন্তু কম্পিউটার নিজে নিজে করতে জানত না, কোন এক প্রোগ্রামার তাকে বলে রেখেছিল যে কেউ যদি গান শুনতে চায় তাহলে তাকে গান শুনিয়ে দিবে, পছন্দের গানগুলো আলাদা করে রাখবে, কেউ তুমার সাথে গেম খেলতে চাইলে তুমি এভাবে এভাবে খেলবে । এই যে কোন এক প্রোগ্রামার কম্পিউটারকে বলে দিয়েছে কিভাবে কাজ করতে হবে সেটাই হচ্ছে প্রোগ্রামিং । যিনি প্রোগ্রামিং করেন তাকে প্রোগ্রামার বলা হয় ।
কেন প্রোগ্রামিং ?
কেন প্রোগ্রামিং শিখবেন তাইতো? প্রোগ্রামিং শেখার হাজার হাজার কারণ রয়েছে । বর্তমান যুগ কম্পিউটারের যুগ কথাটা তো অবশ্যই জানেন । কম্পিউটারের কথায় চলে পুরো বিশ্ব আর সেই কম্পিউটার যদি আপনার কথায় চলে তাহলে ভাবুন কেমন লাগবে । কম্পিউটারকে নিজের কথায় চলাতে হলে আপনাকে প্রোগ্রামিং জানতে হবে । প্রোগ্রামিং জানা থাকলে অন্ত্যত এই কথাটাতো বলতে পারবেন যে আমি একজন প্রোগ্রামার । প্রোগ্রামিং জানা থাকলে আরও অনেক কিছু করতে পারবেন যেমনঃ- আপনি নিজে একটা গেম তৈরি করে ফেলতে পারবেন, সফটওয়্যার তৈরি করতে পারবেন, ওয়েবসাইট তৈরি করতে পারবেন, রোবট তৈরি করতে পারবেন, আরও অনেক কিছু । আপনার হাতের ঘড়ি, স্মার্টফোনের অ্যাপ্লিকেশান,আপনার ওয়ার্ড প্রসেসর, পাঁচতলায় উঠার জন্য লিফট, বিভিন্ন অনুস্টানের লাইটিং, আপনার আলার্ম, ক্যালকুলেটর সবকিছুই প্রোগ্রামিং দ্বারা তৈরি করা হয়েছে । এবং ভবিষ্যতে প্রোগ্রামিং পুরো পৃথিবীটাকেই পালটে দিবে, মানুষের চেয়েও বুদ্ধিমান হবে প্রটিটা যন্ত্র । মোটকথা প্রোগ্রামাররা পৃথিবী তৈরি করতে জানে । আর এজন্যই আপনি প্রোগ্রামিং শিখবেন ।
কেন প্রোগ্রামিং শিখবেন তাইতো? প্রোগ্রামিং শেখার হাজার হাজার কারণ রয়েছে । বর্তমান যুগ কম্পিউটারের যুগ কথাটা তো অবশ্যই জানেন । কম্পিউটারের কথায় চলে পুরো বিশ্ব আর সেই কম্পিউটার যদি আপনার কথায় চলে তাহলে ভাবুন কেমন লাগবে । কম্পিউটারকে নিজের কথায় চলাতে হলে আপনাকে প্রোগ্রামিং জানতে হবে । প্রোগ্রামিং জানা থাকলে অন্ত্যত এই কথাটাতো বলতে পারবেন যে আমি একজন প্রোগ্রামার । প্রোগ্রামিং জানা থাকলে আরও অনেক কিছু করতে পারবেন যেমনঃ- আপনি নিজে একটা গেম তৈরি করে ফেলতে পারবেন, সফটওয়্যার তৈরি করতে পারবেন, ওয়েবসাইট তৈরি করতে পারবেন, রোবট তৈরি করতে পারবেন, আরও অনেক কিছু । আপনার হাতের ঘড়ি, স্মার্টফোনের অ্যাপ্লিকেশান,আপনার ওয়ার্ড প্রসেসর, পাঁচতলায় উঠার জন্য লিফট, বিভিন্ন অনুস্টানের লাইটিং, আপনার আলার্ম, ক্যালকুলেটর সবকিছুই প্রোগ্রামিং দ্বারা তৈরি করা হয়েছে । এবং ভবিষ্যতে প্রোগ্রামিং পুরো পৃথিবীটাকেই পালটে দিবে, মানুষের চেয়েও বুদ্ধিমান হবে প্রটিটা যন্ত্র । মোটকথা প্রোগ্রামাররা পৃথিবী তৈরি করতে জানে । আর এজন্যই আপনি প্রোগ্রামিং শিখবেন ।
আমি প্রোগ্রামার হব ।
ভালো কথা । প্রোগ্রামিং একই সাথে সৃষ্টিশীল এবং অনেক মজার একটা জিনিস । বিভিন্ন সায়েন্স ফিকশান মুভিগুলোতে দেখে থাকবেন কিছু উদ্ভট মানুষ অন্ধকার ঘরে বসে সারাদিন শুধু কিবোর্ডে খটখট করছে । প্রোগ্রামিং এমন একটা নেশা । আপনিও যখন প্রোগ্রামিং শিখে যাবেন, বুদ্ধিমান প্রোগ্রাম রচনা করে ফেলতে পারবেন তখন আপনিও সারাদিন কম্পিউটার স্ক্রীনের সামনে বসে থাকতে চাইবেন । প্রোগ্রামার হতে হলে আপনাকে প্রথমেই জানতে হবে কম্পাইলারের কথা, প্রোগ্রামিং লাঙ্গুয়েজের কথা, ইনপুট/আউটপুট এর কথা, কিভাবে একটা প্রোগ্রাম কাজ করে সে সম্পর্কে ধারণা থাকা । আর মুক্ত জ্ঞ্যানের এই পৃথিবীতে আপনি ইন্টারনেটে সার্চ করেই সবকিছু সম্পর্কে জানতে পারবেন । আপনাকে শুধু জানার আগ্রহ, আর কম্পিউটারের প্রতি ভালোবাসা থাকতে হবে ।
ভালো কথা । প্রোগ্রামিং একই সাথে সৃষ্টিশীল এবং অনেক মজার একটা জিনিস । বিভিন্ন সায়েন্স ফিকশান মুভিগুলোতে দেখে থাকবেন কিছু উদ্ভট মানুষ অন্ধকার ঘরে বসে সারাদিন শুধু কিবোর্ডে খটখট করছে । প্রোগ্রামিং এমন একটা নেশা । আপনিও যখন প্রোগ্রামিং শিখে যাবেন, বুদ্ধিমান প্রোগ্রাম রচনা করে ফেলতে পারবেন তখন আপনিও সারাদিন কম্পিউটার স্ক্রীনের সামনে বসে থাকতে চাইবেন । প্রোগ্রামার হতে হলে আপনাকে প্রথমেই জানতে হবে কম্পাইলারের কথা, প্রোগ্রামিং লাঙ্গুয়েজের কথা, ইনপুট/আউটপুট এর কথা, কিভাবে একটা প্রোগ্রাম কাজ করে সে সম্পর্কে ধারণা থাকা । আর মুক্ত জ্ঞ্যানের এই পৃথিবীতে আপনি ইন্টারনেটে সার্চ করেই সবকিছু সম্পর্কে জানতে পারবেন । আপনাকে শুধু জানার আগ্রহ, আর কম্পিউটারের প্রতি ভালোবাসা থাকতে হবে ।
প্রোগ্রামিং ল্যাঙ্গুয়েজ কি?
শুরুতেই বলেছিলাম কম্পিউটারের ভাষা হচ্ছে ০ আর ১ বা বাইনারি । কম্পিউটার এই ভাষায় কথা বলে । অনেক অনেক আগে প্রোগ্রামাররা শুধু ০ আর ১ ব্যাবহার করেই প্রোগ্রামিং করত । একে বলা হত মেশিন ল্যাঙ্গুয়েজ । কিন্তু মেশিন ভাষায় প্রোগ্রামিং করার জন্য অনেক অনেক ০ আর ১ এর হিসাব জানতে হত যা একজন মানুষের পক্ষে অত্যন্ত কষ্টসাধ্য ছিল । তারপর প্রোগ্রামাররা তৈরি করল অ্যাসেম্বলি ল্যাংগুয়েজ । এই ভাষায় প্রোগ্রামাররা কিছু গাণিতিক চিহ্ন ব্যাবহার করে সহজে প্রোগ্রাম রচনা করতে পারত । কিন্তু এতেও প্রোগ্রামারদের মন ভরেনি । তারা অনুধাবন করল সকলেই যাতে প্রোগ্রামিং করতে পারে সেজন্য একটা কিছু করতে হবে । তাই তারা হাইলেভেলের প্রোগ্রামিং ল্যাংগুয়েজ তৈরি করে ফেলল, একদম আমদের ইংরেজি ভাষার সমতুল্য । এখন যে কেউ সহজেই কম্পিউটারের সাথে কথা বলতে পারে সহজেই । সুতরাং আমরা বুঝতে পারলাম প্রোগ্রামিং ল্যাংগুয়েজ হলো কম্পিউটারের সাথে কথা বলার জন্য বা প্রোগ্রামিং করার জন্য ব্যাবহ্রত ভাষা । আমরা মানুষরা যেমন কথা বলার জন্য বাংলা, ইংরেজি, আরবি, হিন্দি ইত্যাদি ভাষা ব্যাবহার করি তেমনি কম্পিউটারের সাথে ভাবের আদান-প্রদান করতে হলে প্রোগ্রামিং ল্যাংগুয়েজ জানতে হয় । বর্তমানের জনপ্রিয় এবং উচ্চস্তরের কিছু প্রোগ্রামিং ল্যাংগুয়েজ হলো C, C++, C#, Python, Java, Perl, Go, Swift, Basic, Pascalইত্যাদি এমন হাজারের উপরে ল্যাংগুয়েজ রয়েছে । ভিন্ন ভিন্ন কাজ করার জন্য ভিন্ন ভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ রয়েছে । যেমন আইফোনের অ্যাপ্লিকেশান তৈরি করার জন্য Swift , গনিতের হিসাব নিকাশ করার জন্য Wolfarmalpha, Fortran ইত্যাদি । তাছাড়া কিছু স্ট্যান্ডার্ড ল্যাংগুয়েজ রয়েছে যেগুলো দিয়ে সব ধরণের কাজই মোটামোটি করে ফেলা যায় । যেমনঃ- C, Python, Java .
শুরুতেই বলেছিলাম কম্পিউটারের ভাষা হচ্ছে ০ আর ১ বা বাইনারি । কম্পিউটার এই ভাষায় কথা বলে । অনেক অনেক আগে প্রোগ্রামাররা শুধু ০ আর ১ ব্যাবহার করেই প্রোগ্রামিং করত । একে বলা হত মেশিন ল্যাঙ্গুয়েজ । কিন্তু মেশিন ভাষায় প্রোগ্রামিং করার জন্য অনেক অনেক ০ আর ১ এর হিসাব জানতে হত যা একজন মানুষের পক্ষে অত্যন্ত কষ্টসাধ্য ছিল । তারপর প্রোগ্রামাররা তৈরি করল অ্যাসেম্বলি ল্যাংগুয়েজ । এই ভাষায় প্রোগ্রামাররা কিছু গাণিতিক চিহ্ন ব্যাবহার করে সহজে প্রোগ্রাম রচনা করতে পারত । কিন্তু এতেও প্রোগ্রামারদের মন ভরেনি । তারা অনুধাবন করল সকলেই যাতে প্রোগ্রামিং করতে পারে সেজন্য একটা কিছু করতে হবে । তাই তারা হাইলেভেলের প্রোগ্রামিং ল্যাংগুয়েজ তৈরি করে ফেলল, একদম আমদের ইংরেজি ভাষার সমতুল্য । এখন যে কেউ সহজেই কম্পিউটারের সাথে কথা বলতে পারে সহজেই । সুতরাং আমরা বুঝতে পারলাম প্রোগ্রামিং ল্যাংগুয়েজ হলো কম্পিউটারের সাথে কথা বলার জন্য বা প্রোগ্রামিং করার জন্য ব্যাবহ্রত ভাষা । আমরা মানুষরা যেমন কথা বলার জন্য বাংলা, ইংরেজি, আরবি, হিন্দি ইত্যাদি ভাষা ব্যাবহার করি তেমনি কম্পিউটারের সাথে ভাবের আদান-প্রদান করতে হলে প্রোগ্রামিং ল্যাংগুয়েজ জানতে হয় । বর্তমানের জনপ্রিয় এবং উচ্চস্তরের কিছু প্রোগ্রামিং ল্যাংগুয়েজ হলো C, C++, C#, Python, Java, Perl, Go, Swift, Basic, Pascalইত্যাদি এমন হাজারের উপরে ল্যাংগুয়েজ রয়েছে । ভিন্ন ভিন্ন কাজ করার জন্য ভিন্ন ভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ রয়েছে । যেমন আইফোনের অ্যাপ্লিকেশান তৈরি করার জন্য Swift , গনিতের হিসাব নিকাশ করার জন্য Wolfarmalpha, Fortran ইত্যাদি । তাছাড়া কিছু স্ট্যান্ডার্ড ল্যাংগুয়েজ রয়েছে যেগুলো দিয়ে সব ধরণের কাজই মোটামোটি করে ফেলা যায় । যেমনঃ- C, Python, Java .
কোন ল্যাংগুয়েজ শিখব?
এত এত ল্যাংগুয়েজ কি সবগুলোই শিখতে হবে । না । না সবগুলো শিখতে হবে না । যেকোন একটা ভালোভাবে শিখলেই আপনি একজন ভালো প্রোগ্রামার হতে পারবেন । আর একটা ল্যাংগুয়েজ শিখে গেলে অন্যগুলো সহজেই শিখে ফেলা যায় । একেক ল্যাংগুয়েজ একেক রকম হলেও এদের বেসিক কনসেপ্ট কিন্তু একই রকম । যেমন সবগুলো ল্যাংগুয়েজেই ভেরিয়েবল রয়েছে, কন্ডিশনাল লজিক রয়েছে, লুপ রয়েছে এবং কিছু ফাংশন রয়েছে । তবে ল্যাঙ্গুয়েজভেদে একেকটা একটু অন্যরকম । এই বেসিক বিষয়গুলো শিখে ফেললে যেকোন প্রোগ্রামিং ল্যাংগুয়েজ সহজেই আয়ত্তে আনা সম্ভব ।
এত এত ল্যাংগুয়েজ কি সবগুলোই শিখতে হবে । না । না সবগুলো শিখতে হবে না । যেকোন একটা ভালোভাবে শিখলেই আপনি একজন ভালো প্রোগ্রামার হতে পারবেন । আর একটা ল্যাংগুয়েজ শিখে গেলে অন্যগুলো সহজেই শিখে ফেলা যায় । একেক ল্যাংগুয়েজ একেক রকম হলেও এদের বেসিক কনসেপ্ট কিন্তু একই রকম । যেমন সবগুলো ল্যাংগুয়েজেই ভেরিয়েবল রয়েছে, কন্ডিশনাল লজিক রয়েছে, লুপ রয়েছে এবং কিছু ফাংশন রয়েছে । তবে ল্যাঙ্গুয়েজভেদে একেকটা একটু অন্যরকম । এই বেসিক বিষয়গুলো শিখে ফেললে যেকোন প্রোগ্রামিং ল্যাংগুয়েজ সহজেই আয়ত্তে আনা সম্ভব ।
কোনটা দিয়ে শুরু করব?
যেকোন একটা দিয়েই শুরু করতে পারেন । কথা না বাড়িয়েই বলে ফেলছি যে C অথবা Python দিয়ে শুরু করলে সবচেয়ে বেটার হবে এবং অনেক প্রোগ্রামাররাই এই দুইটার একটা দিয়ে প্রোগ্রামিং জগতে পা বাড়িয়েছিলেন । C অনেক অনেক পুরাতন কিন্তু জনপ্রিয় এবং শক্তিশালী একটা প্রোগ্রামিং ল্যাংগুয়েজ । C তে প্রোগ্রামিংয়ের সবগুলো স্ট্যান্ডার্ড বেসিক রয়েছে । তাই C শিখে গেলে অন্য যে কোন ল্যাংগুয়েজ সহজে শিখে ফেলা যাবে । বর্তমানে C এর পাশাপাশি Python ও প্রোগ্রামিং শেখা শুরু করার জন্য চমৎকার একটা ল্যাংগুয়েজ । বর্তমানে অনেক প্রতিস্টানেই পাইথন ব্যাবহার করে প্রোগ্রামিং শেখানো হয় । পাইথনও C এর মত শক্তিশালী এবং সহজ ও অবজেক্ট ওরিয়েন্টেড ফিচার সমৃদ্ধ একটি প্রোগ্রামিং ল্যাংগুয়েজ । আপনি দুইটার যেকোন একটা দিয়ে শুরু করতে পারেন ।
যেকোন একটা দিয়েই শুরু করতে পারেন । কথা না বাড়িয়েই বলে ফেলছি যে C অথবা Python দিয়ে শুরু করলে সবচেয়ে বেটার হবে এবং অনেক প্রোগ্রামাররাই এই দুইটার একটা দিয়ে প্রোগ্রামিং জগতে পা বাড়িয়েছিলেন । C অনেক অনেক পুরাতন কিন্তু জনপ্রিয় এবং শক্তিশালী একটা প্রোগ্রামিং ল্যাংগুয়েজ । C তে প্রোগ্রামিংয়ের সবগুলো স্ট্যান্ডার্ড বেসিক রয়েছে । তাই C শিখে গেলে অন্য যে কোন ল্যাংগুয়েজ সহজে শিখে ফেলা যাবে । বর্তমানে C এর পাশাপাশি Python ও প্রোগ্রামিং শেখা শুরু করার জন্য চমৎকার একটা ল্যাংগুয়েজ । বর্তমানে অনেক প্রতিস্টানেই পাইথন ব্যাবহার করে প্রোগ্রামিং শেখানো হয় । পাইথনও C এর মত শক্তিশালী এবং সহজ ও অবজেক্ট ওরিয়েন্টেড ফিচার সমৃদ্ধ একটি প্রোগ্রামিং ল্যাংগুয়েজ । আপনি দুইটার যেকোন একটা দিয়ে শুরু করতে পারেন ।
কিভাবে শিখব বা কোত্থেকে শিখব?
সি প্রোগ্রামিং লায়ঙ্গুয়েজ শিখতে চাইলে ভিজিট করুন http://cpbook.subeen.com
সি প্রোগ্রামিং লায়ঙ্গুয়েজ শিখতে চাইলে ভিজিট করুন http://cpbook.subeen.com
No comments