কম্পিউটার টিউটোরিয়াল

মার্কআপ ল্যাঙ্গুয়েজ কী?

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

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

মার্কআপ ল্যাঙ্গুয়েজ কী?

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

মার্কআপ ল্যাঙ্গুয়েজগুলো একটি ডকুমেন্টের স্টাইল এবং কাঠামো নির্ধারণ করে যাতে কম্পিউটার বুঝতে পারে আপনি সে ডকুমেন্টকে কীভাবে দেখাতে চান।

এটিকে বুঝতে একটি উপায় হলো মার্কআপ হয় শিক্ষকরা কীভাবে তাদের ছাত্রদের টেস্ট "মার্ক" বা "মার্ক আপ" করেন। একটি শিক্ষক টেস্টে লিখে থাকেন ছাত্রটি কোথায় ভুল করেছে যাতে তারা আগামীতে কীভাবে ঠিক করবে সেটি জানে। আসলে, মার্কআপ ল্যাঙ্গুয়েজ শব্দটি টাইপসেটিং থেকে এসেছে, যেখানে একটি ডকুমেন্ট কীভাবে সেট আপ করবেন তার নির্দেশাবলী ডকুমেন্টের পাশে "मार्क আপ" করা হতো।

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

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

আপনি কখনো ML শুনেছেন যদি আপনি কখনো একটি ওয়েবসাইট ডেভেলপ করেছেন। HTML এবং XML, উদাহরণস্বরূপ, দুটোই ML-এ শেষ হয়। আপনি কি কখনো নিজের থেকে জিজ্ঞাসা করেছেন এগুলো কী মানে? ভালো, ML står করে markup language-এর জন্য।

মার্কআপ ল্যাঙ্গুয়েজগুলো ওয়েব ডেভেলপমেন্টে ব্যাপকভাবে ব্যবহৃত হয়। এগুলো একটি নির্দিষ্ট সেট ডেটা একটি ওয়েব ডকুমেন্টে কীভাবে রিপ্রেজেন্ট করা উচিত সেটি বর্ণনা করতে ব্যবহৃত হয়।

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

গড় বুটক্যাম্প স্নাতক ক্যারিয়ার ট্রানজিশনে ছয় মাস কম ব্যয় করেছেন, বুটক্যাম্প শুরু থেকে প্রথম চাকরি পাওয়া পর্যন্ত।

HTML (HyperText Markup Language) একটি ওয়েব পেজের কাঠামো বর্ণনা করে। অন্যদিকে, XML একটি নির্দিষ্ট টাইপের ডেটা বর্ণনা করে।

মার্কআপ ল্যাঙ্গুয়েজ কীভাবে কাজ করে

সকল মার্কআপ ল্যাঙ্গুয়েজের একটি সাধারণ বৈশিষ্ট্য আছে: সেগুলো ট্যাগ ব্যবহার করে ওয়েব পেজে ভিন্ন টাইপের কন্টেন্ট নির্দেশ করে। এই মার্কআপ সিম্বলগুলো সাধারণত অ্যাঙ্গেল ব্র্যাকেট (<>) এ লেখা হয়।

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

এই উদাহরণটি বিবেচনা করুন:

<a href="https://careerkarma.com">Career Karma</a>

এটি ক্যারিয়ার করমা হোমপেজে একটি লিংক। আমরা এই লিংক ডিফাইন করতে <a> ট্যাগ ব্যবহার করেছি, এবং আমাদের লিংক শেষ হলে </a> ট্যাগ দিয়ে ক্লোজ করেছি।

এই ট্যাগগুলো আমাদের কম্পিউটারকে বলে যে আমরা একটি লিংক, বা একটি অ্যাঙ্কর (যেটি থেকে "a" এসেছে) রেন্ডার করতে চাই। এই ট্যাগগুলো আমাদের ওয়েব পেজে দেখায় না। এগুলো আমাদের ওয়েব ব্রাউজারের জন্য নির্দেশাবলী যাতে সে বুঝতে পারে একটি নির্দিষ্ট ওয়েব পেজ কীভাবে দেখাবে।

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

মার্কআপ ল্যাঙ্গুয়েজ vs. প্রোগ্রামিং ল্যাঙ্গুয়েজ

এটি সত্য: মার্কআপ ল্যাঙ্গুয়েজ শুনতে প্রোগ্রামিং ল্যাঙ্গুয়েজের মতো লাগে। আমরা ভাষা নিয়ে কথা বলছি! শুধু এই দুটি টার্ম একই звуঙ্কে, সেটির মানে এগুলো একই জিনিস নয়।

একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ হলো একটি কম্পিউটারের কাছে দেয়া নির্দেশাবলীর সেট যা বিভিন্ন টাইপের আউটপুট প্রডিউস করে। Ruby, Python এবং Perl সব প্রোগ্রামিং ল্যাঙ্গুয়েজ। অন্যদিকে, মার্কআপ ল্যাঙ্গুয়েজগুলো একটি ডকুমেন্ট বর্ণনা করতে ব্যবহৃত হয়।

যেখানে আপনি একটি Python বা Ruby প্রোগ্রাম রান করতে পারেন, আপনি একটি মার্কআপ করা ডকুমেন্ট "রান" করতে পারবেন না। HTML ডকুমেন্টগুলো এক্সিকিউট হয় না; সেগুলো ব্রাউজার দ্বারা রেন্ডার হয়। XML ডকুমেন্টগুলোও রান হয় না; সেগুলো একটি স্পেশাল টাইপের ডেটা রিডার দ্বারা পড়া হয়।

কোন কোন মার্কআপ ল্যাঙ্গুয়েজ আছে?

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

HyperText Markup Language

HyperText Markup Language, বা HTML, ওয়েব ডেভেলপমেন্টে ব্যবহৃত প্রধান ভাষা। এটা ছাড়া, আমাদের ওয়েবসাইট থাকত না। এটি একটি ওয়েব পেজের কাঠামো নির্ধারণ করে, যেন কোন টাইটেল, ছবি, এবং টেক্সট একটি পেজে দেখায়। এটি ক्रमেও নির্ধারণ করে সেসব ফিচার ব্রাউজারে কী অর্ডারে দেখায়। বিপরীতে, CSS (Cascading Style Sheets) ব্রাউজারে পেজের লেআউট এবং সুরূপ নির্ধারণ করতে ব্যবহৃত হয়।

HTML স্ট্যান্ডার্ড মার্কআপ ল্যাঙ্গুয়েজের একটি। HTML-এ, ট্যাগগুলো একটি ওয়েব পেজের প্রতিটি এলিমেন্ট ডিফাইন করতে ব্যবহৃত হয়, টাইটেল থেকে ছবি এবং ফর্ম পর্যন্ত।

HTML ভাষা আন্তর্জাতিক সংগঠন World Wide Web Consortium, বা W3C দ্বারা গভর্ন করা হয়। HTML ওয়েব কীভাবে কাজ করে সেটিতে এতটাই এসেনশিয়াল যে একটি আন্তর্জাতিক স্ট্যান্ডার্ড সেট দরকার এটি কনসিস্টেন্টলি লিখতে এবং প্রসেস করতে।

HTML-এর সর্বশেষ ভার্সন হলো HTML5, যেটি এর পূর্ববর্তী থেকে অনেক উন্নতি অন্তর্ভুক্ত করে। তবুও, HTML-এর অধিকাংশ পরিবর্তন ইনক্রিমেন্টাল কারণ এই ভাষা ওয়েবের জন্য কতটুকু গুরুত্বপূর্ণ।

eXtensible Markup Language

XML, বা eXtensible Markup Language, ডেটা ট্রান্সপোর্ট এবং স্টোর করার জন্য ডিজাইন করা হয়েছিল। ভাষাটি সেলফ-ডেসক্রিপ্টিভ।

এটি কারণ আপনি আপনার XML ট্যাগগুলোকে যা চান সেটি নাম দিতে পারেন इसकी কোনো লিমিট নেই। কোনো প্রিডিফাইনড ট্যাগ নেই, তাই আপনি XML ডকুমেন্টে ডেটার প্রতিটি পয়েন্টকে সঠিকভাবে বর্ণনা করে এমন নাম বেছে নিতে পারেন।

মান লেন আপনি আপনার প্রিয় বইগুলো ট্র্যাক রাখতে একটি মার্কআপ ডকুমেন্ট তৈরি করছেন। XML-এ, আপনি নিচের কাঠামো ব্যবহার করতে পারেন:

<book> <title>How to Win Friends and Influence People</title> <author>Dale Carnegie</author> <rating>⅘</rating> </book>

এই উদাহরণে, আমরা চারটি ট্যাগ তৈরি করেছি: book, title, author, এবং rating। title, author, এবং rating ট্যাগগুলো আমাদের book ট্যাগের মধ্যে থাকে। book ট্যাগ আমাদের XML ফাইলে একটি এন্ট্রি প্রতিনিধিত্ব করে।

eXtensible HyperText Markup Language

XHTML হলো HTML4-এর একটি ভার্সন যা XML স্ট্যান্ডার্ড মিট করে। এটি বড়বাড়ি HTML5 দ্বারা রিপ্লেস করা হয়েছে আরও ডাইভার্স ফিচার সেটের ডিমান্ডের কারণে। 하지만 এটা আজও ইন্টারনেটের কিছু কোণে ব্যবহার হয়। অধিকাংশ সাইট যারা XHTML ব্যবহার করে সেগুলো বছরের আগে ডেভেলপ করা হয়েছে এবং কখনো আপডেট করা হয়নি।

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



উপসংহার

মার্কআপ ল্যাঙ্গুয়েজগুলো একটি ডকুমেন্টের ভেতরের এলিমেন্টগুলো ডিফাইন করতে ব্যবহৃত হয়। এই ভাষাগুলো, যেন HTML এবং XML, মানুষ দ্বারা পড়া যাওয়ার জন্য ডিজাইন করা হয়েছে। এটিদের মাধ্যমে ডেটা মার্কআপ ল্যাঙ্গুয়েজ কী রিপ্রেজেন্ট করছে সেটি বুঝতে আপনার জন্য সহজ হয়।

মার্কআপ ল্যাঙ্গুয়েজে, কম্পিউটারের জন্য মার্কআপ নির্দেশাবলী ট্যাগ ব্যবহার করে প্রেজেন্ট করা হয়। এই ট্যাগগুলো সাধারণত অ্যাঙ্গেল ব্র্যাকেট (<>) এর মধ্যে সংরক্ষিত থাকে।

এখন আপনি একটি ওয়েব ডেভেলপমেন্ট এক্সপার্টের মতো মার্কআপ ল্যাঙ্গুয়েজ সম্পর্কে কথা বলতে পারবেন!

  1. ২০২৪ সালে শেখার জন্য সেরা প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো কী?

  2. C++ প্রোগ্রামিং ল্যাঙ্গুয়েজ কী?

  3. C# প্রোগ্রামিং কী? (What is C# Programming?)

  4. জাভা প্রোগ্রামিং কী