প্রোগ্রামিং-এর বিভিন্ন ক্ষেত্র ও তার জন্য উপযুক্ত প্রোগ্রামিং ভাষা

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

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

তাই এই লেখায় আমি কোন ক্ষেত্রে কোন প্রোগ্রামিং ভাষা উপযুক্ত তা নিয়ে একটি ছোট বিশ্লেষণ দেয়ার চেষ্টা করব।

ওয়েব ডেভেলপমেন্ট

ওয়েব ডেভেলপমেন্টের রিসোর্স হল একটি বিশাল সমুদ্রের মত। এখানে আছে HTML, CSS, JavaScript, PHP, wordpress ইত্যাদি। এক JavaScript এর অনেক রিসোর্স আছে ওয়েব ডেভেলপমেন্ট নিয়ে। আবার, শুধুমাত্র HTML, CSS দিয়েও ওয়েবের কাজ করতে পারবেন (শুধু ফ্রীল্যান্সিং যদিও)। আবার, JavaScript, PHP দিয়ে আপনি সার্ভার সাইডের কাজও করতে পারেন। আবার, wordpress দিয়ে পুরো একটি ওয়েবসাইটও বানিয়ে ফেলতে পারেন।

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

ফ্রন্টেন্ডের কাজের জন্য আপনাকে HTML, CSS, JavaScript এর ভাল জ্ঞান থাকতে হবে। পাশাপাশি আপনাকে কমপক্ষে একটি ফ্রেমওয়ার্কে দক্ষতা থাকতে হবে। ফ্রন্টেন্ডের কাজের জন্ JavaScript এর অনেক ফ্রেমওয়ার্ক আছে। যেমন, angular, react(library), vue, svelte, ember ইত্যাদি। এগুলোর যেকোন একটি শিখে আপনি আপনার ক্যারিয়ার গড়তে পারেন ফ্রন্টেন্ড ডেভেলপার হিসেবে।

ব্যাকেন্ড কাজের জন্য আপনাকে যেকোন প্রোগ্রামিং ভাষা ভাল্ভাবে জানতে হবে। সেইসাথে ওই ভাষার যেকোন একটি ফ্রেমওয়ার্কে দক্ষতা থাকতে হবে। এক্ষেত্রে আপনি যেকোন ভাষা নির্বাচন করতে পারেন। যেমন, Java, JavaScript, PHP, C#, Python, Ruby ইত্যাদি। এরপর, ভাষার সংশ্লিষ্ট ফ্রেমওয়ার্কে দক্ষতা অর্জন করতে হবে। প্রচলিত কিছু ফ্রেমওয়ার্ক হল,

C# – .net

Java – spring, hibernate

JavaScript – NodeJS (runtime environment)

PHP – Laravel, Codeigniter, Symfony

Python – Django, Flask

Ruby – rails

মনে রাখতে হবে, ফ্রন্টেন্ড ডেভেলপমেন্টের জন্য আপনাকে ভাল ডিজাইনের দক্ষতা থাকতে হবে। আবার, ব্যাকেন্ড ডেভেলপমেন্টের জন্য আপনাকে প্রোগ্রামিং দিয়ে ভাল সমস্যা সমাধানের দক্ষতা থাকতে হবে।

মোবাইল অ্যাপ্স ডেভেলপমেন্ট

ওয়েব ডেভেলপমেন্টের মত মোবাইল অ্যাপ্স ডেভেলপমেন্টেও অনেক রিসোর্স আছে। যেমন, Android, Kotlin, Flutter, React Native ইত্যাদি। Android এর জন্য আপনাকে java এ ভাল দক্ষতা অর্জন করতে হবে। Flutter এ যেতে হলে আপনাকে dart প্রোগ্রামিং ভাষাটি ভাল্ভাবে জানতে হবে। ডার্ট ভাষাটিতে অনেকগুলো ভাষার সংমিশ্রণ আছে। যেমন, c, c++, java, javaScript, python ইত্যাদি। তাই আপনার এই ভাষাগুলোর যেকোন একটিতে ভাল ধারনা থাকলে আপনি সহজে dart এ দক্ষ হতে পারবেন।

JavaScript দিয়েও মোবাইল অ্যাপ্স ডেভেলপমেন্টের কাজ করা যায়। এর জন্য কিছু রিসোর্স আছে যেমন, React Native, Ionic, Vue Mobile ইত্যাদি।

এই রিসোর্স গুলো দিয়ে আপনি যেকোন প্লাটফরমের জন্য অ্যাপ্স ডেভেলপ করতে পারবেন। তার আগে আসল প্রোগ্রামিং ভাষায় দক্ষ হতে ভুলবেন না।

গেম ডেভেলপমেন্ট

আমরা কম্পিউটার বা মোবাইলে অনেকে গেম খেলি। কেউ কেউ আছেন, ওগুলো খেলেন না, বানান। আর গেম ডেভেলপমেন্টের জন্য উপযুক্ত প্রোগ্রামিং ভাষা আছে। যদি গেম ইঞ্জিন দিয়ে গেম বানাতে চান তাহলে, c++ আর c# সবচেয়ে ভাল। কারন এগুলোর গেম ইঞ্জিন দিয়ে 2d/3d ও ভাল গ্রাফিক্স আর রেজলুশনের ভাল গেম ডেভেলপ করতে পারবেন। c++ এর কিছু ভাল গেম ইঞ্জিন হল unreal engine, 4A Engine, Adventure Game Studio, Aleph One। c# এর কিছু ভাল গেম ইঞ্জিন হল Unity, MonoGame, Godot, Stride

এছাড়া JavaScript ও HTML5 canvas দিয়েও আপনি গেম ডেভেলপমেন্ট করতে পারবেন। JavaScript এর কিছু গেম ইঞ্জিন বা লাইব্রেরি আছে যা দিয়ে আপনি 2d/3d গেম ডেভেলপ করতে পারবেন। যেমন, three.js, pixi.js, phaser.js, babylon.js ইত্যাদি।

ডাটা সায়েন্স

বর্তমান পৃথিবিতে সবচেয়ে চাহিদাসম্পন্ন জিনিস হল ডাটা বা তথ্য। এই তথ্য কে কাজে লাগিয়ে বিভিন্ন গ্রাহকের চাহিদা, কোন কিছুর পূর্বাভাস ইত্যাদি পাবার জন্য ডাটা সায়েন্স ব্যবহৃত হয়। এর সাথে আবার মেশিন লার্নিং, কৃত্রিম বুদ্ধিমত্তা একসাথে কাজ করে। এর জন্য সবচেয়ে উপযুক্ত ভাষা হল পাইথন। কারন, পাইথন এর লাইব্রেরি গুলো ডাটা সায়েন্সের জন্য খুবই ভাল। এগুলো দিয়ে তথ্য পড়া, বিভিন্ন ছক বা চার্টের মাধ্যমে গ্রাফিক্স দেখানো, কৃত্রিম বুদ্ধিমত্তা দিয়ে কোন কিছুর পূর্বাভাস পাবার কাজটি খুব ভালভাবে করা যায়। ডাটা সায়েন্সের জন্য কিছু পাইথন লাইব্রেরি হল, scikit-learn, keras, matplotlib, pandas ইত্যাদি।

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

সমস্যা সমাধানের জন্য আপনি hackerrank, codechef, leetcode এসব জায়গায় প্র্যাকটিস করতে পারেন।