প্রোগ্রামিং  এর হাতেখড়ি

প্রোগ্রামিং এর হাতেখড়ি

ভূমিকা

প্রোগ্রামিং (Programming), এই ছোট্ট শব্দটিকে আমরা মোটামুটি সবাই চিনি। তবে আমাদের মনের মধ্যে এই শব্দটি নিয়ে এক ধরনের ভয় কিংবা সংশয় আছে।

প্রোগ্রামিং বিষয়টাকে আমাদের মনের মধ্যে এত কঠিনভাবে ঢুকিয়ে দেয়া হয়েছে যে, আমরা প্রোগ্রামিং মানেই কঠিন কঠিন সফটওয়্যার বানানোকেই বুঝি আর দূরে দূরে থাকি।

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

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

যাই হোক, আজকে আমরা এই প্রোগ্রামিং সম্পর্কে বেশ কিছু গুরুত্বপূর্ণ বিষয় জানার চেষ্টা করবো। কথা না বাড়িয়ে চলুন শুরু করা যাক।

প্রোগ্রামিং কি?

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

প্রোগ্রামিং কে যদি আমরা আরেকটু সহজে বুঝতে চাই তাহলে বলতে হবে যে, এর দুটি অংশ আছে,

প্রথমটি হচ্ছে কম্পিউটারকে নির্দেশনা দেয়া

মানে হচ্ছে, আপনি যদি কম্পিউটারের মাধ্যমে কোন কাজ করাতে চান তাহলে অবশ্যই তাকে আপনার বুঝাতে হবে যে আপনি কি চাচ্ছেন। মানে কম্পিউটারকে আগে আপনার প্রয়োজনীয়তা গুলো সম্পর্কে জানাতে হবে, যেন সে আপনার দেয়া নির্দেশনাগুলো সহজেই বুঝতে পারে।

আর দ্বিতীয়টি হচ্ছে, নির্দেশনা পাবার পরে ওই কাজটি করে ফেলা

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

মানে হচ্ছে, আপনি কম্পিউটারে একটি ইনপুট দিলেন, আর সাথে সাথে কম্পিউটার সেই ইনপুটটা বুঝে একটা সঠিক আউটপুট বা সমাধান দিয়ে দিল। এই সম্পূর্ণ কাজটিকে এক নিমিষে করে ফেলাটাই হচ্ছে প্রোগ্রামিং এর মূল উদ্দেশ্য। একটি উদাহরণ দিলে সহজেই বুঝে যাবেন।

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

ভেবে দেখুন, আপনি সেইভ করার জন্যে কন্ট্রোল+এস (Ctrl+S) বাটনে চাপ দিয়ে কম্পিউটারকে বললেন এই ডকুমেন্টটাকে সেভ করো। সাথে সাথে কম্পিউটার আপনার আদেশটি শোনা মাত্র ডকুমেন্টটি সেইভ করে ফেলল। এই পুরো প্রক্রিয়াটি সম্পন্ন করার জন্যে একটি এপলিকেশন কাজ করেছে। আর এই ধরনের এপলিকেশনগুলো বিভিন্ন প্রোগ্রামিং ল্যঙ্গুয়েজ ব্যবহার করে বানানো হয়ে থাকে।

আসুন কথা না বাড়িয়ে প্রোগ্রামিং ল্যঙ্গুয়েজ কি কাজে লাগে সে সম্পর্কে আরেকটি বিস্তারিত আলোচনা করে ফেলি।

প্রোগ্রামিং কি কাজে লাগে?

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

A computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match. – Bill Bryson

আচ্ছা, এবার প্রোগ্রামিং কি কাজে লাগে তা নিয়ে আলোচনা করি,

সত্যিকার অর্থে আজকের দিনে ঘুম থেকে উঠার পর থেকে ঘুমাতে যাওয়ার আগ পর্যন্ত সব সময়ই আমরা প্রোগ্রামিং এর ওপরে নির্ভরশীল হয়ে আছি। কিভাবে?

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

আসুন এবার আর একটু গভীরে যাই,

এই যে মানুষ মোবাইলে গেম খেলে, এই সবগুলো গেমই কোন না কোন প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করে তৈরি করা হয়েছে। আপনি যদি প্রোগ্রামিং শিখতে চান তাহলে যেকোন সময়ই আপনি শেখা শুরু করতে পারেন।

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

তবে আপনার মধ্যে কয়েকটা জরুরী গুন থাকা আবশ্যক। ক্রিয়েটিভ হওয়া, নতুন নতুন জিনিসের প্রতি আগ্রহী হওয়া, আর লজিক বুঝে সেই সমস্যা সমাধান করা। তবে হ্যাঁ, তার সাথে ধৈর্য্যশীল হতে হবে।

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

প্রোগ্রামিং ল্যাংগুয়েজের পরিচিতি

কম্পিউটারাইজড যেকোন প্রোগ্রাম কোন না কোন প্রোগ্রামিং ল্যাংগুয়েজ দিয়ে তৈরি করা হয়ে থাকে। এটির কারণ হচ্ছে, কম্পিউটার আমাদের ভাষা বুঝে না। তাই আমরা যদি কম্পিউটারকে দিয়ে কোন কাজ করাতে চাই তাহলে তাকে তার বোধগম্য ভাষায় বুঝাতে হবে।

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

আর এই প্রোগ্রামিং ল্যাংগুয়েজ মোটামুটি দুই রকমের হয়ে থাকে,

১। সিস্টেম প্রোগ্রামিং ল্যাংগুয়েজ

২। এপ্লিকেশন প্রোগ্রামিং ল্যাংগুয়েজ

প্রোগ্রামিং এর ইতিহাস

আমরা শুরুতেই বলেছিলাম যে, প্রোগ্রামিং ল্যাংগুয়েজ মূলত কম্পিউটারের সাথে মানুষের কমিউনিকেশনের জন্যে ব্যবহৃত হয়। তাই যখন পৃথিবীতে প্রথম কম্পিউটার আবিষ্কার হল তখনই প্রোগ্রামিং ল্যাংগুয়েজের প্রয়োজন অনুভব হয়, কারণ কম্পিউটার আবিষ্কারের পরে তাকে বিভিন্ন কাজের জন্যে ইন্সট্রাকশন দেবার মত কোন ভাষা ছিল না।

যদি ইতিহাস বলতে চাই, তাহলে বলতে হবে একদম শুরুতে ১৯৪০ এর দিকে প্রথম প্রোগ্রামিং ল্যাংগুয়েজের কথা, যেটাকে ফার্স্ট জেনারেশন বা প্রথম প্রজন্মের প্রোগ্রামিং ল্যাংগুয়েজ বা বাইনারি ল্যাংগুয়েজ বলা হয়ে থাকে। আর এই ভাষাটিতে শুধু মাত্র শূন্য এবং এক এই দুটি সংকেতের মাধ্যমে কম্পিউটারকে বিভিন্ন কাজের জন্যে নির্দেশনা দেয়া হত।

শুধুমাত্র এই শূন্য এবং এক এই দুটির মাধ্যমে বড় বড় প্রোগ্রামকে বানানো এবং পরিচালনা কঠিন হয়ে পড়লে বিজ্ঞানীরা আরেকটু সহজ করার জন্যে নতুন একটি ল্যাংগুয়েজ বানালেন আর সেটির নাম দিলেন সেকেন্ড জেনারেশন প্রোগ্রামিং ল্যাংগুয়েজ।

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

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

তারপরে সময়ের সাথে সাথে প্রোগ্রামিং ল্যাংগুয়েজ অনেক পথ পেরিয়ে এখন একবিংশ শতাব্দীতে পদার্পণ করেছে। এই পর্যন্ত একশো এর বেশি প্রোগ্রামিং ল্যাংগুয়েজ আবিষ্কার করেছেন বিশ্বের বিজ্ঞানীরা।

ওয়েবসাইট বানানো থেকে শুরু করে, ডাটা ম্যানেজমেন্ট, এমনকি ভিডিও এবং ইমেজ এডিটিং এর মত কঠিন কঠিন কাজ করতে সক্ষম এখনকার এইসব প্রোগ্রামিং ল্যাংগুয়েজ।

সবচেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো হল- প্রোগ্রামিং সি, রুবি, পাইথন, পিএইচপি, এলগোল, ফোরট্রেন, স্মলটক, জাভা, জাভাস্ক্রিপ্ট, এইচটিএমএল, ভিজুয়্যাল বেসিক, ইত্যাদি।

কোন প্রোগ্রামিং ল্যাংগুয়েজ দিয়ে শুরু করবেন?

আচ্ছা! শুরুতেই দ্বিধাদ্বন্দ্ব দূর করে দিই আপনাদের, কোন প্রোগ্রামিং ল্যাঙ্গুয়েজই অন্যটি থেকে খারাপ না। আসলে আপনি কোন ল্যাংগুয়েজ শিখবেন সেটা নির্ভর করে আপনি কেন প্রোগ্রামিং ল্যাংগুয়েজ শিখতে চাচ্ছেন। অর্থাৎ, কি কাজে ব্যবহার করবেন।

তবে আপনি যেই ল্যাংগুয়েজই শিখুন না কেন, আপনাকে ভাল করে শিখতে হবে। আর ভাল করে শিখতে অনেক সময় লাগবে। সুতরাং আপনাকে সময় নিয়ে প্রোগ্রামিং ল্যাংগুয়েজ শিখার প্রস্তুতি নিতে হবে।

তবে আরেকটি বিষয় হচ্ছে আপনি যেটাই শিখুন না কেন, আপনাকে সেটির প্রতি প্যাশন থাকতে হবে। নতুবা আপনি শেখার আগ্রহ বেশি দিন ধরে রাখতে পারবেন না।

যেমন: আপনি চিন্তা করলেন বর্তমানে মার্কেটে পাইথনের অনেক জনপ্রিয়তা রয়েছে; তাই আপনি পাইথনের উপর একটি কোর্স করে নিলেন। কিন্তু পাইথনের উপর হয়ত আপনার বিন্দুমাত্র আগ্রহ নেই। তখন দেখা যাবে আপনি আর বেশিদিন আপনার শেখা অব্যাহত রাখতে পারছেন না।

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

১। একজন বিগিনার লার্নার হিসাবে কোন ল্যাংগুয়েজটি আপনার জন্যে সহজ হবে।

২। কোন ল্যাংগুয়েজটির ভবিষ্যৎ খুবই ভাল।

৩। কোন প্রোগ্রামিং ল্যাংগুয়েজের চাহিদা বর্তমান বাজারে কেমন।

সেরা দশটি প্রোগ্রামিং ল্যাংগুয়েজ

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

১। পাইথন (Python)

২। জাভাস্ক্রিপ্ট (JavaScript)

৩। গো (Go)

৪। টাইপস্ক্রিপ্ট (TypeScript)

৫। কোটলিন (Kotlin)

৬। রাস্ট (Rust)

৭। সি++ (C++)

৮। ওয়েব এসেম্বলি (WebAssembly)

৯। জাভা (Java)

১০। সুইফট (Swift)

উপসংহার

আমরা আমাদের আজকের আলোচনার শেষপ্রান্তে পৌছে গিয়েছি। আমরা আপনাকে বুঝাতে চেষ্টা করেছি যে, প্রোগ্রামিং ল্যাংগুয়েজ কি, সাথে সাথে তার ইতিহাস, এবং বিগিনার হিসাবে আপনি কিভাবে আপনার জন্যে সুবিধাজনক একটি প্রোগ্রামিং ল্যাংগুয়েজ খুঁজে পাবেন, যে ল্যাংগুয়েজটি আপনি তুলনামূলক সহজে শিখতে পারবেন।

এছাড়া আমরা দশটি জনপ্রিয় এবং প্রয়োজনীয় প্রোগ্রামিং ল্যাংগুয়েজের একটি তালিকা দিয়েছি। যেন আপনার প্রোগ্রামিং ল্যাংগুয়েজ শেখার যাত্রাটা অনেক সুন্দর হয়।

সোশ্যাল শেয়ার

ghoorilearning

Monjurul Hossain

সাম্প্রতিক ব্লগসমূহ

ট্যাগসমূহ

নিজেকে আপডেটেড রাখতে কানেক্টেড থাকুন ঘুড়ি লার্নিং এর সাথে

দারুণসব অফার আর আপডেট পেতে আমাদের নিউজলেটার সাবস্ক্রাইব করুন!