প্রোগ্রামিং ল্যাংগুয়েজ বা ভাষা কি?

মোবাইলে ফেসবুক স্ক্রল করছেন? ইউটিউবে ভিডিও দেখছেন? অনলাইনে কেনাকাটা করছেন? এসব কিছুই সম্ভব হয়েছে প্রোগ্রামিং ভাষার কারণে। কিন্তু প্রোগ্রামিং ভাষা কি? এই প্রশ্নটা আসলে অনেকেরই মনে ঘুরপাক খায়।
আজকের দিনে প্রোগ্রামিং শেখা মানে নিজের জন্য একটা নতুন দরজা খুলে দেওয়া। ভাবুন তো, আপনি নিজেই একটা অ্যাপ বানাতে পারবেন, ওয়েবসাইট তৈরি করতে পারবেন, এমনকি গেমও ডেভেলপ করতে পারবেন! শুনতে কঠিন মনে হলেও বিশ্বাস করুন, সঠিক গাইডলাইন পেলে যে কেউ প্রোগ্রামিং শিখতে পারে।
প্রোগ্রামিং শেখার শুরুতে অনেকেই মনে করেন, এটা শুধু কম্পিউটার সায়েন্সের ছেলেমেয়েদের জন্য। কিন্তু না! বর্তমানে যেকোনো ব্যাকগ্রাউন্ড থেকে আসা মানুষ প্রোগ্রামিং শিখে সফল ক্যারিয়ার গড়ছে।
আপনি কি জানেন, প্রোগ্রামিং শিখলে আপনার ক্যারিয়ার কীভাবে বদলে যাবে? আপনি হতে পারেন ওয়েব ডেভেলপার, সফটওয়্যার ইঞ্জিনিয়ার, ডেটা সায়েন্টিস্ট কিংবা একজন সফল ফ্রিল্যান্সার।
এই ব্লগে আমি প্রোগ্রামিং ভাষা কাকে বলে, এর প্রকারভেদ, কোন কাজে কোন ভাষা ভালো এসব বিষয় একদম সহজ করে বুঝিয়ে দেবো। তো চলুন, শুরু করা যাক!
প্রোগ্রামিং ল্যাংগুয়েজ বা ভাষা কি?
আচ্ছা, প্রোগ্রামিং ভাষা কি সেই প্রশ্নের উত্তর দেওয়ার আগে চলুন একটা উদাহরণ দিই। ধরুন, আপনি একজন বিদেশি বন্ধুর সাথে কথা বলতে চান যে বাংলা বোঝে না। তখন আপনি কী করবেন? হয়তো ইংরেজি অথবা অন্য কোনো মাধ্যম ব্যবহার করবেন যেটা আপনার বন্ধু বোঝে, তাই তো? ঠিক একইভাবে, আমাদের ব্যবহৃত বাংলা বা ইংরেজি ভাষা কম্পিটার বোঝে না। তাকে বোঝানোর জন্য দরকার বিশেষ একটা ভাষা যাকে আমরা প্রোগ্রামিং ভাষা হিসেবে জানি।
সহজ কথায়, প্রোগ্রামিং ভাষা হচ্ছে মানুষ আর কম্পিউটারের মধ্যে যোগাযোগের একটা মাধ্যম। আমরা যখন কম্পিউটারকে কোনো কাজ করতে বলি, যেমন দুইটা সংখ্যা যোগ করা, একটা ছবি দেখানো বা একটা গেম চালানো, তখন এই নির্দেশগুলো দিতে হয় প্রোগ্রামিং ভাষায়।
মনে করুন, আপনি কম্পিউটারকে বলতে চান “Hello World” লেখাটা স্ক্রিনে দেখাতে। পাইথনে এটা করতে হলে লিখতে হবে,
print(“Hello World”)
এই একটা ছোট্ট কমান্ড কম্পিউটার বুঝে নিলো এবং স্ক্রিনে “Hello World” দেখাবে।
প্রোগ্রামিং ভাষার কাজ হলো আমাদের চিন্তা আর লজিককে এমনভাবে সাজানো যাতে কম্পিউটার সেটা বুঝতে পারে এবং ইমপ্লিমেন্ট করতে পারে। এই ভাষাগুলো নির্দিষ্ট কিছু নিয়ম-কানুন মেনে চলে, যেগুলোকে বলা হয় সিনট্যাক্স (Syntax) । আপনি যদি সেই নিয়ম মেনে কোড লেখেন, কম্পিউটার সেটা বুঝতে পারবে এবং আপনার কমান্ড অনুযায়ী কাজ করবে।
প্রোগ্রামিং ভাষা কত প্রকার ও কি কি?
এতক্ষণে নিশ্চয়ই বুঝে গেছেন প্রোগ্রামিং ভাষা কাকে বলে। এবার আসি প্রোগ্রামিং ভাষা কত প্রকার এই প্রসঙ্গে। প্রোগ্রামিং ভাষাকে আসলে বিভিন্নভাবে ভাগ করা যায়। তবে সহজভাবে বুঝতে চাইলে, ব্যবহারের উপর ভিত্তি করে আমরা এগুলোকে মূলত তিন ভাগে ভাগ করতে পারি।
১. লো-লেভেল প্রোগ্রামিং ভাষা
এই প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো কম্পিউটারের ভাষার একদম কাছাকাছি। মানে কম্পিউটার এগুলো সরাসরি বুঝতে পারে, কিন্তু আমাদের মতো সাধারণ মানুষের জন্য বোঝা বেশ কঠিন।
উদাহরণ হিসেবে বলা যায় মেশিন কোডের কথা যেটা শুধু ০ আর ১ দিয়ে তৈরি। কম্পিউটার সরাসরি এটাই বোঝে। এটা অনেকটা বাইনারি কোডের মতো। আরেকটি হলো অ্যাসেম্বলি ল্যাঙ্গুয়েজ যেটা মেশিন কোডের চেয়ে একটু সহজ।
এই ভাষাগুলো সাধারণত ব্যবহার করা হয় যখন খুবই দ্রুত গতির প্রোগ্রাম লাগে, যেমন রোবটিক্স বা হার্ডওয়্যার কন্ট্রোল সিস্টেম ইত্যাদি ক্ষেত্রে।
২. হাই-লেভেল প্রোগ্রামিং ভাষা
High Level Language আমাদের ইংরেজি ভাষার অনেক কাছাকাছি। বুঝতে সুবিধা, লিখতেও সহজ সেজন্য বেশিরভাগ প্রোগ্রামাররা এই ধরনের ভাষাই ব্যবহার করেন। কয়েকটি হাই লেভেল প্রোগ্রামিং ভাষাএ উদাহরণ হচ্ছে পাইথন, জাভা, সি++, জাভাস্ক্রিপ্ট ইত্যাদি। আপনি যদি প্রোগ্রামিং শেখা শুরু করতে চান, তাহলে এই ক্যাটাগরির ভাষা দিয়েই শুরু করা উচিত।
৩. স্ক্রিপ্টিং ল্যাঙ্গুয়েজ
Scripting Language মূলত ছোটখাটো কাজের জন্য ব্যবহৃত হয়। দ্রুত কিছু অটোমেট করতে হবে? এক্ষেত্রে স্ক্রিপ্টিং ভাষাই সেরা। কয়েকটি স্ক্রিপ্টিং ভাষা হচ্ছে পাইথন, জাভাস্ক্রিপ্ট, পিএইচপি, রুবি ইত্যাদি।
৪. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা
Object-oriented Programming আসলে কোনো ভাষা নয়, এটি হলো প্রোগ্রামিং করার একটা বিশেষ স্টাইল। এখানে পুরো প্রোগ্রামকে ছোট ছোট কয়েকটা অবজেক্টে ভাগ করা হয়, যেন সহজে বোঝা এবং রান করা যায়। জাভা, সি++, পাইথন এগুলো সব OOP সাপোর্ট করে। বড় প্রজেক্টে এই পদ্ধতিটা খুব কাজের।
কোনটি প্রোগ্রামিং ভাষা নয়?
অনেকেই একটা ভুল করেন। তারা ভাবেন HTML বা SQL প্রোগ্রামিং ভাষা। কিন্তু আসলে এগুলো প্রোগ্রামিং ভাষা নয়।
HTML (Hypertext Markup Language) হলো মার্কআপ ল্যাঙ্গুয়েজ। এটা দিয়ে শুধু ওয়েব পেজের স্ট্রাকচার বানানো হয়। এতে কোনো লজিক বা হিসাব-নিকাশ করা যায় না। যেমন, আপনি HTML দিয়ে দুইটা সংখ্যা যোগ করতে পারবেন না বা কোনো শর্ত চেক করতে পারবেন না।
আবার SQL (Structured Query Language) হলো ডেটাবেজ কুয়েরি ল্যাঙ্গুয়েজ। এটা শুধু ডেটাবেজ থেকে তথ্য বের করা, ইনপুট দেওয়া এবং আপডেট করার মতো কাজে ব্যবহার হয়। পূর্ণাঙ্গ প্রোগ্রাম তৈরি করা যায় না এটা দিয়ে। CSS ও ঠিক সেরকম। এটা ওয়েবসাইটের ডিজাইন করার জন্য ব্যবহৃত হয়, প্রোগ্রামিং করার জন্য না।
১০ টি প্রোগ্রামিং ভাষার নাম এবং তাদের বৈশিষ্ট্য
আজকের বাজারে সবচেয়ে বেশি চাহিদা রয়েছে এমন ১০টি প্রোগ্রামিং ভাষা ও তাদের কাজের ক্ষেত্র নিয়ে একটি তালিকা নিচে দেওয়া হলো। এটি আপনাকে ধারণা দেবে যে কোন কাজের জন্য কোন প্রোগ্রামিং ভাষা ব্যবহার করা হয়।
- Python: পাইথন অনেক জনপ্রিয় ল্যাঙ্গুয়েজ! এটা একটা হাই-লেভেল প্রোগ্রামিং ভাষা যেটা পড়তে প্রায় ইংরেজি বাক্যের মতো। নতুনদের জন্য সবচেয়ে বেস্ট চয়েস। কেন পাইথন শিখবেন তার বেশ কয়েকটা কারণ রয়েছে। যেমনঃ পাইথনে কোড লিখতে সময় কম লাগে, শিখতেও খুবই সহজ, চাকরির বাজারে প্রচুর চাহিদা রয়েছে। অ্যাপ কিংবা ওয়েবসাইট তৈরি, ডেটা অ্যানালাইসিস, মেশিন লার্নিং, অটোমেশনের মতো গুরুত্বপূর্ণ কাজে পাইথন প্রয়োজন হয়। আমাদের ওয়েবাসাইটে পাইথন শেখার গাইডলাইন রয়েছে, সেটা পড়তে পারেন।
- Java: জাভা একটা পাওয়ারফুল ভাষা যেটাকে বলা হয় “Write Once, Run Anywhere”। মানে আপনি যেই সিস্টেমেই জাভা কোড লিখুন, সেটা সব জায়গায় রান করবে। অ্যান্ড্রয়েড অ্যাপ তৈরি, বড় বড় এন্টারপ্রাইজ সফটওয়্যার, ব্যাংকিং সিস্টেম ইত্যাদি তৈরিতে Java খুবই প্রয়োজনীয় ভাষা।
- JavaScript: আপনি যদি ওয়েবসাইট বানাতে চান, তাহলে জাভাস্ক্রিপ্ট শিখতেই হবে। এটা ছাড়া আধুনিক ওয়েব ডেভেলপমেন্ট প্রায় অসম্ভব। ইন্টারঅ্যাক্টিভ ওয়েবসাইট ডেভেলপমেন্ট, ওয়েব অ্যাপ্লিকেশন তৈরি, এমনকি সার্ভার সাইড কোডিং করতেও জাভা স্ক্রিপ্ট লাগে।
- C++: সি++ একটু কঠিন হলেও খুবই শক্তিশালী একটা ল্যাঙ্গুয়েজ। আপনার প্রোগ্রাম যদি অনেক দ্রুত চালাতে হয়, তাহলে সি++ সেরা অপশন। গেম ডেভেলপমেন্ট, হাই পারফরম্যান্স সফটওয়্যার তৈরি, অপারেটিং সিস্টেম বানাতেও সি++ ল্যাঙ্গুয়েজটি প্রয়োজন।
- C Sharp: মাইক্রোসফটের তৈরি এই ল্যাঙ্গুয়েজটা মূলত উইন্ডোজ অ্যাপ্লিকেশন আর গেম ডেভেলপমেন্টের জন্য জনপ্রিয়। উইন্ডোজ অপারেটিং সিস্টেমে রান করবে এমন সফটওয়্যার, Unity দিয়ে গেম বানানো, এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরিতে C# ব্যবহার করা হয়।
- PHP: ওয়ার্ডপ্রেসের মতো জনপ্রিয় ওয়েবসাইট পিএইচপি দিয়ে বানানো। আপনি জেনে অবাক হবেন যে প্রথম দিকে ফেসবুকও এই ভাষায় ডেভেলপ করা হয়েছিল। ডায়নামিক ওয়েবসাইট, কন্টেন্ট ম্যানেজমেন্ট সিস্টেম, ই-কমার্স সাইট তৈরিতে এখনো এর জনপ্রিয়তা অনেক।
- Ruby: রুবি খুবই সুন্দর ও সহজবোধ্য একটা প্রোগ্রামিং ভাষা। পড়তে অনেকটা ইংরেজি বাক্যের মতো লাগে। স্টার্টআপ কোম্পানিগুলো প্রায়ই Ruby on Rails ফ্রেমওয়ার্ক ব্যবহার করে। এটা মূলত ওয়েব অ্যাপ্লিকেশন, প্রোটোটাইপ তৈরি করতে ব্যবহৃত হয়।
- Swift: আইফোন বা আইপ্যাডের জন্য অ্যাপ বানাতে চান? তাহলে সুইফট শিখুন। এটা অ্যাপলের তৈরি করা একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ যেটা প্রধানত IOS অ্যাপ তৈরিতে ব্যবহৃত হয়।
- Kotlin: অ্যান্ড্রয়েড ডেভেলপমেন্টের জন্য গুগল অফিশিয়ালি সাপোর্ট করে কটলিন। জাভার চেয়ে মডার্ন এবং সহজ এই ভাষাটা। অ্যান্ড্রয়েড অ্যাপের পাশাপাশি ক্রস-প্ল্যাটফর্ম অ্যাপ্লিকেশন তৈরিতেও এটা কাজে লাগে।
- Golang: গুগল তৈরি এই ভাষাটা খুবই ফাস্ট এবং সিম্পল। ক্লাউড সার্ভিস, নেটওয়ার্ক প্রোগ্রামিং, মাইক্রোসার্ভিসেস ইত্যাদি প্রজেক্টে GO প্রোগ্রামিং ভাষা ব্যবহার করা যায়।
এর বাইরে আরো কয়েক হাজার প্রোগ্রামিং ভাষা রয়েছে। কিন্তু সবগুলো ভাষাই সমানভাবে জনপ্রিয় না কিংবা ব্যবহৃত হয় না।
মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে কোন প্রোগ্রামিং ভাষা ব্যবহৃত হয়?
আপনার যদি মেশিন লার্নিং নিয়ে কাজ করার ইচ্ছে থাকে, তাহলে পাইথন হচ্ছে আপনার বেস্ট ফ্রেন্ড। কারণ পাইথনে আছে মেশিন লার্নিংয়ের জন্য প্রয়োজনীয় সুবিশাল লাইব্রেরি। যেমনঃ TensorFlow, PyTorch, Scikit-learn ইত্যাদি। এগুলো দিয়ে মেশিন লার্নিং মডেল তৈরি করা অনেক সহজ হয়ে যায়।
তবে শুধু পাইথন না, পাশাপাশি R Language-ও ডেটা সায়েন্সে অনেক বেশি ব্যবহার করা হয়। আবার অনেক কোম্পানি কখনো কখনো তাদের এন্টারপ্রাইজ লেভেলের এআই সলিউশনে জাভা ল্যাঙ্গুয়েজ ব্যবহার করে থাকে। কিছু কিছু ক্ষেত্রে C++ ও ব্যবহার করা হয়।
কম্পিউটারের প্রথম প্রোগ্রামিং ভাষা কোনটি?
ইতিহাস জানলে একটু মজা পাবেন! কম্পিউটারের প্রথম প্রোগ্রামিং ভাষা ছিল FORTRAN। ১৯৫৭ সালে IBM কোম্পানিতে থাকাকালীন জন বাকাস এবং তার টিম এটা বানান। মূলত গাণিতিক হিসাব-নিকাশের জন্য তৈরি হয়েছিল। তবে এর আগেও অ্যাসেম্বলি ল্যাঙ্গুয়েজ ছিল ১৯৪৯ সালে। আর একদম শুরুর দিকে ENIAC কম্পিউটারে সরাসরি মেশিন কোড ব্যবহার হতো।
FORTRAN এর পরে আসা ৫টি গুরুত্বপূর্ণ প্রোগ্রামিং হচ্ছে-
- LISP (1958)
- COBOL (1959)
- ALGOL (1958)
- BASIC (1964)
- PASCAL (1970)
প্রোগ্রামিং ল্যাংগুয়েজ বা ভাষা কেন শিখবেন?
সত্যি বলতে, প্রোগ্রামিং শেখা মানে শুধু কোডিং শেখা না। এটা আপনার চিন্তা করার ধরনই বদলে দেবে। আমি যখন প্রথম শেখা শুরু করেছিলাম, খেয়াল করেছি যে যেকোনো সমস্যা তখন আমি ভেঙে ভেঙে ছোট করে চিন্তা করতে পারতাম। এটাকে বলে প্রবলেম সলভিং স্কিল।
এছাড়া ক্যারিয়ারের দিক থেকে তাকালে দেখা যায়, বর্তমানে প্রোগ্রামাররা মাসে ৫০ হাজার থেকে শুরু করে লাখ লাখ টাকা ইনকাম করে। ফ্রিল্যান্সিংয়ে তো আরো বেশি সম্ভাবনা! Upwork, Fiverr, Freelancer.com মতো ফ্রিল্যান্সিং মার্কেটপ্লেসে দেখবেন অনেক প্রজেক্ট পড়ে আছে, কিন্তু দক্ষ ডেভেলপারের সংখ্যা কম।
প্রোগ্রামিং শেখা শুরু করবেন কিভাবে?
আমি অনেককে দেখেছি যারা শুরু করতে চায় কিন্তু বুঝে উঠতে পারে না কোথা থেকে শুরু করবে। এক্ষেত্রে আমার পরামর্শ হবে পাইথন দিয়ে শুরু করুন।
কেন পাইথন? কারণ এটা সহজ। আপনি প্রথম দিনেই একটা সিম্পল প্রোগ্রাম বানিয়ে ফেলতে পারবেন। মনে আছে আমার প্রথম পাইথন কোড ছিল একটা সিম্পল ক্যালকুলেটর। মাত্র কয়েক লাইন কোড, কিন্তু যে আনন্দ পেয়েছিলাম সেটা আসলে অন্যরকম!
শেখার পাশাপাশি নিয়মিত অল্প অল্প প্র্যাকটিসই আপনাকে দক্ষ করে তুলবে। দিনে ১০ ঘণ্টা করে মাসে একবার প্র্যাকটিস করার চেয়ে প্রতিদিন ১ ঘণ্টা করা অনেক ভালো। ছোট ছোট সঞ্চয়ই আসলে এক সময় বড় সঞ্চয়ে পরিনত হয়।
এছাড়াও ছোট ছোট প্রোজেক্ট বানাতে পারেন। এসব প্রজেক্ট বানাতে গেলে দেখবেন আপনি কিছু কিছু জায়গায় ভুল করছেন। এরপরে যখন সেই ভুলগুলো কারেক্ট করবেন তখনই আসলে শেখাটা হবে।
শেখার জন্য ইউটিউবে ফ্রি টিউটোরিয়াল পাবেন। আর যদি চান একজন মেন্টরের অধীনে থেকে বেসিক থেকে শিখবেন তাহলে DUSRA Soft একটা ভালো অপশন হবে।
ঢাকার সেরা প্রোগ্রামিং ভাষা শিখার ট্রেনিং সেন্টার
অনেকে জানতে চান, নিজে নিজে শিখবো নাকি কোনো ইনস্টিটিউটে ভর্তি হবো? আমার উত্তর হচ্ছে- দুটোরই দরকার আছে। নিজে নিজে শেখা যায়, কিন্তু সঠিক গাইডলাইন পেলে শেখার পথটা অনেক সহজ হয়ে যায়।
প্রোগ্রামিং শেখার জন্য ঢাকায় যদি ভালো ট্রেনিং সেন্টার খুঁজেন, তাহলে DUSRA Soft আপনার জন্য দারুণ একটা অপশন হবে। আমাদের এখানে যেসব সুবিধা পাবেনঃ
- রিয়েল প্রাজেক্ট নিয়ে কাজ করানো হয়
- কোর্স শেষেও সার্পোট দেওয়া হয়
- কাস্টমাইজড মেন্টরশিপ প্রোগ্রাম
- চাকরির ক্ষেত্রে সহায়তা করা হয়
- ব্যবহারিক দক্ষতার উপর মনোনিবেশ করা
- সফল ফ্রিল্যান্সিং ক্যারিয়ার গড়ে তুলতে সাহায্য করা হয়
উপসংহার
তো আজকে আমরা জানলাম প্রোগ্রামিং ভাষা কি, কত প্রকার এবং কীভাবে প্রোগ্রামিং শেখা শুরু করবেন। মূল কথা হলো, প্রোগ্রামিং কোনো রকেট সায়েন্স না। যে কেউ চাইলে শিখতে পারে। এজন্য শুধু দরকার একটু ধৈর্য আর নিয়মিত প্র্যাকটিস।
আপনি হয়তো ভাবছেন, আমার দ্বারা কি হবে? বিশ্বাস করুন, হবে। আমি নিজে দেখেছি ৪০ বছর বয়সে মানুষ প্রোগ্রামিং শিখে ক্যারিয়ার চেঞ্জ করেছে। আবার ১৫-১৬ বছরের ছেলে-মেয়েরা ফ্রিল্যান্সিং করে ইনকাম করছে। বয়স কোনো ব্যাপার না, ইচ্ছেটাই আসল।
মনে রাখবেন, প্রথম দিকে কিছুটা কঠিন লাগবে। এটা স্বাভাবিক। কিন্তু আস্তে আস্তে যখন আপনার প্রথম প্রোগ্রাম রান করবে, যখন আপনার বানানো কোনো কিছু ঠিকঠাক কাজ করবে, সেই মুহূর্তের আনন্দ হবে অন্যরকম!
প্রায়শই জিজ্ঞাসিত প্রশ্নোত্তর
১. প্রোগ্রামিং ল্যাংগুয়েজ বা ভাষা কে আবিষ্কার করেছিলেন?
বলা হয়ে থাকে, অ্যাডা লাভ্লেস প্রোগ্রামিং ভাষা আবিষ্কার করেছিলেন। তাকেই বিশ্বের প্রথম প্রোগ্রামার বলা হয়।
২. প্রোগ্রামিং ল্যাংগুয়েজ বা ভাষা প্রধানত কত প্রকার?
প্রোগ্রামিং ভাষা মূলত ৩ প্রকারঃ লো লেভেল ল্যাঙ্গুয়েজ, হাই লেভেল ল্যাঙ্গুয়েজ, স্ক্রিপ্টিং ল্যাঙ্গুয়েজ।
৩. প্রোগ্রামিং ল্যাংগুয়েজ বা ভাষায় টোকেন কী?
একটি প্রোগ্রাম যখন লেখা হয়, তখন কম্পিউটার বা কম্পাইলার পুরো কোডটিকে ছোট ছোট অংশে ভেঙে ফেলে। এই প্রতিটি ক্ষুদ্রতম অংশকে টোকেন বলা হয়।