হোম > ছাপা সংস্করণ

প্রোগ্রামিং শিখতে চাইলে

আনিসুল ইসলাম নাঈম

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

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

প্রোগ্রামিং ল্যাংগুয়েজ কী? 
প্রোগ্রামিং ল্যাংগুয়েজ হলো কম্পিউটারকে নির্দেশনা দেওয়ার জন্য কাঠামোভিত্তিক এবং নিয়মতান্ত্রিক ভাষা। প্রয়োজন এবং ধরনের ওপর ভিত্তি করে কোনো একটি সমস্যা সমাধান করার জন্য বিভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করা হয়। সাধারণ ব্যবহারের জন্য সি++, জাভা ও পাইথন জনপ্রিয়। এ ছাড়া ওয়েব অ্যাপ্লিকেশন ও ডেভেলপমেন্টের জন্যও জাভাস্ক্রিপ্ট ও পিএইচপি ব্যবহার করা হয়। 

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

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

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

কীভাবে শুরু করব? 
এখন ইন্টারনেটের যুগ, তাই নিজে এখন ঘরে বসেই প্রোগ্রামিং শেখা যায়। আমার মতে, একেবারেই নতুনদের একটি ইন্টারপ্রেটেড ল্যাংগুয়েজ পাইথন দিয়ে শেখা শুরু করা উচিত। এতে এর মেসেজগুলো বুঝতে বেশি সমস্যা হয় না। ইউটিউবে এমন অনেক কোর্স আছে, এর মধ্যে freeCodeCamp.org-এর কোর্সগুলো বেশ জনপ্রিয় এবং সহজে বোঝা যায় (https://www. youtube.com/watch? v=eWRfhZUzrAc)। এ ছাড়া আরেকটি চ্যানেল Telusko-ও বেশ জনপ্রিয়। এখানে ভিডিওগুলো বেশি বড় হয় না। তাই মনোযোগ ধরে রাখা সহজ হয়। তা ছাড়া বাজারে এখন অনেক বই এবং টিউটোরিয়াল পাওয়া যায়, যেগুলো ব্যবহার করে ঘরে বসেই প্রোগ্রামিং শেখা যায়। হাতেখড়ি হয়ে যাওয়ার পর যখন পাইথন কিছুটা আয়ত্তে চলে আসবে, তখন গুগল ফর এডুকেশনের পাইথন ক্লাস করা যেতে পারে (https://developers. google.com/edu/python), যা প্রফেশনাল ডেভেলপমেন্টের জন্য বেশ ভালো। 

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

ড. কিশোয়ার শাফিন, রিসার্চ সায়েন্টিস্ট, গুগল।    

অনুলিখন: আনিসুল ইসলাম নাঈম

শেখ হাসিনার বিরুদ্ধে মানবতাবিরোধী অপরাধের মামলায় শেষ সাক্ষীর জেরা চলছে

ঝাঁকে ঝাঁকে ইলিশ পাওয়ার আশায় সাগরে জেলেরা

ভারতের নিষেধাজ্ঞা: স্থলবন্দর থেকে ফেরত আসছে রপ্তানি পণ্য

নিলামে গৌতম বুদ্ধের রত্নসম্ভার

যুক্তরাষ্ট্র-চীনের সমালোচনা জাতিসংঘের উদ্বেগ

ভারতের হামলা, পাকিস্তানের প্রস্তুতি

মহাসড়কে ডাকাতি, লক্ষ্য প্রবাসীরা

বিআরটি লেনে বেসরকারি বাস

হইহুল্লোড় থেমে গেল আর্তচিৎকারে

সন্দ্বীপ সুরক্ষা প্রকল্প: এক বছরেও শুরু হয়নি কাজ