كذلك
البعض يطلق مصطلح (Very High Level Language) على بعض اللغات مثل
JavaScript، وهى التى لا تهتم بنوع النظام من قريب أو من بعيد وتعمل على أى
نظام معد لذلك.
أما اللغات الجديدة (NET.) فيعرف ما يسمى (CLI) اختصار لـ(Common Language
Infrastructure) وهى من إنتاج وتطوير شركة Microsoft، وهو ان كل Compiler
مثل (C# - VB.Net - ... الخ) يترجم إلى صيغة واحدة (CIL) التى تتحول إلى
(CLR)، للمزيد من المعلومات: Common Language Runtime
خلاصة القول: الهدف هو التطوير
استخدام الـ Machine Code صعب جداً ويحتاج إلى دراسة جيده جداً لبنية
الحاسب والمعالج، كذلك صعب فى اكتشاف الأخطاء وتصحيحها، لذلك تم تطوير لغة
التجميع Assembly لتخفيف العبء على المبرمج، فأصبح من الممكن استخدام أسماء
للعناوين (عناوين الذاكرة Memory Addresses) بدلاً من حسابها وأثناء عملية
(Pre-Compiler) يقوم الـ (Assembler) بحسابها بالنيابة عنك (على سبيل
المثال هذه العملية مرهقة جدا جدا، لأنك إذا أضفت أو حذفت تعليمة فى
المنتصف، فتحتاج إلى إعادة حساب كل عناوين البرنامج)، ثم تم تطوير اللغات
عالية المستوى، مثل السى، فأصبح هناك أكود تم كتابتها وتجربتها وجاهزة مثل
الدالة strcpy فبدلاً من إعادة كتابة كود الـ Assembly مرة أخرى وتصحيحه،
ليقوم بنفس الوظيفة، فأصبح جاهز عندك يمكنك استخدامه مباشرتاً من خلال
استدعاء الدالة "سطر واحد" (أى لا داعى لإعادة اختراع العجلة).
ثم ظهرت الـ Classes وهى تقوم بتجميع وظائف روتينية يتم تكرارها فى كل مرة،
لتجنب التكرار وكتابة الكود واختباره مرة واحدة، ومن ثم إعادة استخدامه.
ثم ظهرت اللغات الأرقى مثل الـ VB (الذى هو تطوير لـ QuickBasic) وأغلبه
يعتمد على (ActiveX) التى بدورها لتسهيل التعامل ومنع تكرار روتين يتكرر فى
كل مرة، وتشير بعض الإحصائيات (حالياً) أن أكثر من 60% من المبرمجين
يبرمجون كلياً أو يحتاجون لعمل بعض النماذج باستخدام الـVB مما جعل ميكروسوفت تمدد فترة الدعم الفنى له حتى نهاية مارس 2008، والفيجوال بيزيك يسهل الكثير من العمليات ويوفر العديد من الأدوات، وخاصة التعامل مع COM مقارنة بلغة السى.
كذلك أيضا الـ (NET.) تم فيها تجميع الكثير من الأعمال الروتينية وتغليفها
فى شكل دوال سهلة الاستخدام، وهذا كله بدوره لرفع العبئ عن المبرمج وجعله
يتفرغ للتفكير فى المشكلة الأساسية للبرنامج، وبدلاً من إهدار الوقت فى
أكواد يتم تكرارها دائماً، فأصبحت اللغة تقدم لك هذه الأكواد جاهزة، كل ما
عليك البحث عن طريقة وكيفية استخدامها بما يناسب برنامجك.
وكما تلاحظ، فإن فى كل مرحلة يتم دمج العديد من الوظائف ليظهر فى هيئة دالة
واحدة، وبالتالى حجب المبرمج عن العديد من التفاصيل، وإعفائه من كتابة
العديد من الكود، وهذا بدوره له جانب إيجابى وجانب سلبى، الجانب الإيجابى
هو سهولة الاستخدام، أما الجانب السلبى هو حجبك عن العديد من الإمكانيات،
وإهدار الكثير من وقت المعالج والذاكرة (أصبحت لا تشكل مشكله كبيره حالياً
مع الذاكرات الضخمة والمعالجات السريعة جداً)، فلكى تتحكم فى الـ
(Hardware) ستعود للغة التجميع (أو السى)، كذلك فى التطبيقات التى تحتاج
سرعات عالية جداً وتستغرق وقت فى تنفيذها (مثل Image Process أو Vedio
Trace Systems) فلا سبيل سوى لغات مثل السى (أو الـ Assembly خاصة إذا كان
يستخدم فى نظم عسكرية، فالصاروخ الذى يسير بسرعة 800 كم/ساعة، ومثبت به
كاميرا لتصوير المنطقة عند الاقتراب من الهدف ومطابقتها لصورة الرقمية للهدف مخزنه داخله مسبقاً للتوجه الدقيق نحو الهدف ، تجد أن هذا كله يحتاج أجزاء من الثانية لإتمامه
فلابد من Assembly أو Machine Code)، أما فى التطبيقات العادية التى تتميز
بها لغات بعينها مثل تطبيقات قواعد البيانات أو الوجهات الرسومية (GUI)
الجذابة، فستجد الفيجوال بيزيك ممتاز جداً، بالطبع والعديد من التطبيقات
الأخرى، ولكن هذين على سبيل المثال.
============
تطوير لغة السى:
تم تطوير لغة الـ C، ما بين عامى 1969 و 1973 ولكن أغلب العمل كان عام
1972وتم التطوير بواسطة Dennis Ritchie فى معامل بيل (Bell Telephone
Laboratories) - الذى أخرج الكثير من الاختراعات الحديثة - للاستخدام مع
Unix، وقد سمية بلغة الـ C لأنها أخذت الكثير من لغة تسبقها كانت تسمى B.
فى عام 1978 كلأ من Dennis Ritchie و Brian Kernighan أصدرا الكتاب الشهير
(The C Programming Language) وعرفت وقتها لغة الـ C باسم "K&R C"
والإصدار الثانى من هذا الكتاب كان يشرح لغة السى القياسية (ANSI C).
فى عام 1979 بدء Bjarne Stroustrup فى نفس المعمل فى تطوير هذه اللغة،
وأضاف إليها العديد من الخصائص أهمها Classes وأطلق على اللغة الجديدة أسم
(C with Classes) ، فى عام 1983 تم تغير الاسم من (C with Classes) إلى (++C) والمعروفة حتى يومنا هذا بهذا الاسم.
فى أواخر 1985 كان الإصدار الأول من المرج (The C++ Programming Language) وفى 1989 كان الإصدار الثانى واستمرت عجلة التطور.
لذا البعض يطلق عليها اختصارا +C ولكن المقصود ++C فالمقصود لغة واحدة ، لذا هناك لغة الـ C وتطويرها وهو الـ ++C
لكتابة البرامج بلغة السى، يمكن استخدام ++Microsoft Visual C وهو يأتى مع
حزمة (Visual Studio) الكاملة التى يأتى معها أيضاً الـ (Visual Basic) إذا
لم تشتريه منفصلاً، كذلك هناك منتجات شركة Borland الشهيرة جدا ++Borland
C/C و ++Turbo C/C وWatcom والعديد من الشركات الأخرى ولكن هؤلاء أشهرهم،
راجع C++ Compilers.
كيفة استخدام أوامر الاسمبلى في برنامج في ال ++C:
مثال: Asm_C.zip
رمز برمجي:
#include
int main(int argc, char* argv[])
{
int i;
i = 5;
__asm
{
mov i, 9
}
printf("\r\ni=%u\r\n", i);
return 0;
}
تحايتي :: رقيق القلب