আপনি কি কখনো মনিটরে চোখ বুঁদিয়ে বসে থাকেন, "আজকে কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখব?" চিন্তা করেন? আমাদের কাছে আপনার জন্য উত্তর থাকতে পারে।
এতগুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ থাকায় কীগুলো আপনার টাইম ইনভেস্ট করার লायक সেটা বের করা একটু চোরা কাজ। শর্ট আনসার: সব গুলো—কারণ প্রতিটি ল্যাঙ্গুয়েজের নিজস্ব ইউজ কেস রয়েছে এক বা অন্য রূপে। কিন্তু যাদের অসীম টাইম নেই, তাদের জন্যই জনপ্রিয় চয়েসগুলোতে ফোকাস করা বুদ্ধিমানের কাজ।
নতুন প্রোগ্রামিং ল্যাঙ্গুয়েজ বার বার আসছে কিন্তু কয়েকটি টাইম-টেস্টেড ল্যাঙ্গুয়েজ রয়েছে যা অবসোলescence-এ টিকে রয়েছে। এই প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো সবচেয়ে বেশি ডিমান্ডে, স্টেবল, এবং প্রায়শই জব অপারচুনিটি দেয়।
একাধিক প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখা বেনিফিশিয়াল, বিশেষ করে প্রোগ্রামার ও সিনিয়র ডেভেলপারদের জন্য—অকুপেশনাল টুলবক্সে আরও টুল যোগ হয়।
আমাদের লিস্টের প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো (কয়েকটি আউটলায়ারের সাথে) শিখলে আপনাকে ইন-ডিমান্ড নলেজের একটি অ্যাসোর্টমেন্ট মिलेगा যা ডেভেলপমেন্ট ও প্রোগ্রামিং ফিল্ডের টপ-পেয়িং জবগুলো খুঁজে।
কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখব?
আমরা ৮টি (এবং কয়েকটি আউটলায়ার) সবচেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজের লিস্ট দিয়েছি যেগুলো প্রোগ্রামিং ও ডেভেলপমেন্টে যারা যেতে চান তাদের কर्णধার।
Java
Java সম্ভবত দুনিয়ার সবচেয়ে বিখ্যাত প্রোগ্রামিং ল্যাঙ্গুয়েজ। এর উদ্দেশ্য: সার্ভার-সাইড অ্যাপ্লিকেশন থেকে মোবাইল অ্যাপ এবং ভিডিও গেম ডেভেলপমেন্ট যা ক্রস-প্ল্যাটফর্ম কম্পিউটিং এনভায়রনমেন্টে ডিপ্লয় করা যায়।
Android অ্যাপ ডেভেলপমেন্টের বেসিস—Android অ্যাপ ডেভেলপমেন্টে আগ্রহী কারো জন্য এটি আবশ্যক। সফটওয়্যার ইঞ্জিনিয়ার হওয়ার আকাঙ্ক্ষীরা এই ল্যাঙ্গুয়েজকে ধর্মভাবে গ্রহণ করলে ভালো।
ওয়েব ও ডেস্কটপ অ্যাপ ডেভেলপমেন্টেও ব্যবহৃত হয় যা "রাইট-ওন্স, রান এনിവ्हেয়ার" ল্যাঙ্গুয়েজের সুবিধা নেয়। শেখা তুলনামূলক সহজ এবং বিশ্বব্যাপী কর্মদাতারা এই স্কিল খুঁজে।
কোথায় শিখব
Java শিখতে ফ্রি হেল্প প্রচুর। সবচেয়ে জনপ্রিয় কোর্স: Udemy-র "The Complete Java Masterclass"। বিগিনার ও Java ডেভেলপার দুটোর জন্যই সেটা সবচেয়ে কম্প্লিট কোর্স হিসেবে বিবেচিত।
Python
শেখার সবচেয়ে সহজ প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে বিবেচিত, Python ওয়েব অ্যাপ্লিকেশন ডিজাইনের ক্রিম অফ দ্য ক্রপ। Pinterest এবং Instagram-এর মতো ওয়েবসাইটের সৃষ্টিতে Python-র হাত রয়েছে।
এই ল্যাঙ্গুয়েজ আজ সবচেয়ে বেশি ডিমান্ডে এবং ২০২৪ সালে আপনি শিখতে পারেন সবচেয়ে গুরুত্বপূর্ণ ল্যাঙ্গুয়েজ (ক্যারিয়ার পাথ যাই হোক)। ইতিমধ্যে ইউনিভার্সিটি ও একাডেমিয়ায় সবচেয়ে বেশি শেখানো হয়ে Java-কে পিছিয়ে দিয়েছে।
Python মাল্টিপল সিস্টেম ও প্ল্যাটফর্ম সাপোর্ট করে, প্রোগ্রামার প্রোডাক্টিভিটি বেড়ায়, অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং-ড্রাইভেন। মেশিন লার্নিং, AI, ডেটা সাইয়েন্সে আগ্রহীদের लिये আニュअল মিডিয়ান স্যালারি প্রায় $১১২k।
কোথায় শিখব
Python-এ যেতে চাইলে Python.org গরেট প্লেস। কয়েক টাকা খরচ করতে মেনে নিলে "Python Fundamentals" বিগিনারদের জন্য চমৎকার কোর্স।
C/C++
কলেজে বা হাই স্কুল কম্পিউটার সাইন্স ক্লাসে আপনি যা প্রথম প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখবেন সেটা प्रায়শই C/C++। উভয়ই Evergreen ল্যাঙ্গুয়েজ। বুঝতে হবে: কর্মসংস্থানের জন্য আপনি যদি এই ল্যাঙ্গুয়েজগুলো ব্যবহার করতে চান, হাই স্কুলে যা শিখানো হয় সেটা প্রায় প্র্যাপারেশনই নয়।
ইন্টারনেটে C++-এর ফ্রি কোর্স প্রচুর—বিগিনার থেকে ইন্টারমিডিয়েট লেভেল। প্রোগ্রামিং ওয়ার্ল্ডে নতুন হন বা ক্যারিয়ার চয়েস কনফิร์ম না হলে C/C++ থেকে শুরু করা চমৎকার প্লেস।
C-এ টাইম স্পেন্ড করলে আপনি দেখবেন এই ইজি-টু-লার্ন ল্যাঙ্গুয়েজ আসলে অন্যান্য হায়ার-লেভেল ল্যাঙ্গুয়েজের বেসিস। এটি Java এবং Python-এর মতো আরও ডিমান্ডেড ল্যাঙ্গুয়েজের সাথে পরিচিত হতে সাহায্য করবে।
কোথায় শিখব
Udemy-এ C/C++-এর গ্রেট কোর্স প্রচুর। "C++ Tutorial for Complete Beginners" বা "C++ Programming Basics" ট্রাই করুন—দুটোই ফ্রি।
C#
এখানে আরেকটি C ল্যাঙ্গুয়েজ: C#। Microsoft অ্যাপ ডেভেলপমেন্টের জন্য সেরা প্রোগ্রামিং ল্যাঙ্গুয়েজের একটি। PC এবং ওয়েব-দুইটোর GUI (Graphical User-Interface) ডেভেলপমেন্টে আগ্রহীকে এই ল্যাঙ্গুয়েজ নলেজ বেনিফিট করবে।
Java-এ প্রিয়র নলেজ থাকলে C#-এ আরও বেনিফিট—সিনট্যাক্স সিমিলার। C# .NET ফ্রেমওয়ার্কের দায়ী এবং PC/কনসোল গেম ডেভেলপমেন্টে ব্যাপকভাবে ব্যবহৃত।
C#-র আজকের কি রিকোয়ারমেন্ট: Unity ইঞ্জিন দিয়ে গেম ডেভেলপমেন্টে ফোকাস। নিজস্ব ভিডিও গেম ডেভেলপমেন্টে যেতে চাইলে Unity বুড়ো প্লেস নয়। ফ্রি এবং জেনারেলি সিম্পল (কিছুটা লিমিটেড)। C# Beschäftigungsfront-এ একসামনে সেই জনপ্রিয় বা লুক্রেটিভ নয় কিন্তু আপনার প্রোগ্রামিং ল্যাঙ্গুয়েজ আর্সেনালে যোগ করলে প্রয়োজন পড়লে কাজে লাগবে।
কোথায় শিখব
Unity Game Development-এ যেতে চাইলে Udemy-র "Complete C# Unity Developer 2D: Learn to Code Making Games" এক্সিলেন্ট চয়েস। C# এবং Unity-এর অন্যান্য ইউজের জন্য Coursera-র "Introduction to C# Programming and Unity" এনরোল করুন।
JavaScript
আপনার প্রাইমারি ফোকাস যদি এমন একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখা যা সবসময় ইউজফুল থাকবে, তবে JavaScript বিল ফিট করে। JavaScript রিলেটিভলি সিম্পল টু লার্ন, অন্যান্য ল্যাঙ্গুয়েজের সাথে স্মুথলি কাজ করে বিভিন্ন অ্যাপ্লিকেশনে, ক্লায়েন্ট-সাইড ব্রাউজারে দ্রুত রান করে (NodeJS দিয়ে সার্ভার-সাইডও), ইন্টারনেটে যেকোনো জায়গায় পাওয়া যায়।
ওয়েব ও মোবাইল ডেভেলপমেন্ট, গেম ডেভেলপমেন্ট, ডেস্কটপ অ্যাপ ডেভেলপমেন্ট—JavaScript একটি অনिवার্য ল্যাঙ্গুয়েজ যা চলমান উন্নত হচ্ছে।
TypeScript (JavaScript-এর সুপারসেট) ২০১৯ সালের সবচেয়ে লাভড ল্যাঙ্গুয়েজের একটি। Facebook-ও সहमত—Jest (JavaScript Testing) Flow-র থেকে TypeScript-এ সরিয়েছে গত বছর।
কোথায় শিখব
২০২৪ সালে JS শিখতে সেরা টাইম—গত দশক যেভাবে এটি مار্কেটে সবচেয়ে ডিমান্ডেড প্রোগ্রামিং ল্যাঙ্গুয়েজ।
স্ট্রাট করার গরেট প্লেস: Udemy-র "The Complete JavaScript Course 2024: Build Real Projects!"। পার্টস বাই পার্টস কোড শিখতে চাইলে Code Academy-র এক্সিলেন্ট JavaScript কোর্স অ্যাসোর্টমেন্ট।
PHP
ইন্টারনেটে দাবদার থাকা আরেকটি ল্যাঙ্গুয়েজ, প্রধানত ডাইনামিক ডেটা-হেভি ওয়েবসাইট ও অ্যাপ ডেভেলপমেন্টে: PHP। WordPress এবং Facebook-এর মতো বড় সাইটগুলোর পেছনে PHP-র বড় কন্ট্রিবিউশন।
PHP খুব পুরনো, মাস্ট-নো প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে বিবেচিত। ওপেন-সোর্স এবং তার পিয়ারদের চেয়ে ওয়েব ডেভেলপমেন্টে ধীর ধরে ধরা হয়।
ওপেন-সোর্স হলে সিকিউর প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়, কিন্তু বড় ওপেন-সোর্স কমিউনিটি ব্যাকআপ দেয়। PHP শিখতে মিনিমাল টাইম ইনভেস্টমেন্ট লাগে এবং ওয়েব অ্যাপ্লিকেশন, CMS, ই-কমার্স অ্যাপ্লিকেশনে জব অপারচুনিটি (যদিও কমছে) পাওয়া যায়।
কোথায় শিখব
PHP-এ আগ্রহী ওয়েব ডেভেলপাররা Coursera-র "Building Web Applications in PHP" কোর্সে নলেজ পাবেন। ই-কমার্স সাইট বানাতে চাইলে Udemy-র "Learn E-Commerce Website in PHP & MySQL From Scratch" চেক করুন।
Swift
এই প্রোগ্রামিং ল্যাঙ্গুয়েজ স্পেসিফিক্যালি iOS অ্যাপের জন্য ডিজাইন করা। ২০১০ সালে Apple 決定 iOS ডেভেলপারদের Objective-C-তে বাধ্য করা বন্ধ করবে—Swift সেই ডেভেলপারদের অ্যাল্টারনেটিভ ল্যাঙ্গুয়েজ দিয়েছে। Cocoa Touch লাইব্রেরি এখনও ব্যবহার করে থাকলে Objective-C ব্যবহার করা যায় (ফ্রেমওয়ার্ক দুটোই অপরিবর্তিত)।
Swift রিয়েল-টাইম আউটপুট দিয়ে ইন্টারঅ্যাক্টিভিটি এবং কোড/ডিবাগ চেঞ্জে ফাস্ট রেসপন্স। অটোমেটেড ডিবাগিং সিস্টেম Swift সিস্টেমের কি এলিমেন্ট—স্ক্রিপ্টিং সিস্টেমের মতো (Python) ইন্টারঅ্যাক্টিভ প্রোপার্টি দেয়।
Objective-C-এর চেয়ে Swift-এর সুবিধা: কোড রিডাকশন (প্রায় এক-চতুর্থাংশ), অনেক সহজ শেখা, ডেভেলপার কমিউনিটির গ্রোথ পোটেনশিয়াল বেশি (কোয়ালিটি অ্যাপের কারণে)। iOS অ্যাপ ডেভেলপমেন্টে আগ্রহী বা ভবিষ্যতের সবচেয়ে লুক্রেটিভ প্রোগ্রামিং ল্যাঙ্গুয়েজ হতে চাইলে Swift শিখুন।
কোথায় শিখব
Udemy এই ল্যাঙ্গুয়েজেও গরেট সোর্স। "iOS 17 & Swift 5 — The Complete iOS App Development Bootcamp" বিগিনার থেকে প্রো পথ।
সिर्फ দেখতে চাইলে কী হচ্ছে? DZone.com-এর একটি নিফটি টিউটোরিয়াল আছে। iOS 17-এর ফান্ডামেন্টাল বুঝতে pluralsight.com-এর কোর্স।
SQL & NoSQL
SQL খুব পুরনো। SQL-এর উদ্দেশ্য: অ্যাপ্লিকেশনের ব্যাকএন্ড ডেটাবেস। স্ট্যান্ডঅলোন ল্যাঙ্গুয়েজ হিসেবে SQL এত বেনিফিশিয়াল লাগে না। কিন্তু সফটওয়্যার ডেভেলপার হিসেবে, আপনি যেকোনো ল্যাঙ্গুয়েজ বেছে নিন, ডেটাবেস এবং SQL অনিবার্য।
ডেটা কোয়েরি, অভেইলেবিলিটি, কনসিস্টেন্সি-এ SQL ডেলিভার। একাধিক টেবিল থেকে ডেটা রিট্রিভ করতে হলে SQL দ্রুত ডেলিভার করে। পুরো ল্যাঙ্গুয়েজ বড় টেবিল রো এবং এক্সপেডিটেড সার্চের জন্য অপ্টিমাইজড।
SQL পাওয়ারফুল হলেও ড্রব্যাক রয়েছে: অবজেক্ট থেকে ডেটাবেস টেবিলে কনভার্ট করা কঠিন, সিঙ্গেল সার্ভার অভেইলেবিলিটি, সবকিছু লিখে ফেলতে হয় (ORM অটো-জেনারেট করে)। তবে ফেয়ারলি, SQL হাতে লিখলে ORM-র চেয়ে টাইটার, হাই-পারফরম্যান্স কোয়েরি হয়। Data Science ক্যারিয়ারে আগ্রহীকে SQL শিখা উচিত।
NoSQL পপুলারিটি পাচ্ছে: লো-কস্ট হার্ডওয়্যারে পারফরম্যান্স, ইলাস্টিসিটি ও স্কেলেবিলিটি, ডেটাবেস মডেল স্ট্রাকচারিং আয়োজন নেই। Data Science ফিল্ডে SQL কে ওভারটেক করার পোটেনশিয়াল, কিন্তু এখনো প্রুফ নেই। নতুন ল্যাঙ্গুয়েজ হলে কমিউনিটি সাপোর্ট কম (দ্রুত বেড়ছে) এবং স্ট্যান্ডার্ডাইজড প্ল্যাটফর্ম নেই।
SQL vs NoSQL স্ট্যাক আপ করলে: স্ট্রাকচার্ড ডেটা, ইন্টিগ্রেটেড সাপোর্ট সিস্টেম, স্কিমা-এ SQL বিজনেসের জন্য প্রিফারড চয়েস, NoSQL সুইফট অ্যাপ্লিকেশন ডেভেলপমেন্টে নিচ ফিট করতে পারে।
কোথায় শিখব
SQL-এ Code Academy কোর্স দিয়ে শুরু করুন। NoSQL এন্থুজিয়াস্টরা edX-র "Introduction to NoSQL Data Solutions" এবং "Amazon DynamoDB: Building NoSQL Database-Driven Applications" কোর্স থেকে শিখতে পারেন।
অন্য উপযোগী প্রোগ্রামিং ল্যাঙ্গুয়েজ যেগুলো শিখা যাবে
লিস্ট দেখলে কিছু মিসিং লাগতে পারে যা আপনি অনুমান করতেন। প্রধানত Ruby এবং এর ফ্রেমওয়ার্ক Ruby on Rails (RoR)—ওয়েব অ্যাপে এখনো ব্যবহৃত এবং ডিসেন্ট ডিমান্ড। Shopify, Airbnb, Fiverr, Github, Bloomberg-এ ব্যবহৃত। কিন্তু গত কয়েক বছরে হাইপ অনেক কমে গেছে তাই "মাস্ট লার্ন" রিকমেন্ড করা যাবে না।
অন্য কম পরিচিত ল্যাঙ্গুয়েজ: R, Rust, Kotlin, Golang—এখনো পপুলারিটি ততটুকু পায়নি যাতে "ওয়র্থ নোইং" লাগে। তবে মনে হয় Kotlin Android অ্যাপ ডেভেলপমেন্টে সিরিয়াস কেউর জন্য বেনিফিশিয়াল—রास्तার কথা অনুযায়ী এটি পরবর্তী বড় জিনিস হতে পারে।
Golang (Go) শিখতে কঠিন কিন্তু ফ্রেমওয়ার্ক ডেভেলপমেন্টে আগ্রহীকে ওয়ার্থ ইট। একই লাইনে Rust—খুব কঠিন ল্যাঙ্গুয়েজ কিন্তু খুব রিওয়ার্ডিং। অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজের সাথে লিংক হতে পারা লাইব্রেরি তৈরি করতে পারে। আগ্রহী হলে "Rust for Undergrads" দিয়ে শুরু করুন।