যখন আমরা মার্কআপ ভাষা সম্পর্কে কথা বলি প্রোগ্রামিং-এ, আমাদের মানে এই নয় যে কেউ কিছুর দাম বাড়াতে চাইছে। একটি মার্কআপ দাম বৃদ্ধি নয়। এটি একটি নির্দিষ্ট ধরনের স্ক্রিপ্টিং ভাষা ব্যবহার করে ডেটা উপস্থাপন করার একটি উপায়।
এই নির্দেশিকায়, আমরা মার্কআপ ভাষাগুলি কী, সেগুলি কীভাবে কাজ করে এবং আপনি কখন মার্কআপ ভাষা ব্যবহার করতে পারেন তা নিয়ে আলোচনা করতে যাচ্ছি। আমরা তিনটি ভিন্ন মার্কআপ ভাষা এবং তাদের ব্যবহারের ক্ষেত্রেও বিশ্লেষণ করব, যাতে আপনি মার্কআপ কীভাবে কাজ করে সে সম্পর্কে দৃঢ়ভাবে বুঝতে পারেন।
মার্কআপ ভাষা কি?
মার্কআপ ল্যাঙ্গুয়েজ হল একটি ডকুমেন্ট টীকা করার জন্য কম্পিউটার দ্বারা ব্যবহৃত ভাষা। এই ভাষাগুলি মানুষের দ্বারা পাঠযোগ্য, যার মানে হল যে এগুলি সাধারণত প্রযুক্তিগত প্রোগ্রামিং ভাষার পরিভাষার পরিবর্তে সাধারণ শব্দ ব্যবহার করে লেখা হয়৷
মার্কআপ ল্যাঙ্গুয়েজগুলি একটি নথির শৈলী এবং কাঠামোকে সংজ্ঞায়িত করে যাতে একটি কম্পিউটার জানতে পারে যে আপনি কীভাবে সেই নথিটি দেখতে চান৷
এটি সম্পর্কে চিন্তা করার একটি উপায় হল যে মার্কআপ হল শিক্ষকরা কীভাবে তাদের ছাত্রদের পরীক্ষা "মার্ক" বা "মার্ক আপ" করে। একজন শিক্ষক পরীক্ষায় লিখবেন যেখানে শিক্ষার্থী ভুল করেছে যাতে তারা পরের বার কীভাবে এটি ঠিক করতে হয় তা জানতে পারে। আসলে, শব্দটি মার্কআপ ভাষা টাইপসেটিং থেকে এসেছে, যেখানে নথির পাশাপাশি একটি নথি কীভাবে সেট আপ করতে হবে তার নির্দেশাবলী "মার্ক আপ" করা হয়েছে।
মার্কআপ এর নিজস্ব ভাষা হতে হবে না। শেষ দুটি উদাহরণে, মার্কআপ এখনও ব্যবহার করা হচ্ছে, কিন্তু একটি মার্কআপ ভাষা নয়। মার্কআপ এবং মার্কআপ ল্যাঙ্গুয়েজকে যেটা আলাদা করে তা হল যে মার্কআপ ল্যাঙ্গুয়েজগুলিতে সেই ভাষাটি কীভাবে ব্যবহার করতে হয় তার একটা নিয়ম আছে। এবং তারা সাধারণত কম্পিউটার দ্বারা ব্যাখ্যা করা হয়. অন্যদিকে, মার্কআপের কোনো সংজ্ঞায়িত কাঠামো নেই।
ওয়েব ডেভেলপমেন্টে ML
আপনি সম্ভবত ML শুনেছেন কোনো সময়ে আপনি যদি কোনো ওয়েবসাইট তৈরি করে থাকেন। HTML এবং XML, উদাহরণস্বরূপ, উভয়ই ML এ শেষ হয় . আপনি কি কখনও নিজেকে জিজ্ঞাসা করেছেন যে এগুলোর মানে কি? আচ্ছা, ML মানে মার্কআপ ল্যাঙ্গুয়েজ।
মার্কআপ ভাষাগুলি ওয়েব ডেভেলপমেন্ট জুড়ে ব্যাপকভাবে ব্যবহৃত হয়। একটি ওয়েব নথিতে ডেটার একটি নির্দিষ্ট সেট কীভাবে উপস্থাপন করা উচিত তা বর্ণনা করতে এগুলি ব্যবহার করা হয়৷
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
এইচটিএমএল (হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ) একটি ওয়েব পেজের গঠন বর্ণনা করে। অন্যদিকে, XML একটি নির্দিষ্ট ধরনের ডেটা বর্ণনা করে।
মার্কআপ ভাষাগুলি কীভাবে কাজ করে
সমস্ত মার্কআপ ভাষার একটি সাধারণ বৈশিষ্ট্য রয়েছে:তারা ওয়েব পৃষ্ঠায় বিভিন্ন ধরণের সামগ্রী বোঝাতে ট্যাগ ব্যবহার করে। এই মার্কআপ চিহ্নগুলি সাধারণত কোণ বন্ধনীতে লেখা হয় (<>
)।
মার্কআপ ল্যাঙ্গুয়েজগুলির একটি উপায় প্রয়োজন যে পাঠ্যটিকে তারা উপস্থাপন করার চেষ্টা করছে সেই নির্দেশাবলী থেকে যা কম্পিউটারকে পড়তে হবে। মার্কআপ ট্যাগের মধ্যে প্রদর্শিত যেকোন পাঠ্যকে একটি নির্দেশ হিসাবে মেশিন দ্বারা ব্যাখ্যা করা হয়৷
এই উদাহরণটি বিবেচনা করুন:
<a href="https://careerkarma.com">Career Karma</a>
এটি ক্যারিয়ার কর্মের হোমপেজের একটি লিঙ্ক। আমরা একটি ব্যবহার করেছি এই লিঙ্কটিকে সংজ্ঞায়িত করতে ট্যাগ করুন, এবং আমাদের লিঙ্কটি শেষ হলে আমরা এটি একটি দিয়ে বন্ধ করি ট্যাগ।
এই ট্যাগগুলি আমাদের কম্পিউটারকে বলে যে আমরা একটি লিঙ্ক বা একটি অ্যাঙ্কর রেন্ডার করতে চাই৷ (যেখান থেকে "a" এসেছে)। এই ট্যাগ আমাদের ওয়েব পৃষ্ঠায় প্রদর্শিত হবে না. এগুলি আমাদের ওয়েব ব্রাউজার পড়ার জন্য নির্দেশাবলী, তাই তারা জানে কিভাবে একটি নির্দিষ্ট ওয়েব পৃষ্ঠা দেখাতে হয়৷
৷মার্কআপ ফাইলগুলি প্লেইন টেক্সট ডকুমেন্ট হিসাবে সংরক্ষিত হয়। এর মানে আপনি একটি স্ট্যান্ডার্ড টেক্সট এডিটর ব্যবহার করে সেগুলি খুলতে পারেন৷
৷মার্কআপ ভাষা বনাম প্রোগ্রামিং ভাষা
এটি সত্য:মার্কআপ ভাষাগুলিকে প্রোগ্রামিং ভাষা হওয়া উচিত বলে মনে হয়। আমরা সব পরে ভাষা সম্পর্কে কথা বলছি! এই দুটি শব্দ একই শোনায়, এর অর্থ এই নয় যে তারা একই জিনিস৷
৷একটি প্রোগ্রামিং ভাষা একটি কম্পিউটারকে দেওয়া নির্দেশাবলীর একটি সেট যা বিভিন্ন ধরণের আউটপুট তৈরি করে। রুবি, পাইথন এবং পার্ল সব প্রোগ্রামিং ভাষা। অন্যদিকে, মার্কআপ ভাষাগুলি একটি নথি বর্ণনা করতে ব্যবহৃত হয়৷
৷যেখানে আপনি একটি পাইথন বা রুবি প্রোগ্রাম চালাতে পারেন, আপনি একটি চিহ্নিত নথি "চালান" করতে পারবেন না। HTML নথি, উদাহরণস্বরূপ, মৃত্যুদন্ড কার্যকর করা হয় না; তারা ব্রাউজার দ্বারা রেন্ডার করা হয়. XML নথিগুলিও চালানো হয় না; এগুলি একটি বিশেষ ধরনের ডেটা রিডার দ্বারা পড়া হয়৷
৷কোন মার্কআপ ভাষা আছে?
আপনি যদি খনন করতে যান তবে আপনি বেশ কয়েকটি মার্কআপ ভাষার মুখোমুখি হবেন। সেখানে এত বেশি ডেটা রয়েছে যে সমস্ত সম্ভাব্য ব্যবহারের ক্ষেত্রে কভার করার জন্য আমাদের একাধিক ভাষার প্রয়োজন। সেই সাথে বলা হয়েছে, সবচেয়ে সাধারণ হল HTML, XML, এবং XHTML৷
৷হাইপারটেক্সট মার্কআপ ভাষা
হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ বা এইচটিএমএল হল ওয়েব ডেভেলপমেন্টে ব্যবহৃত প্রধান ভাষা। এটি ছাড়া, আমাদের ওয়েবসাইট থাকবে না। এটি একটি ওয়েব পৃষ্ঠার গঠন সংজ্ঞায়িত করে, যেমন একটি পৃষ্ঠায় কোন শিরোনাম, ছবি এবং পাঠ্য উপস্থিত হওয়া উচিত। ব্রাউজারে সেই বৈশিষ্ট্যগুলি কী ক্রমে প্রদর্শিত হবে তাও এটি সংজ্ঞায়িত করে৷ বিপরীতভাবে, CSS (ক্যাসকেডিং স্টাইল শীট) ব্রাউজারে পৃষ্ঠাগুলির বিন্যাস এবং উপস্থিতি নির্ধারণ করতে ব্যবহৃত হয়।
এইচটিএমএল একটি স্ট্যান্ডার্ড মার্কআপ ভাষা। HTML-এ, ট্যাগগুলি একটি ওয়েব পৃষ্ঠার প্রতিটি উপাদানকে সংজ্ঞায়িত করতে ব্যবহৃত হয়, শিরোনাম থেকে ছবি থেকে ফর্ম পর্যন্ত৷
HTML ভাষা আন্তর্জাতিক সংস্থা ওয়ার্ল্ড ওয়াইড ওয়েব কনসোর্টিয়াম, বা W3C দ্বারা নিয়ন্ত্রিত হয়। ওয়েব কীভাবে কাজ করে তার জন্য এইচটিএমএল এতটাই প্রয়োজনীয় যে এটিকে ধারাবাহিকভাবে লিখতে এবং প্রক্রিয়া করার জন্য আন্তর্জাতিক মানের একটি সেট প্রয়োজন৷
HTML-এর নতুন সংস্করণ হল HTML5, এতে পূর্বসূরীর থেকে বেশ কিছু উন্নতি রয়েছে। সেই সাথে বলা হয়েছে, ওয়েবে ভাষা কতটা গুরুত্বপূর্ণ তার কারণে HTML-এর বেশিরভাগ পরিবর্তনই ক্রমবর্ধমান।
এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ
এক্সএমএল, বা এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ, ডেটা পরিবহন এবং সঞ্চয় করার জন্য ডিজাইন করা হয়েছিল। ভাষাটি স্ব-বর্ণনামূলক।
এর কারণ হল আপনি আপনার 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
ট্যাগ আমাদের বই ট্যাগের মধ্যে উপস্থিত হয়. বই ট্যাগ আমাদের XML ফাইলে একটি এন্ট্রি প্রতিনিধিত্ব করে৷
এক্সটেনসিবল হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ
XHTML হল HTML4 এর একটি সংস্করণ যা XML মান পূরণ করে। আরও বৈচিত্র্যময় বৈশিষ্ট্য সেটের চাহিদার জন্য এটি মূলত HTML5 দ্বারা প্রতিস্থাপিত হয়েছে। কিন্তু ইন্টারনেটের কিছু কোণায় আজও এটি ব্যবহার করা হচ্ছে। বেশিরভাগ সাইট যেগুলি XHTML ব্যবহার করে সেগুলি কয়েক বছর আগে বিকশিত যা কিছু সময়ের মধ্যে আপডেট করা হয়নি৷
৷এক্সএইচটিএমএল এবং এইচটিএমএল খুব একই রকম, তবে কিছু পার্থক্য রয়েছে যা আপনি লক্ষ্য করতে পারেন। উদাহরণস্বরূপ, HTML বৈশিষ্ট্যগুলির একটি নাম এবং একটি মান উভয়ই থাকতে হবে; আপনি স্বতন্ত্র বৈশিষ্ট্য ব্যবহার করতে পারবেন না। উপরন্তু, সমস্ত XHTML ট্যাগ ছোট হাতের অক্ষরে লেখা হয়। HTML-এ, আপনি বড় হাতের অক্ষর বা ছোট হাতের অক্ষর ব্যবহার করে লিখতে পারেন, যদিও সর্বোত্তম অনুশীলনগুলি আপনাকে ছোট হাতের অক্ষর ব্যবহার করার পরামর্শ দেয়।
উপসংহার
মার্কআপ ভাষাগুলি একটি নথির মধ্যে উপাদানগুলিকে সংজ্ঞায়িত করতে ব্যবহৃত হয়। এই ভাষাগুলি, যেমন HTML এবং XML, মানুষের দ্বারা পাঠযোগ্য হওয়ার জন্য ডিজাইন করা হয়েছে৷ এটি আপনার জন্য ডেটা মার্কআপ ভাষাগুলি কী প্রতিনিধিত্ব করছে তা বোঝা সহজ করে তোলে৷
মার্কআপ ভাষায়, কম্পিউটারে মার্কআপ নির্দেশাবলী ট্যাগ ব্যবহার করে উপস্থাপন করা হয়। এই ট্যাগগুলি সাধারণত কোণ বন্ধনীর মধ্যে সংরক্ষণ করা হয় (<>
)।
এখন আপনি একজন ওয়েব ডেভেলপমেন্ট বিশেষজ্ঞের মতো মার্কআপ ল্যাঙ্গুয়েজ সম্পর্কে কথা বলা শুরু করতে প্রস্তুত!