প্রোগ্রামিং ভাষা কি ? কেন এবং কিভাবে প্রোগ্রামিং ভাষা শিখবেন ?

প্রোগ্রামিং ভাষা কি ? কেন আপনার এই ভাষা শেখা উচিত? এবং এই প্রোগ্রামিং ল্যাংঙ্গুয়েজ শেখার পরে আপনি কি কি করতে পারবেন? সাধারনত Programming শেখার শুরুতে আমাদের মনে এই প্রশ্ন গুলো জেগে থাকে।

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

প্রোগ্রামিং ভাষা কি - কিভাবে প্রোগ্রামিং ভাষা শিখবো
প্রোগ্রামিং ভাষা

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

কারন, আজকে আপনি Programming Language রিলেটেড যতো খুটিনাটি বিষয় গুলো আছে। সেই সবগুলো বিষয়ে স্টেপ বাই স্টেপ ধারনা পেয়ে যাবেন।

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

তাহলে আপনি কি কি কাজ করতে পারবেন। এবং সেই কাজের বিনিময়ে কি পরিমানে ইনকাম করতে পারবেন।

তাই আপনার অল্প কিছু সময় নিয়ে আর্টিকেলের শুরু থেকে শেষ অবধি মনোযোগ দিয়ে পড়ুন। তাহলে আর দেরী কেন! একেবারে মূল আলোচনাতে যাওয়া যাক। 

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

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

সেখানে বলতে হবে, যখন আপনি কোনো রোবোটকে পরিচালিত করার জন্য যে দিকনির্দেশনা দিবেন। তাকে বলা হয়, প্রোগ্রাম।

আপনি আরো পড়ুন…

আর এই প্রোগ্রামের মধ্যে যেসব Comand, Syntax থাকে। মূলত সেগুলোকেই বলা হয়, প্রোগ্রামিং ভাষা।

এই ভাষাকে আবার দুইভাগে ভাগ করা সম্ভব। একটি হলো High Level Language এবং অন্যটি হলো Low Level Language. তবে বেশিরভাগ ক্ষেএে হাই লেভেল ল্যাংঙ্গুয়েজকে কম্পাইল করে লো লেভেল ল্যাংঙ্গুয়েজে কনভার্ট করা হয়ে থাকে ৷

যা কম্পিউটার এর হার্ডওয়্যার দ্বারা প্রত্যেক্ষ ভাবে স্বীকৃত। 

প্রোগ্রামিং এ কোন কোন ভাষা ব্যবহার করা হয়?

এবার আমরা Programming Language এ কোন কোন ভাষার ব্যবহার করা হয়ে থাকে। তো সাধারনত একটি প্রোগ্রামকে সম্পন্ন করার জন্য আপনি মোট ৩ টি ল্যাংঙ্গুয়েজ কে ব্যবহার করতে পারবেন। যথাঃ

  1. Machine Language (মেশিন ল্যাঙ্গুয়েজ)
  2. Assembly Language (এ্যাসেমব্লি ল্যাঙ্গুয়েজ)
  3. High Level Language (হাই লেভেল ল্যাঙ্গুয়েজ)

চলুন এবার এই প্রত্যেকটি ভাগ সম্পর্কে বিস্তারিত জেনে নেয়া যাক। 

Machine Language কাকে বলে? 

শুরুর দিকের কথা, যখন সর্বপ্রথম প্রোগ্রামিং এর সূচনা হয়েছিলো। সেই সময়ে এই Machine Language এর বেশি ব্যবহার হতো। সেই সময়ে মানুষ প্রোগ্রাম বলতে শুধুমাএ মেশিন ল্যাঙ্গুয়েজকে মনে করতো।

আর সেই কারনেই একে বলা হয়ে থাকে, ” First Generation Language” যেহুতু কম্পিটারকে নির্দেশনা দেয়ার জন্য Binary Language এর প্রয়োজন হয়। সেহুতু মেশিন ল্যাঙ্গুয়েজকে সম্পূর্ন বাইনারি প্যাটার্ন দিয়েই কাজ করা হতো। 

[💡PRO TIPS: বাইনারি ল্যাঙ্গুয়েজ হলো,( 0-1) এর মধ্যে থাকা সংখ্যা গুলোকে ব্যবহার করে কম্পিউটারের হার্ডওয়্যারকে পরিচালনা করার প্রক্রিয়া]

আর মেশিন ল্যাঙ্গুয়েজ সম্পূর্ন Binary Pattern দিয়ে তৈরি করা। যার মাধ্যমে কম্পিউটার এর হার্ডওয়্যারকে পরিচালনা করা হতো। অর্থ্যাৎ, এই ল্যাঙ্গুয়েজে যে প্রোগ্রাম ব্যবহার করা হতো।

সেই প্রোগ্রামে শুধু (0-1) এর মধ্যে থাকা ডিজিট গুলোকে ব্যবহার করা হতো।

তবে আপনি জানলে অবাক হবেন। এই মেশিন ল্যাঙ্গুয়েজে ব্যবহার করা Binary Pattern কে কম্পিউটার খুব দ্রুত বুঝতে পারে। যার কারনে কম্পিউটার এই ভাষাকে খুব দ্রুত Execute করতে পারে।

আর এই প্রোগ্রাম গুলোর সবচেয়ে সুবিধাজনক দিক হলো। এগুলোকে খুব সহজেই প্রত্যেক্ষভাবে Run করানো সম্ভব। অর্থ্যাৎ, আপনি যদি এই Language নিয়ে কাজ করেন।

তাহলে আপনাকে কোনো প্রকার কম্পাইল বা কনভার্ট করার প্রয়োজন পড়বে না। তবে এতো সুবিধার মাঝেও এই Machine Language এর বেশ কিছু অসুবিধাও রয়েছে।

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

[💡NOTE: মনে রাখবেন, আপনি যে ভাষাতেই প্রোগ্রাম করেন না কেন। সবার আগে কিন্তুু সেই প্রোগ্রামটি Machine Language এ রুপান্তর হয়। তারপর Execute হয়ে আউটপুট প্রদান করে]

Assembly Language কাকে বলে?

আপনি উপরে জানতে পারলেন যে, Michine Language এর সবচেয়ে বড় অসুবিধা হলো আপনাকে অনেক বেশি পরিমানে বাইনারি কোড মনে রাখতে হবে।

তো এই সমস্যার সমাধান করার জন্য পরবর্তীতে আরও নতুন একটি Language আবিষ্কার করা হয়েছে। যার নামকরন করা হয়েছে Assembly language.

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

তবে যখন আপনি এই ভাষাকে কেন্দ্র করে কোনো Programme তৈরি করবেন। তখন আপনাকে Mnemonics হিসেবে লিখতে হবে। যেমন, “NOV”, ” SUB”, “ADD” ইত্যাদি।

তবে আপনি যে ভাষাতেই প্রোগ্রাম তৈরি করেন না কেন। আপনি কিন্তুু Binary Language ছাড়া কোনো প্রোগ্রামকে সম্পন্ন করতে পারবেন না। কারন আমি উপরেই বলে দিয়েছি যে, কোনো কম্পিউটার Binary Language ছাড়া অন্য কোনো ল্যাঙ্গুয়েজকে বুঝতে পারে না।

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

আর যখন এই কাজটি সম্পন্ন হবে। ঠিক তখনি কম্পিউটার আপনার সেট করা এসেম্বলি ল্যাঙ্গুয়েজকে বুঝতে পারবে। আর Assembly কে Machine Language এ পরিনত করার জন্য যে অনুবাদকের ব্যবহার করা হয়।

সেই অনুবাদককে বলা হয়, এসেম্বলার (Assembler).

High Level Language কাকে বলে?

সবচেয়ে আধুনিক প্রোগ্রামিং ভাষাকে বলা হয়, High Level Language. মানুষ যেন প্রোগ্রামিং এর ভাষাকে খুব সহজেই বুঝতে পারে। মূলত সে উদ্দেশ্যেই এই ভাষার উৎপত্তি হয়েছে।

কারন হাই লেভেল ল্যাঙ্গুয়েজ আরও বেশ কয়েকটি ভাষার সমন্বয়ে গঠিত হয়ে থাকে। যেমন, C, C++, Java, Python ইত্যাদি। এই ভাষা গুলো একেবারে ইংরেজি ভাষার মতোই ব্যবহার করা হয়।

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

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

তাহলে শুনুন, কম্পিউটার বাইনারি ভাষা ছাড়া অন্য কোনো ভাষাকে বুঝতে পারেনা এটা সত্য। তবে আপনি যদি High Level Language এর মাধ্যমে কোনো প্রোগ্রাম তৈরি করেন। তাহলে সেই প্রোগ্রামকে কম্পাইল করে পুনরায় মেশিন ল্যাঙ্গুয়েজে কনভার্ট করা হয়।

আর সেজন্য এসব প্রোগ্রাম করার জন্য বিভিন্ন ধরনের Compiler ব্যবহার করা হয়ে থাকে। যাদের মূল কাজ হলো আপনার তৈরি করা প্রোগ্রাম গুলোকে Machine Language এ রুপান্তরিত করা। 

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

তো প্রকারভেদের দিক থেকে প্রোগ্রামিং ল্যাঙ্গুয়েজকে প্রধানত ২ (দুই) ভাগে ভাগ করা হয়ে থাকে। যথাঃ 

  • High Level Language এবং 
  • Low Level Language 

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

What is High Level Language? 

সাধারন অর্থে যে ল্যাঙ্গুয়েজ গুলো মানুষের কাছে সহজে বোধগম্য হয়। মূলত সেই ভাষা গুলোকেই বলা হয়, High Level Language. এই ভাষার মধ্যে বেশ কিছু ভাষা অন্তর্ভুক্ত রয়েছে। যেমন, Java, Python, C, C++, Phython ইত্যাদি।

মূলত প্রোগ্রামিং সেক্টরটি অনেক কঠিন হয়ে থাকে। তাই অনেকেই প্রোগ্রামিং শিখতে ভয় পায়। আর সে কারনেই এই ভাষা গুলোর তৈরি করা হয়েছে।

আপনি অবশ্যয় পড়ুন…

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

What is Low Level Language? 

হাই লেভেল ল্যাঙ্গুয়েজের বিপরীত হলো, Low level language. আর এই ধরনের ভাষাকে কম্পিউটার খুব সহজেই বুঝতে পারে। এই ল্যাঙ্গুয়েজটি আরও বেশ কয়েকটি ভাষার সমন্বয়ে গঠিত। যেমন, Machine Language, Assembly Language.

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

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

কেন প্রোগ্রামিং ভাষা শিখবেন? 

কোনো কিছু শেখার আগে তার উদ্দেশ্য সম্পর্কে ধারনা থাকা ভালো। ঠিক তেমনি আপনি যদি প্রোগ্রামিং ল্যাংঙ্গুয়েজ শিখতে চান। তাহলে আপনাকে ভাবতে হবে যে, “কেন আপনার Programming Language শেখা উচিত”?

আপনি যদি এই ভাষাকে রপ্ত করতে পারেন। তাহলে আপনি কি কি বেনিফিট পাবেন।

তো যদি আপনি এই ভাষাকে সঠিকভাবে বুঝতে পারেন৷ তাহলে আপনি অনেক দিক থেকে বেনিফিট পাবেন। চলুন এবার সেই দিক গুলো সম্পর্কে স্বল্প আকারে আলোকপাত করা যাক। 

#1- নতুন কিছু তৈরি করা 

দেখুন আমরা বর্তমানে ডিজিটাল যুগে বসবাস করছি। আর সেই সুবাদে আমরা ক্রমে ক্রমে সম্পূর্ন ভাবে প্রযুক্তি নির্ভর হয়ে পড়ছি ৷

তার বাস্তব উদাহরণ হলো, আপনার হাতে থাকা স্মার্টফোন। ঘুম থেকে উঠার পর সেই সকাল থেকে এখন পর্যন্ত মোট কতবার আপনার ফোনটি ব্যবহার করছেন। তা একবার হিসেব করে দেখুন তো। 

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

যেমন ধরুন, আপনার ফোনে প্রয়োজন অনুসারে কিন্তুু নানা ধরনের Apps ব্যবহার করতে হয়। কিন্তুু আপনি যদি একজন প্রোগ্রামার হতে পারেন। তাহলে আপনি তখন নিজেই নিজের ফোনের জন্য প্রয়োজনীয় Apps তৈরি করতে পারবেন। 

#2- কর্মসংস্থানের সুযোগ

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

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

কিন্তুু আপনি যদি প্রোগ্রামিং ল্যাংঙ্গুয়েজে দক্ষতা অর্জন করতে পারেন। তাহলে কিন্তুু আপনি অনেক উপায়ে ইনকাম করতে পারবেন। তারমানে আমি এটা বলছি না যে, লেখাপড়া করা খারাপ। হ্যাঁ লেখাপড়া অবশ্যই করতে হবে।

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

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

#3- মানসিক বিকাশে সহায়তা 

এই বিষয়টি একটু মজার! আসলে যারা দক্ষ প্রোগ্রামার। তারা কিন্তুু ঠান্ডা মাথায় বড় বড় সমস্যার সমাধান করার কৌশল গুলো রপ্ত করতে পারে।

যদি আপনার পরিচিত কেউ এই পেশায় যুক্ত থাকে। তাহলে তাকে কোনো সমস্যায় পড়লে লক্ষ্য করবেন। সে কিন্তুু ঠান্ডা মাথায় সেই সমস্যার সমাধান করতে পারবে।

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

তো যখন আপনি প্রোগ্রামিং শেখার কয়েকটা ধাপ অতিক্রম করতে পারবেন। তখন আপনার মধ্যেও এই গুনটি লক্ষ্য করতে পারবেন। 

প্রোগ্রামিং ভাষা শিখে কি কি তৈরি করা যায়?

তো যখন আপনি এই Programming Language এ দক্ষ হতে পারবেন৷ তখন আপনি মূলত ৩ টি কাজ খুব ভালোভাবে তৈরি করতে পারবেন। যথাঃ 

  • Apps Making & Development 
  • Software Making & Development 
  • Website Making & Development 
  • Web Security Expert

হ্যাঁ আপনি প্রোগ্রামিং শিখতে পারলে উপরোক্ত কাজ গুলো খুব সহজেই করতে পারবেন। তাই চলুন এবার সে সম্পর্কে একটু আলোচনা করা যাক। 

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

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

আপনি আরো দেখুন…

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

কারন প্রোগ্রামিং এ যে অনেক ধরনের ভাষা আছে, এতোক্ষনে আপনি সে সম্পর্কে জেনে গেছেন।

তবে আমার দৃষ্টিকোন থেকে আপনার সেই ভাষাকে নির্বাচন করা উচিত। যে ভাষাটি আপনার কাছে সহজেই বোধগম্য হয়। অন্যের দেখে হুট করে কোনো ভাষাকে নির্বাচন করা নিছক বোকামি ছাড়া আর কিছুই নয়।

এরপর আপনি যে ভাষাকে নির্বাচন করবেন। সেই ভাষা সম্পর্কে বিস্তারিত জানার জন্য Google কিংবা YouTube এর সাহায্য নিবেন।

যখন আপনি এই সোর্স গুলো থেকে আপনার নির্বাচিত ভাষা সম্পর্কে টুকিটাকি ধারনা নিবেন। তখন যদি আপনার মনে হয় যে, হ্যাঁ! আপনি সেই Programming Language কে রপ্ত করতে পারবেন।

ঠিক সেই সময়ে ভালো দেখে কোনো আইটি ইনস্টিটিউটে নিজেকে যুক্ত করবেন।

এর পাশাপাশি আপনাকে বাড়তি কিছু সময় বের করতে হবে প্রোগ্রাম প্রাকটিস করার জন্য। মনে রাখবেন,”Practice Makes man perfect”.

এক নজরে কিছু জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ এর তালিকা

  • Machine Language 
  • Assembly Language 
  • High Level Language 
  • System Language 
  • Scripting Language 
  • Domain- Scripting Language 
  • Visual Language 
  • Esoteric Language 

আমাদের শেষকথা

প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখার শুরুর দিকে আপনার কাছে খুব কঠিন মনে হতে পারে। কিন্তুু তাই বলে হতাশ হবেন না। কারন প্রবাদে আছে,” কষ্ট করলেই কেষ্ট মেলে”।

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

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

আর প্রযুক্তির নিকটে আসার জন্য বাংলা আইটি ব্লগের সাথে থাকবেন৷ ধন্যবাদ

আমি নিলয় হাসান-এই ব্লগের প্রতিষ্ঠাতা পাশাপাশি লেখালেখির কাজটাও করি। অনলাইনে প্রযুক্তির বিষয় নিয়ে যা জানি তা মানুষের মাঝে শেয়ার করার ইচ্ছায় এ ব্লগ টি তৈরি করা।

Leave a Comment

Your email address will not be published. Required fields are marked *

error: কপি করা যাবে না !!
Scroll to Top
Share via
Copy link
Powered by Social Snap