আনিসুল ইসলাম নাঈম
প্রোগ্রামিং মূলত কম্পিউটারকে দিয়ে কোনো একটি নির্দিষ্ট কাজ করতে নির্দেশনা দেওয়ার পদ্ধতি। কম্পিউটার নিজ থেকে ভাবতে পারে না, শুধু প্রদত্ত কমান্ড অনুসরণ করে কাজ করতে পারে। অর্থাৎ ঠিক যেভাবে কম্পিউটারকে বলা হবে, সেভাবে কাজ করবে। কম্পিউটার বাইনারি ভাষা বুঝে। তাই চাইলেই বাইনারিতে কোড লেখা যেতে পারে। তবে বাইনারিতে কোড লেখা অনেক কঠিন, তা প্রচুর সময় নেয়।
প্রোগ্রামিং ল্যাংগুয়েজ কী?
প্রোগ্রামিং ল্যাংগুয়েজ হলো কম্পিউটারকে নির্দেশনা দেওয়ার জন্য কাঠামোভিত্তিক এবং নিয়মতান্ত্রিক ভাষা। প্রয়োজন এবং ধরনের ওপর ভিত্তি করে কোনো একটি সমস্যা সমাধান করার জন্য বিভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করা হয়। সাধারণ ব্যবহারের জন্য সি++, জাভা ও পাইথন জনপ্রিয়। এ ছাড়া ওয়েব অ্যাপ্লিকেশন ও ডেভেলপমেন্টের জন্যও জাভাস্ক্রিপ্ট ও পিএইচপি ব্যবহার করা হয়।
সিএসইতে না পড়েও প্রোগ্রামিং শেখা যাবে?
প্রোগ্রামিং এখন শুধু একটি একাডেমিক মেজরের জন্য সীমাবদ্ধ নেই। কম্পিউটারে ডেটা প্রসেসিং করতে গেলেই যেহেতু প্রোগ্রামিংয়ের প্রয়োজন হয়, তাই প্রোগ্রামিং শেখা অনেক উপকারী দক্ষতাগুলোর একটি। অনেক আন্তবিভাগীয় বিষয়, যেমন বায়োইনফরমেটিকস, কেম-ইনফরমেটিকস, ডিজিটাল হিউম্যানিটিস, কম্পিউটেশনাল ফাইন্যান্সের এখন অনেক চাহিদা রয়েছে। এখন মেশিন লার্নিংয়ের মাধ্যমে বড় বড় ডেটাসেটে অনেক সমস্যা সমাধান করা হচ্ছে, যা আগে প্রায় অসম্ভব ছিল। যেহেতু ডেটা ম্যানিপুলেশন, প্রবাবিলিস্টিক মডেলিং, মেশিন লার্নিংয়ের জন্যও প্রোগ্রামিং প্রয়োজনীয়, তাই সিএসসিপড়ুয়াদের বাইরেও এখন প্রোগ্রামিংয়ের চাহিদা বাড়ছে।
প্রোগ্রামিং কেন শিখব?
প্রোগ্রামিংয়ের একদম বেসিক দুটো অ্যাপ্লিকেশন হলো ডেটা প্রসেসিং এবং ডেটা ভিজুয়ালাইজেশন, যা যেকোনো ক্ষেত্রে অনেক প্রয়োজনীয় একটি দক্ষতা। প্রোগ্রামিংয়ের মাধ্যমে নিজের সমস্যা সমাধানের দক্ষতাও বাড়িয়ে নেওয়া যায়। একটা বড় সমস্যাকে কীভাবে ছোট ছোট ভাগে ভাগ করে সেটা ধাপে ধাপে সমাধান করতে হয়, তা প্রোগ্রামিং শিখতে গেলে ভালোভাবে চর্চা হয়ে যায়, যা প্রোগ্রামিংয়ের বাইরেও অনেক সাহায্য করে। তা ছাড়াও কোন সমস্যার গভীরতা কতটা এবং সেটাকে বিভিন্ন দিক থেকে কীভাবে যাচাই করা যায়, সেটার চর্চাও হয়।
কী কী ল্যাংগুয়েজ শিখব?
অনেক ধরনের প্রোগ্রামিং ল্যাংগুয়েজ আছে, তাই ঠিক কোনটা শিখবেন এটা বলা একটু কঠিন। তবু আমার নিজস্ব মতামত হলো, কেউ যদি প্রোগ্রামিং এবং সফটওয়্যার ইঞ্জিনিয়ারিংয়ে ভালো করতে চায়, তাহলে তার অন্তত একটি কম্পাইলড ল্যাংগুয়েজ, যেমন সি++ আর একটি ইন্টারপ্রেটেড ল্যাংগুয়েজ এবং পাইথন জানা থাকা উচিত। অন্যদিকে কম্পাইলড ল্যাংগুয়েজে যেমন সি++ এ কোড প্রথমে মেশিন কোডে রূপান্তর করে তারপরে এক্সিকিউট করা হয়, কম্পাইলড ল্যাংগুয়েজের সিনট্যাক্স বা নিয়মগুলো একটু কঠিন হয় এবং কোথায় ভুল হচ্ছে তা বের করা একটু কঠিন হয়। কিন্তু কম্পাইলড ল্যাংগুয়েজ দ্রুত এক্সিকিউট হয় এবং সহজে স্কেল করা যায়, যা অনেক সফটওয়্যারের জন্যও বেশ প্রয়োজনীয়। বলে রাখা ভালো, পাইথনকে চাইলে কম্পাইলড ল্যাংগুয়েজ হিসেবেও ব্যবহার করা যায়। একটি কম্পাইলড এবং একটি ইন্টারপ্রেটেড ল্যাংগুয়েজ জানার সুবিধা হলো, আপনি খুব সহজেই ইন্টারপ্রেটেড ল্যাংগুয়েজ দিয়ে প্রোটোটাইপ করে ফেলতে পারবেন। আর কম্পাইলড ল্যাংগুয়েজ দিয়ে সমাধানটিকে প্রোডাকশনের জন্য তৈরি করতে পারবেন। যাদের ইচ্ছা যেকোনো একটি ল্যাংগুয়েজ শিখবেন। কিন্তু যারা সফটওয়্যার ইঞ্জিনিয়ার হতে চান না, তাদের এমন একটি সফটওয়্যার শেখা উচিত, যার সাপোর্ট অনেক ভালো। এখন পাইথনে অনেক মেশিন লার্নিং লাইব্রেরি এবং এপিআই সাপোর্ট আছে, যা পরবর্তী সময়ে অনেক কাজে দেয়। তবে কারও ওয়েব ডেভেলপমেন্ট বা ওয়েব অ্যাপ্লিকেশনে ঝোঁক থাকলে পিএইপি বা জাভাস্ক্রিপ্ট শিখতে পারেন। একাডেমিক কাজে এখন পাইথন অনেক বেশি ব্যবহার করা হয়। তাই হায়ার স্টাডি করতে গেলে পাইথনে ভালো দক্ষতা জরুরি।
কীভাবে শুরু করব?
এখন ইন্টারনেটের যুগ, তাই নিজে এখন ঘরে বসেই প্রোগ্রামিং শেখা যায়। আমার মতে, একেবারেই নতুনদের একটি ইন্টারপ্রেটেড ল্যাংগুয়েজ পাইথন দিয়ে শেখা শুরু করা উচিত। এতে এর মেসেজগুলো বুঝতে বেশি সমস্যা হয় না। ইউটিউবে এমন অনেক কোর্স আছে, এর মধ্যে freeCodeCamp.org-এর কোর্সগুলো বেশ জনপ্রিয় এবং সহজে বোঝা যায় (https://www. youtube.com/watch? v=eWRfhZUzrAc)। এ ছাড়া আরেকটি চ্যানেল Telusko-ও বেশ জনপ্রিয়। এখানে ভিডিওগুলো বেশি বড় হয় না। তাই মনোযোগ ধরে রাখা সহজ হয়। তা ছাড়া বাজারে এখন অনেক বই এবং টিউটোরিয়াল পাওয়া যায়, যেগুলো ব্যবহার করে ঘরে বসেই প্রোগ্রামিং শেখা যায়। হাতেখড়ি হয়ে যাওয়ার পর যখন পাইথন কিছুটা আয়ত্তে চলে আসবে, তখন গুগল ফর এডুকেশনের পাইথন ক্লাস করা যেতে পারে (https://developers. google.com/edu/python), যা প্রফেশনাল ডেভেলপমেন্টের জন্য বেশ ভালো।
প্রোগ্রামিং শিখে চাকরির সুযোগ কেমন?
ভালো সফটওয়্যার ইঞ্জিনিয়ার বা ওয়েব ডেভেলপার হিসেবে ক্যারিয়ার গড়তে পারলে দেশ ও দেশের বাইরে তার অনেক চাহিদা রয়েছে। প্রতিবছর বাংলাদেশ থেকে অনেকে সফটওয়্যার ইঞ্জিনিয়ার হিসেবে বিশ্বের বড় বড় প্রতিষ্ঠানে যোগদান করছেন। তবে প্রোগ্রামিংকে ক্যারিয়ার হিসেবে নিতে চাইলে নিজেকে অনেক ভালোভাবে প্রস্তুত করতে হবে এবং সমস্যা সমাধানের দিকে অনেক মনোযোগ দিতে হবে। এর বাইরেও এখন প্রায় সব প্রতিষ্ঠানেই প্রোগ্রামারের প্রয়োজন হয়। তাই সে ক্ষেত্রে অনেক বিকল্প থাকে। সফটওয়্যার ইঞ্জিনিয়ারিংয়ের বাইরেও প্রোগ্রামিং একটি কাঙ্ক্ষিত দক্ষতা, যা আপনাকে যেকোনো ক্ষেত্রে আলাদাভাবে প্রতিষ্ঠিত হতে সাহায্য করবে।
ড. কিশোয়ার শাফিন, রিসার্চ সায়েন্টিস্ট, গুগল।
অনুলিখন: আনিসুল ইসলাম নাঈম
প্রোগ্রামিং মূলত কম্পিউটারকে দিয়ে কোনো একটি নির্দিষ্ট কাজ করতে নির্দেশনা দেওয়ার পদ্ধতি। কম্পিউটার নিজ থেকে ভাবতে পারে না, শুধু প্রদত্ত কমান্ড অনুসরণ করে কাজ করতে পারে। অর্থাৎ ঠিক যেভাবে কম্পিউটারকে বলা হবে, সেভাবে কাজ করবে। কম্পিউটার বাইনারি ভাষা বুঝে। তাই চাইলেই বাইনারিতে কোড লেখা যেতে পারে। তবে বাইনারিতে কোড লেখা অনেক কঠিন, তা প্রচুর সময় নেয়।
প্রোগ্রামিং ল্যাংগুয়েজ কী?
প্রোগ্রামিং ল্যাংগুয়েজ হলো কম্পিউটারকে নির্দেশনা দেওয়ার জন্য কাঠামোভিত্তিক এবং নিয়মতান্ত্রিক ভাষা। প্রয়োজন এবং ধরনের ওপর ভিত্তি করে কোনো একটি সমস্যা সমাধান করার জন্য বিভিন্ন প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করা হয়। সাধারণ ব্যবহারের জন্য সি++, জাভা ও পাইথন জনপ্রিয়। এ ছাড়া ওয়েব অ্যাপ্লিকেশন ও ডেভেলপমেন্টের জন্যও জাভাস্ক্রিপ্ট ও পিএইচপি ব্যবহার করা হয়।
সিএসইতে না পড়েও প্রোগ্রামিং শেখা যাবে?
প্রোগ্রামিং এখন শুধু একটি একাডেমিক মেজরের জন্য সীমাবদ্ধ নেই। কম্পিউটারে ডেটা প্রসেসিং করতে গেলেই যেহেতু প্রোগ্রামিংয়ের প্রয়োজন হয়, তাই প্রোগ্রামিং শেখা অনেক উপকারী দক্ষতাগুলোর একটি। অনেক আন্তবিভাগীয় বিষয়, যেমন বায়োইনফরমেটিকস, কেম-ইনফরমেটিকস, ডিজিটাল হিউম্যানিটিস, কম্পিউটেশনাল ফাইন্যান্সের এখন অনেক চাহিদা রয়েছে। এখন মেশিন লার্নিংয়ের মাধ্যমে বড় বড় ডেটাসেটে অনেক সমস্যা সমাধান করা হচ্ছে, যা আগে প্রায় অসম্ভব ছিল। যেহেতু ডেটা ম্যানিপুলেশন, প্রবাবিলিস্টিক মডেলিং, মেশিন লার্নিংয়ের জন্যও প্রোগ্রামিং প্রয়োজনীয়, তাই সিএসসিপড়ুয়াদের বাইরেও এখন প্রোগ্রামিংয়ের চাহিদা বাড়ছে।
প্রোগ্রামিং কেন শিখব?
প্রোগ্রামিংয়ের একদম বেসিক দুটো অ্যাপ্লিকেশন হলো ডেটা প্রসেসিং এবং ডেটা ভিজুয়ালাইজেশন, যা যেকোনো ক্ষেত্রে অনেক প্রয়োজনীয় একটি দক্ষতা। প্রোগ্রামিংয়ের মাধ্যমে নিজের সমস্যা সমাধানের দক্ষতাও বাড়িয়ে নেওয়া যায়। একটা বড় সমস্যাকে কীভাবে ছোট ছোট ভাগে ভাগ করে সেটা ধাপে ধাপে সমাধান করতে হয়, তা প্রোগ্রামিং শিখতে গেলে ভালোভাবে চর্চা হয়ে যায়, যা প্রোগ্রামিংয়ের বাইরেও অনেক সাহায্য করে। তা ছাড়াও কোন সমস্যার গভীরতা কতটা এবং সেটাকে বিভিন্ন দিক থেকে কীভাবে যাচাই করা যায়, সেটার চর্চাও হয়।
কী কী ল্যাংগুয়েজ শিখব?
অনেক ধরনের প্রোগ্রামিং ল্যাংগুয়েজ আছে, তাই ঠিক কোনটা শিখবেন এটা বলা একটু কঠিন। তবু আমার নিজস্ব মতামত হলো, কেউ যদি প্রোগ্রামিং এবং সফটওয়্যার ইঞ্জিনিয়ারিংয়ে ভালো করতে চায়, তাহলে তার অন্তত একটি কম্পাইলড ল্যাংগুয়েজ, যেমন সি++ আর একটি ইন্টারপ্রেটেড ল্যাংগুয়েজ এবং পাইথন জানা থাকা উচিত। অন্যদিকে কম্পাইলড ল্যাংগুয়েজে যেমন সি++ এ কোড প্রথমে মেশিন কোডে রূপান্তর করে তারপরে এক্সিকিউট করা হয়, কম্পাইলড ল্যাংগুয়েজের সিনট্যাক্স বা নিয়মগুলো একটু কঠিন হয় এবং কোথায় ভুল হচ্ছে তা বের করা একটু কঠিন হয়। কিন্তু কম্পাইলড ল্যাংগুয়েজ দ্রুত এক্সিকিউট হয় এবং সহজে স্কেল করা যায়, যা অনেক সফটওয়্যারের জন্যও বেশ প্রয়োজনীয়। বলে রাখা ভালো, পাইথনকে চাইলে কম্পাইলড ল্যাংগুয়েজ হিসেবেও ব্যবহার করা যায়। একটি কম্পাইলড এবং একটি ইন্টারপ্রেটেড ল্যাংগুয়েজ জানার সুবিধা হলো, আপনি খুব সহজেই ইন্টারপ্রেটেড ল্যাংগুয়েজ দিয়ে প্রোটোটাইপ করে ফেলতে পারবেন। আর কম্পাইলড ল্যাংগুয়েজ দিয়ে সমাধানটিকে প্রোডাকশনের জন্য তৈরি করতে পারবেন। যাদের ইচ্ছা যেকোনো একটি ল্যাংগুয়েজ শিখবেন। কিন্তু যারা সফটওয়্যার ইঞ্জিনিয়ার হতে চান না, তাদের এমন একটি সফটওয়্যার শেখা উচিত, যার সাপোর্ট অনেক ভালো। এখন পাইথনে অনেক মেশিন লার্নিং লাইব্রেরি এবং এপিআই সাপোর্ট আছে, যা পরবর্তী সময়ে অনেক কাজে দেয়। তবে কারও ওয়েব ডেভেলপমেন্ট বা ওয়েব অ্যাপ্লিকেশনে ঝোঁক থাকলে পিএইপি বা জাভাস্ক্রিপ্ট শিখতে পারেন। একাডেমিক কাজে এখন পাইথন অনেক বেশি ব্যবহার করা হয়। তাই হায়ার স্টাডি করতে গেলে পাইথনে ভালো দক্ষতা জরুরি।
কীভাবে শুরু করব?
এখন ইন্টারনেটের যুগ, তাই নিজে এখন ঘরে বসেই প্রোগ্রামিং শেখা যায়। আমার মতে, একেবারেই নতুনদের একটি ইন্টারপ্রেটেড ল্যাংগুয়েজ পাইথন দিয়ে শেখা শুরু করা উচিত। এতে এর মেসেজগুলো বুঝতে বেশি সমস্যা হয় না। ইউটিউবে এমন অনেক কোর্স আছে, এর মধ্যে freeCodeCamp.org-এর কোর্সগুলো বেশ জনপ্রিয় এবং সহজে বোঝা যায় (https://www. youtube.com/watch? v=eWRfhZUzrAc)। এ ছাড়া আরেকটি চ্যানেল Telusko-ও বেশ জনপ্রিয়। এখানে ভিডিওগুলো বেশি বড় হয় না। তাই মনোযোগ ধরে রাখা সহজ হয়। তা ছাড়া বাজারে এখন অনেক বই এবং টিউটোরিয়াল পাওয়া যায়, যেগুলো ব্যবহার করে ঘরে বসেই প্রোগ্রামিং শেখা যায়। হাতেখড়ি হয়ে যাওয়ার পর যখন পাইথন কিছুটা আয়ত্তে চলে আসবে, তখন গুগল ফর এডুকেশনের পাইথন ক্লাস করা যেতে পারে (https://developers. google.com/edu/python), যা প্রফেশনাল ডেভেলপমেন্টের জন্য বেশ ভালো।
প্রোগ্রামিং শিখে চাকরির সুযোগ কেমন?
ভালো সফটওয়্যার ইঞ্জিনিয়ার বা ওয়েব ডেভেলপার হিসেবে ক্যারিয়ার গড়তে পারলে দেশ ও দেশের বাইরে তার অনেক চাহিদা রয়েছে। প্রতিবছর বাংলাদেশ থেকে অনেকে সফটওয়্যার ইঞ্জিনিয়ার হিসেবে বিশ্বের বড় বড় প্রতিষ্ঠানে যোগদান করছেন। তবে প্রোগ্রামিংকে ক্যারিয়ার হিসেবে নিতে চাইলে নিজেকে অনেক ভালোভাবে প্রস্তুত করতে হবে এবং সমস্যা সমাধানের দিকে অনেক মনোযোগ দিতে হবে। এর বাইরেও এখন প্রায় সব প্রতিষ্ঠানেই প্রোগ্রামারের প্রয়োজন হয়। তাই সে ক্ষেত্রে অনেক বিকল্প থাকে। সফটওয়্যার ইঞ্জিনিয়ারিংয়ের বাইরেও প্রোগ্রামিং একটি কাঙ্ক্ষিত দক্ষতা, যা আপনাকে যেকোনো ক্ষেত্রে আলাদাভাবে প্রতিষ্ঠিত হতে সাহায্য করবে।
ড. কিশোয়ার শাফিন, রিসার্চ সায়েন্টিস্ট, গুগল।
অনুলিখন: আনিসুল ইসলাম নাঈম
ঝড়-জলোচ্ছ্বাস থেকে রক্ষায় সন্দ্বীপের ব্লক বেড়িবাঁধসহ একাধিক প্রকল্প হাতে নিয়েছে সরকার। এ লক্ষ্যে বরাদ্দ দেওয়া হয়েছে ৫৬২ কোটি টাকা। এ জন্য টেন্ডারও হয়েছে। প্রায় এক বছর পেরিয়ে গেলেও ঠিকাদারি প্রতিষ্ঠানগুলো কাজ শুরু করছে না। পানি উন্নয়ন বোর্ডের (পাউবো) তাগাদায়ও কোনো কাজ হচ্ছে না বলে জানিয়েছেন...
৩ দিন আগেদেশের পরিবহন খাতের অন্যতম নিয়ন্ত্রণকারী ঢাকা সড়ক পরিবহন মালিক সমিতির কমিটির বৈধতা নিয়ে প্রশ্ন উঠেছে। সাইফুল আলমের নেতৃত্বাধীন এ কমিটিকে নিবন্ধন দেয়নি শ্রম অধিদপ্তর। তবে এটি কার্যক্রম চালাচ্ছে। কমিটির নেতারা অংশ নিচ্ছেন ঢাকা পরিবহন সমন্বয় কর্তৃপক্ষ (ডিটিসিএ) ও বাংলাদেশ সড়ক পরিবহন কর্তৃপক্ষের...
৩ দিন আগেআলুর দাম নিয়ন্ত্রণে ব্যর্থ হয়ে এবার নিজেই বিক্রির উদ্যোগ নিয়েছে সরকার। বাজার স্থিতিশীল রাখতে ট্রেডিং করপোরেশন অব বাংলাদেশের (টিসিবি) মাধ্যমে রাজধানীতে ভ্রাম্যমাণ ট্রাকের মাধ্যমে ভর্তুকি মূল্যে আলু বিক্রি করা হবে। একজন গ্রাহক ৪০ টাকা দরে সর্বোচ্চ তিন কেজি আলু কিনতে পারবেন...
৩ দিন আগেসপ্তাহখানেক আগে সামাজিক যোগাযোগমাধ্যম ফেসবুকে অনেকের ওয়াল বিষাদময় হয়ে উঠেছিল ফুলের মতো ছোট্ট শিশু মুনতাহাকে হত্যার ঘটনায়। ৫ বছর বয়সী সিলেটের এই শিশুকে অপহরণের পর হত্যা করে লাশ গুম করতে ডোবায় ফেলে রাখা হয়েছিল। প্রতিবেশী গৃহশিক্ষকের পরিকল্পনায় অপহরণের পর তাকে নির্মমভাবে হত্যা করা হয়...
৩ দিন আগে