لماذا html ليست لغة برمجة هو واحدًا من الأسئلة الشائعة التي يطرحها المهتمين بعلوم الحاسوب كثيرًا عندما يقررون الاتجاه إلى البرمجة وتطوير البرامج، وذلك لأن htm هو أساس تصميم صفحات ومواقع الويب، فعبر موقع مخزن سنوضح لماذا لم يتم تصنيف لغة html ضمن لغات البرمجة.
إن لغة html هي عبارة عن لغة توصيف أي أنه لا يُمكن اعتبارها بمثابة لغة برمجة وذلك للأمور الآتية:
لغة التوصيف تقوم بوصف البيانات فقط أي أنها تساهم في تنظيم طريقة عرض المحتوى، فعلى سبيل المثال تقوم بتنسيق عرض الكلمات كما يتم عند كتابة التقرير على برنامج الوورد.
لا يُمكن للغة html أن تقوم بمعالجة المسائل والقيام بأي مهمة ولو بسيطة مثل حساب ناتج جمع 1 +1.
تستخدم لغات البرمجة المنطق مثل التكرار الشرطي (Loops) وأسلوب الشرط (IF–else) بينما لا تستخدم لغة التوصيف مثل html المنطق.
لا تستطيع لغة html تعريف المتغيرات ومعالجتها، في حين أن لغة البرمجة تقوم بتعريف المتغيرات ووضع قيمة لها مثل (X = 1).
يُمكن أن تعمل لغات البرمجة على أخذ المدخلات ومن ثم معالجتها وإيجاد المخرجات بينما لا تستطيع لغة html القيام بذلك.
يعالج مترجم الخادوم لغات برمجة الويب قبل أن يقوم بعرضها على المتصفح، ولا يُعالج html لأن هذه اللغة تصف شكل المخرجات للمتصفح ولا تعد لغة برمجة.
المتخصص في كتابة الكود بواسطة html ولا يجيد أي لغة أخرى لا يُمكن أن يكون مبرمجًا إذا لم يكن على دراية بلغات البرمجة المتحكمة في تصرفات الحاسوب.
تعريف لغة HTML
لغة HTML هي اختصار (HyperText Markup Language) ويُقصد بها لغة توصيف النص التشعبي نظرًا لاستخدامها لتعريف بنية صفحات الويب إلى جانب تحديد المحتوى الموجود ضمنها من الفقرات النصية والعناوين والصور والقوائم وغيرها، ويعزى السبب وراء تسميتها بذلك إلى الآتي:
النص التشعبي (HyperText): يشير إلى أي نص يحتوي ضمنه على روابط لمواقع أخرى، حيث إنه النص الذي يسمح بالانتقال من نقطة لأخرى دون السير في خط سير محدد، فبدلًا من قراءة صفحة الويب بالترتيب الموضوع لها من الممكن استخدام النص التشعبي للانتقال لأى قسم آخر في الصفحة.
التوصيف (Markup): تقوم لغة html بالمساعدة على تخطيط الصفحات وكذلك على تنسيق عناصرها من خلال استعمال مجموعة من الوسوم تُعرف باسم Tags حيث إنها تعطي التعليمات لمتصفح الويب لعرض الصفحات بشكل سهل الفهم.
اللغة (Language): كما أسلفنا ذكرًا لغة html هي لغة توصيفية تصف المحتوى ولا تقوم بمعالجة المسائل مثل لغات البرمجة.
مكونات لغة HTML
إن المكونات الأساسية للغة html هي العلامات والتي تُعرف باسم الوسوم (Tags) وتساهم في التعبير عن طريقة عرض المحتوى، وكذلك العناصر (elements) والتي تعرض المحتوى داخلها، حيث إن كل وسم يعبر عن اسم عنصر محدد، وكل عنصر يتكون من وسم بداية وآخر نهاية يتم الإشارة إليهما بعلامتي “أصغر من < ” ،، ” وأكبر من > “، ففيما يلي سوف نوضح بنية لغة html بالتفصيل:
نوع المستند <!DOCTYPE html>
يظهر في أعلى مستند html أو بدايته رمز <!DOCTYPE html>.
حيث إنه يخبر المتصفح وكذلك خوادم الويب على الصفحات بنسخة لغة html التي يتم استخدامها بهدف تصميم الصفحة.
فإن الخادم يتطلب معرفة نوع الملف قبل القيام بإرساله إلى جهاز العميل.
وسم بداية الصفحة <html>
يُكتب وسم بداية الصفحة <html> أسفل وسم نوع المستند، وهو يُصنف كالحاوية الرئيسية نظرًا لاحتوائه على جميع العناصر الأخرى.
فعلى سبيل المثال يدل الوسم <“html lang= “ar-Ar> على أن الصفحة مكتوبة بالكامل باللغة العربية.
الرأس <head>
يقع وسم الرأس <head> بين وسم بداية الصفحة ووسم الجسم حيث إنه يحتوي على بيانات وصفية تساهم في وصف معلومات الصفحة.
وهو من الممكن أن يتضمن وسوم أخرى مثل:
<title>: يعرض عنوان عن الموضوع العام لصفحة الويب، وهو منفصل عن العنوان الذي يظهر في النص الأساسي ولكنه يتطلب أن يتطابق معه.
<style>: يساعد على توضيح كيفية ظهور العناصر في المتصفح حيث يشمل لون العنوان ولون خلفية النص ومحاذاة النص وغيرها.
<link>: يشير إلى صفحة الويب الأخرى المرتبطة بصفحة HTML.
<meta>: يحتوي على الكلمات الأساسية ووصف الصفحة.
<base>: يرمز إلى عنوان URL الافتراضي.
الجسم <body>
يعد الجسم <body> في لغة html بمثابة الجزء الرئيسي لأنه يحتوي على المعلومات التي يعرضها المستعرض على المتصفح وتظهر للقارئ.
وهو من الممكن أن يشمل الآتي:
العناوين header: تتضمن عنوان الموقع وقائمة التنقل الرئيسية وكذلك شريط البحث، وأقوى عنوان فيها هو h1 نظرًا لأنه يحتوي على العنوان الرئيسي للمحتوى.
المحتوى الأساسي main content: يشمل عنوان المقالة والمحتوى وتاريخ النشر والمؤلف وغيرها.
الأشرطة الجانبية sidebars: هي عبارة عن عناصر واجهة الاستخدام والتنقل الثانوي ومن أبرز الأمثلة عليها الأرشيفات وفقًا للفئة أو التاريخ.
التذييل footer: يحتوي على معلومات الاتصال وحقوق النشر والروابط الاجتماعية بالإضافة إلى المقالات ذات الصلة.
إصدارات لغة HTML
شهدت لغة HTML تطورًا هائلًا على مر السنوات، ففيما يلي سوف نشير إلى إصداراتها ومميزات كل منهم:
HTML 1.0
تم إصداره في عام 1992 ، وهو يتميز بأنه لديه قدرة محدودة للغاية وحوالي 20 عنصرًا
HTML 2.0
تم إصداره في عام 1995، واتسم بالقدرة على دمج العناصر المتعلقة بوظائف الرياضيات
HTML 3.2
تم إصداره في عام 1996، ولقد ساهم في إسقاط مبادرة دالة الرياضيات تمامًا، فضلًا عن ذلك فأثبت التداخل بين امتدادات الملكية المختلفة
HTML 4.0
تم إصداره في عام 1997 ، وذلك بثلاثة أشكال مختلفة اختلفت في عدد العناصر المهملة التي تم السماح بها
HTML 4.01
تم إصداره في 1999 ، وهو إلى حد كبير يشبه إصدار 4.0
HTML 5
تم إصداره في عام 2014 ، وذلك بعد انقطاع طويل في التحديثات لأن المنظمة التي طورته (منظمة W3C) كانت تركز على لغة أخرى موازية تسمى XHTML
HTML 5.1
تم إصداره في عام 2016 ، واتسم بالقدرة على استيعاب أنواع مختلفة من الوسائط المتضمنة بسهولة أكبر مع علامات جديدة
HTML 5.2
تم إصدارها في عام 2017، وساهم في جعل لغة html مفهومة بشكل متساوٍ من قبل البشر وأجهزة الكمبيوتر
أشهر محررات لغة اتش تي ام ال HTML
من المحررات التي يُمكن خلالها كتابة نصوص وأكواد HTML ما يلي:
Atom.
Notepad++.
Sublime Text 3.
Notepad.
استخدامات لغة HTML
تعد لغة HTML بمثابة العمود الفقري لصفحات الويب، حيث إنها تستخدم في الآتي:
المساعدة على جعل عملية تصفح مواقع الويب والتنقل بينها سهلة.
تنسيق محتوى الويب وتميز الأجزاء الموجودة فيه عن بعضها.
تهيئة الصفحة للظهور في محركات البحث SEO، فلغة html يوجد فيها أكواد تسمح بإضافة عنوان الصفحة ووصفها.
القدرة على تشغيل تطبيقات الويب وكذلك استعراضها دون اتصال.
المساهمة في تطوير الألعاب لا سيما نسخة HTML 5 والمدعومة بتقنيات الوسائط المتعددة ومقاطع الفيديو والصور والأصوات.
مميزات وعيوب لغة HTML
خلال رحلة تعلم لغة HTML لا بد من التعرف على مزاياها وعيوبها للإلمام بجميع الجوانب الخاصة بها والقدرة على التعامل معها عند استخدامها، إذ تتمثل مميزات وعيوب هذه اللغة فيما يلي:
مميزات لغة html
خفيفة وسريعة التحميل.
سهلة التعلُّم والاستخدام والتنفيذ.
تتكامل مع لغات أخرى مثل JavaScript وCSS.
سهولة العثور على الأخطاء فيها، إذ يشير المتصفح للسطر الذي يحتوي على خلل معين.
مدعومة من جميع متصفحات الويب تقريبًا.
تسمح بتخزين الملفات الكبيرة، ويعزى السبب وراء ذلك لوجود ميزة ذاكرة التخزين المؤقت للتطبيقات App Cache.
لغة مستقلة تمامًا عن أنظمة التشغيل، إذ من الممكن استخدامها مع أي نظام مثل ويندوز وأندرويد وغيرها.
عيوب لغة html
لا يمكن تخزين البيانات وتبادلها بواسطة HTML.
الحاجة إلى كتابة أكواد كثيرة لمجرد إنشاء صفحة ويب بسيطة.
HTML ليست لغة برمجة بالمعنى الحقيقي،حيث إنه لا يُمكن إجراء أي نوع من الحسابات أو أي مخرجات ديناميكية.
لا تدعم البرمجة كائنية التوجه OOP، إذ إنها لا تحتوي على ميّزات تُمكّنها من إعادة الاستعمال للأكواد البرمجية وكذلك استدعائها في البرامج الأخرى دون إعادة برمجتها.