لغة البرمجة هي لغة يتم كتابة البرامج بها ليقوم جهاز الحاسوب بتنفيذها. تقسم لغات البرمجة للحاسوب لعدة اجيال أو أنواع، بناء على قربها من اللغات الإنسانية. وتقسم أحيانا بناء على الأغراض لهذه اللغة.
تعريف البرمجة
من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات. و تكون عملية البرمجة متبعة لقواعد محددة باللغة التي اختارها المبرمج. و كل لغة لها خصائصها التي تميزها عن الأخرى و تجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج. كما أن للغات البرمجة أيضا خصائص مشتركة و حدود مشتركة بحكم أن كل هذه اللغات مجعولة للتعامل مع الحاسوب.
خصائص لغات البرمجة
لغة البرمجة هي بالأساس طريقة تسهل للمبرمج كيفية اعطاء أوامر للحاسوب لكي يقوم بالعمل المطلوب منه. و للقيام باعطاء الأوامر توفر لغة البرمجة المختارة مجموعة من اللبنات الأساسية للأستناد عليها خلال عملية بناء البرنامج و مجموعة من القواعد التي تمكن من التعامل مع معلومات و تنظيم هذه الأسس التي توفرها اللغة لتتكامل و تقوم بعمل مفيد. تتمثل هذه الأسس و القواعد بصفة عامة من:
المعلومات و تخزينها
الأوامر و تنظيم سيرها
التصميم الخاص
المعلومات و تخزينها
ان المعلومات في الأجهزة الرقمية الحالية يتم تخزينها على أرقام على نظام العد الثنائي و بصفة عامة فان المعالجات الحديثة لا تقوم بالتعامل مع البت الواحد بل مع مجموعات من البتات يمكن أن تضم :
8 بت = بايت وهي أصغر وحدة تخزين معلومات في الحواسيب الحديثة
16, 32, 64, أو 128 بت
و باستعمال 8 بت مثلا, يمكن تشكيل 256 قيمة مختلفة, و يمكن أن تكون هذه القيمة بين 0 و 255 و تمثل وظيفة لغة البرمجة استغلال وحدة أو مجموعة من الوحدات لتخزين معلومات من الحياة الواقعية مثل الأسماء أو القياسات أو أرقام الحسابات البنكية
الأوامر و تنظيم سيرها
يقوم المبرمج باجراء عمليات على وحدات المعلومات مثل تخزينها و قرائتها و مقارنتها و اجراء عمليات حسابية عليها أيضا, وتتبع العمليات القواعد المحددة للغة. و للغة البرمجة دور آخر و هو التحكم في تنظيم اجراء العمليات, حيث تحرص على اجرائها بنفس تنظيم كتابتها من طرف المبرمج و تمكن اللغة أيضاً من اجراء عملية اختيار و تفرع, فلنفترض أن البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستعمل, و اظهار النتيجة على الشاشة, و من المعروف أن القسمة على صفر لا تجوز, و هنا يقوم البرنامج بالاختيار : فاذا كان القاسم مخالفا لصفر فان البرنامج يقوم باجراء العملية و يعطي النتيجة, أما اذا كان القاسم صفراً فان البرنامج لا يقوم باجراء العملية و انما ينبه إلى أن المستعمل حاول القسمة على صفر. و يمكن تنظيم الأوامر بصفة أخرى, حيث يقع تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة (Loop) و يمكن تقسيم الأوامر أيضاً إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد, و الهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة (Loops)
التصميم الخاص
تتمتع كل لغة بتصميم خاص يختلف عن طريقة كل لغة في التعامل مع المعطيات, و عن طبيعة الطرق و التسهيلات التي توفرها اللغة للتعامل مع مشكلة معينة.
يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية (Basic, Fortran) وهي لغات تسلسلية، أساس بناؤها هو الإجراءات المطلوب تطبيقها على الأشياء والمتحولات. ولغات شيئية (C, Java, Delphi) وهي لاتسلسلية، وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويرها، من خلال تطبيق مجموعة معينة من الإجراءات عليها. كشطزريم
أمثلة علي لغات البرمجة
(لغة أسمبلي)
لغة أسمبلي (بالإنجليزية: Assembly language)، هي الصيغة السهلة القراءة للبشر المقابلة للغة الآلة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما. فلغة الآلة عبارة عن تتابع من البتات (bits) تمثل عملية حاسوبية أو امر للحاسوب، تصبح أسهل للقراءة عندما تستبدل برموز تعبر عنها. و لكل معالج لغة أسمبلي خاصة به كما أن له "لغة آلة Machine Language" خاصة به. و تحتاج لغة الاسمبلي ما يسمى الاسمبلر (Assembler) او المجمع و هو الذي يقوم بتحويل لغة الاسمبلي التي يستطيع البشر قراءتها و التعديل فيها إلى لغة الالة التي يستطيع المعالج تنفيذها. و تستخدم هذه اللغة الان من قبل البشر و ذلك لبرمجة اجزاء من نظم التشغيل او للتاكد من سرعة و كفاءة تنفيذ بعض البرامج التي يحتاج فيها الكفاءة كبرامج المحاكاة و الالعاب. و تتكون اسطر برامج الاسمبلي من ثلاثة اجزاء:
العلامة (Label) و هو ما يتم به الاشارة لسطر ما في سطور اخرى.
الامر (Instruction) و هو يكون مناظر في الغالب لامر في المعالج و هو ما سيقوم المعالج بتنفيذه عند الوصول لهذا السطر اثناء تنفيذ البرنامج.
المعامل (Operand) و هو المتغير الذي سيتم تطبيق الامو عليه.
(لغة سي)
السي هي لغة برمجة، مقننة و عالمية، صممها وطوّرها في أوائل السبعينيات كن تومسون، براين كرنيغان، و دنيس رتشي. و قد صممت في الأصل لتستعمل في تطوير و العمل تحت نظام التشغيل يونكس، ثم لقيت انتشارا واسعا منذ ذلك الحين و تواصل إلى اليوم و يظهر ذلك من خلال شعبيته لدى أغلب مبرمجي الحاسوب و من خلال استعمالاته العديدة و المتنوعة. و لغة السي هي لغة انبنت عليها عديد اللغات و الهجات الحديثة مثل ال سي بلس بلس و الجافا
تاريخها:
تم تصميم السي في مختبرات بيل ما بين 1969 و 1972، وقد تم تسميته بالسي لأن جزأ كبيرا منه قد اقتبس عن لغة البي (B) و عندما تطورت السي إلى درجة أصبحت فيها بالقوة الكافية لتحويل نواة يونكس من الأسمبلي إلى السي
وفي سنة 1978 قام كرنيغان (Brian Kernighan) و رتشي (Dennis Ritchie) بنشر الكتاب المشهور The C Programming Language و ذلك لتحديد خصائص اللغة, و يعرف هذا الكتاب في الأوساط المختصة ب K&R. الا أن تقنين اللغة و تبنيها بصفة رسمية من طرف الANSI و الISO تم في الثمانينات و كنتيجة لذلك ظهرت الطبعة الثانية للكتاب بعنوان The C Programming Language, Second Edition, أو K&R2 وهو المرجع الرئسئ للغة إلى حد الآن ISBN 0-13-110362-8 . و بتقنين اللغة تمت اضافة أجزاء و تنقيح أخرى لتفادي السلبيات التي ظهرت في السابق ولتهيئة أداة أفضل و أقوى بالنسبة للمبرمج
و لولا ظهور لغة السي و تجربتها التي فاقت الثلاثين سنة لما كان ممكنا ظهور اللغات الحديثة و الشيئية مثل السي بلس بلس أو على الأقل لما أصبحت كما تعرف عليه اليوم
مثال Hello, World بالسي
#include <stdio.h>
int main (void)
{
printf("hello, world!\n");
return 0;
}
تعريف المتغيرات
المتغيرات هي موقع في ذاكرة الحاسوب يمكن أن نخزن فيها قيم كي نستطيع استرجاعها في وقت آخر والتعامل معها
شروط تسمية المتغيرات: 1-عدم بداية تسمية المتغير بأي رقم. 3-لا يمكن أن تستخدم علامات الترقيم أو علامات الاستفهام أو الكلمات المحجوزة مثل:for ضمن اسم المتغير، فمثلاً لاحظ الفرق بين أسماء المتغيرات في الأمثلة التالية: 1- int a,m,counter; 2- int a?,1999_age; ستجد أن السطر الأول مسموح باستخدامه ولكن السطر الثاني غير مسموح باستخدامه لأنه يحتوي على علامة استفهام وعلامة ترقيم. 3-أن الاسم الذي نعطيه للمتغير يجب أن لا تختلف حالة حروفه في نفس البرنامج. مثال: no لا تساوي كلمة NO . أنواع المتغيرات والمساحات التي تأخذها في الذاكرة
تعريف الدوال
دوال الادخال والاخراج
دالة الطباعة علي الشاشةprint f()
ملف التوجية stdio.h تستخدم الدالةprint f لطباعة البيانات بجميع انواعها (FLOAT,INT,CHAR,STRING) علي الشاشة فقط.
(سي بلس بلس)
سي++)تنطق: سي بلس بلس) (++C)بالإنجليزية
هي لغة برمجة للإستخدامات العامة، تعتبر لغة السي++ لغة برمجة كائنية. والتي يعتبرها الكثيرون اللغة الأفضل لتصميم التطبيقات ذات الواجهة الكبيرة. ولغة السي بلس بلس ++C من لغات البرمجة العالية المستوي وفي نفس الوقت قريبة من لغة التجميع ذات المستوي المحدود. وهي لغة ناشئة من لغة C الذي قام بتطويرها بيارن ستروستروب إلي ++C.
تاريخ السي بلس بلس
طور بيارن ستروستروب (Bjarne Stroustrup)، والذي كان يعمل في مختبرات بيل، لغة السي++ في الثمانينات كتحسين للغة السي، تشمل السي++ جميع مزايا السي بالأضافة إلى مزايا
البرمجة الكائنية، تسهّل لغة ++C الأسلوب المهيكل والمنهجي لعملية تصميم البرامج،وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.
ومثلها مثل لغة السي، فان السي++ هى لغة متعدده الاستخدامات الا انها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدام السي++ ومنها نظام جنو/لينكس.
و يتجنب الكثير من المبرمجين لغة السي++ والسي نظرا لشهرتهما كلغات برمجة معقدة. وقد أدى ذلك إلى استخدام الكثيرين للغات مثل فيجوال بيسك وديلفي ثم جافا وسي شارب والأخيرتين هما مجرد تسهيل (و ليس تطوير) للغة السي++ وبدا في وقت معين أن لغات مثل الجافا سوف تستولى على سوق البرمجيات التجارية من السي++ مع هجرة عدد كبير من مبرمجى السي++ إلى جافا وسي شارب ، الا أنه سرعان ما أدرك المبرمجون أن السي++ هى السبيل الوحيد لانتاج برامج تجارية قوية وسريعة وتؤدى المطلوب منها بكفاءة وبأقل عدد من الأخطاء.
بين السي والسي بلس بلس
- تدعم السي++ السي بشكل كامل(نظريا أو هذا ما تقوله الشركات المنتجة للمترجمات) وعمليا يمكن لمعظم برامج السي أن تترجم بواسطة مترجمات سي++ ولهذا تسمى هذه المترجمات بمترجمات سي/سي++. - الا أن الأمر لا يخلو من بعض المشاكل غير المتوقعه، مثلا قد يحدث أن تسمى متغيرا باسم new وهى كلمة محجوزه في سي++ وليست محجوزة في سي.
الجديد في سي بلس بلس
الاضافة الأهم التى أتت بها السي++ عن السي هى بالطبع اليرمجه عن طريق الكائنات. حيث تعتمد السي على البرمجة الاجرائية والتى كانت كافية في وقتها. الا أن بظهور أنظمة التشغيل ذات الواجهة الرسومية انتقل معظم المبرمجين إلى البرمجة بالكائنات . الا أن السي مازالت تستخدم في برمجة الويندوز.
و هذا بالاضافة إلى بضعة اضافات أخرى مثل :
- مكتبات جديدة لأداء مهام الادخال والاخراج تعتمد على الكائنات.
- كلمة inline التى تضمن الاجراء الفرعى في الأساسي بدلا من استدعائه.
- استخدام الاشاره // لتضمين الملاحظات بطول سطر واحد.
سبب صعوبتها
ربما تعود أسباب صعوبة لغتى السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهى لغة السي بى ال CPL والتى اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطوت إلى لغة البى B وعندما أرادو تطويرها سموها سي( وهذا هو أصل تسمية السي) ، وبالطبع ورثت السي++ خصائص لغة سي. الا أنه لا يمكن انكار أن مفاهيم مثل المؤشرات pointers ، والاشارات هى مفاهيم مربكة للمبرمج المبتدىء ، بالضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التى تربك حتى المبرمجين المحترفين. وكذلك لا تقدم سي++ الحماية الكافية للمبرمج كى لا يقع في أخطاء التشغيل التى قد تتسبب في توقف الحاسوب عن العمل. كيف؟
فى لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كلأتى :
Dim A(20) As Integer
ثم تحاول معالجة العنصر رقم 21 مثلا فسوف يبادرك محرك الفيجوال بيسك برسالة خطأ ويتوقف برنامجك. أما في السي++ فاذا عرفت مصفوفة بنفس الحجم : int a[20] // integer a from 0-19 not from 0-20 و عندما تحاول الوصول إلى العنصر رقم عشرين مثلا تكون قد تعديت حدود المصفوفة إلى جزء من الذاكرة ربما تكون مخصصة لبرنامج أخر أو معلومات حساسة لنظام التشغيل. و المشكلة الأخرى التى تربك الكثيرين أن أول عنصر بالمصفوفة هو 0 وليس 1 وحجمها 20 أى أن العنصر الأخير هو 19 وليس 20 مثل البيسك.
أمثلة:
مثال !Hello, World بالسي++
#include <iostream.h>
int main()
{
cout << "Hello, world!\n";
}
التطور المستقبلي:
سي++ يواصل التطوّر لتلبية المتطلبات المستقبلية. نسخة جديدة من سي++
القياسية حاليا هي قيد التطوير، لقبة سي++0اكس، يشّار بأنّه يتوقع أن يكون
إصدارها قبل 2010. يشير العمل الحالي بأنّ سي++ سيواصل الإستفادة من
طبيعته متعددة المثال. [Boost.org] مجموعة تعمل للإستفادة إلى أبعد الحدود
من سي++ في شكله الحالي. هم يتوسّعون كثيرا في سي++ من حيث الوظيفية
والقدرات وينصحون أيضا سي++ لجنة معايير التي فيها تعمل الميزّات حسنا
والتي تحتاج التحسين.
(جافا)
الهدف الأساسي لنشأة جافا هو إيجاد لغة مشابهة للغة سي+ + من حيث التركيب النحوي ، كائنية التوجه، و مصممة للعمل علي اّلة إفتراضية
بحيث لا تحتاج إلي الترجمة من جديد عند استخدام برامجها على منصة تشغيل أو نظام تشغيل
جديد، حيث قامت شركة صن بإنشاء الاّت افتراضية لتشغيل جافا على معظم منصات
و نظم التشغيل الموجودة حاليا، فاصبح من الممكن ترجمة البرنامج مرة واحدة
ثم تشغيله على نظم مختلفة أو ما أسمته صن ب إكتب مرة واحدة
الإنجليزية
، شغل في أى مكان : (Write Once, run anywhere).
بين نوفمبر 2006 و مايو 2007 تم فتح المصدر لهذه اللغة واصبحت Open Source Code تحت ترخيص جنو.
سميت لغة الجافا من قهوة الجافا (الجاوة) التي تزرع في جزيرة جاوا، قد تطورت من مشروع كان يسمى أوك (بلوط) (من شجر البلوط الذي كان موجودً خارج نافذة جوسلينج).
ملاحظة: يجب عدم الخلط بين الجافا والجافا سكريبت فرغم تشابة اللغتين في السياق والتراكيب الا أنهما لغتان مختلفتان ولهما أهداف مختلفة.
تاريخها
بدأت جافا كمشروع يدعي أوك (البلوط) Oak (جائت التسمية من شجرة بلوط كانت تقف خارج مقر شركة صن ميكروسيستمز) عن طريق الأب الروحي للجافا جيمس جوسلينج James Gosling في يونيو عام 1991 لكي تستخدم في مشروع Set Top Box.
كان هدف المشروع صنع لغة برمجمة تعمل على اي جهاز صغير، خلال فترة صغيرة تغيرت أهداف المشروع و تغير المشروع نفسه إلى جافا وقد اصدر الإصدار الأول منها عام 1995. كان الإصدار الأول من جافا يهتم بتوفير امكانية صنع بريمجات الويب ( التي تعمل في متصفح الانترنت) و خلال و قت وجيز اصبحت معظم متصفحات الإنترنت تدعم الجافا بسبب امكانيات العالية و الثبات والأمان التي وفرتهم الجافا في تلك الفترة.
في عام 1998 تم تطوير الجافا بشكل جذري و اصبحت تسمى جافا2 و من أهم التطويرات التي وضعت في هذه الإصدارة هي امكانيات الجافا في الواجهة الرسومية للمستخدم.من ثم كان هنالك العديد من التطويرات الجافا التي لا يزال تطويرها مستمرا وخلال السنين تطورت الجافا و اصبحت تستعمل لصنع برامج مكتبية ، بريمجات الإنترنت، صفحات انترنت ، بريمجات اجهزة الجوال و غيرها الكثير.
الاهداف الاساسية من انشاء جافا هي:-
كائنية التوجه
الاستقلال عن نظام التشغيل
توفر امكانيات و مكتبات للتشبيك
امكانية تنفيذ البرامج من حواسيب بعيدة بشكل آمن
توفير إمكانية إضافة برامج إلى صفحات الويب (أبلت)
كيفية البرمجة بلغة جافا:
الخطوة الأولى: تنزيل عدة التطوير الخاصة بجافا Java Software Development Kit
الخطوة الثانية: إعداد المتغيرات البيئية الخاصة بالجافا
الخطوة الثالثة: كتابة برنامجك الأول في الجافا و ترجمته وتشغيله
تنزيل عدة التطوير الخاصة بجافا Java Software Development Kit يمكنك الحصول على هذا البرنامج من موقع شركة صن وتنزيله على جهازك ببساطة.
الاصدارات المتوافرة من الجافا
Java SE
الإصدار القياسي من الجافا بالإنجليزية (Java Standard Edition) هو الجزء الخاص ببرمجة برامج سطح المكتب (StandAlone applications)
Java EE
اصدار الإنتربرايس بالإنجليزية (Java Enterprise Edition)هو يختلف عن الإصدار القياسي في أنه خاص ببرمجة الخوادم و التطبيقات الموزعة و برمجة الويب
Java ME
اصدار المايكرو بالإنجليزية (Java Micro Edition) وهو اصدار خاص بالرمجة على الهواتف المحمولة والأجهزة المحدودة في المصادر عموما و تعتبر الخيار الأول لمبرمجي ألعاب الهواتف المحمولة
(ليسب)
ليسب (Lisp) هي لغة برمجة وظيفية (Functional Programming Language) وهي اختصار لمصطلح معالجة القوائم (LISt Processing) وتقوم على حساب لامبدا (Lambda-Calculus). وهي من أهم لغات الذكاء الإصطناعي، وتستخدم كذلك في تطبيقات أخرى تتطلب توليد تلقائي للبرامج (Code Generation). وقد اخترعها جون مكارثي عام 1958 أثناء تواجده في معهد ماساتشوستس للتكنولوجيا، وبذلك تعد ثاني أقدم لغة برمجة عالية المستوى (بعد فورتران).
لهجات ليسبك:
كومون ليسب Common Lisp
سكيم Scheme ، والذي طورها جيري ساسمان و هال ايبلسون في معهد تكنولوجيا ماساتشوستس. وهي أنقى اللهجات إلتصاقا بحساب لامبدا، وتوزع مجانا عملاً بمبادئ جنو لحقوق الملكية.
أوتو ليسب AutoLisp ، التي تستخدم داخل برنامج أوتوكاد AutoCAD للتصميم الهندسي بمساعدة الحاسب (Computer-Aided Design - CAD).
(برولوغ)
البرولوغ (Prolog) هي لغة برمجة منطقية (logic programming) . الأسم مأخوذ من الفرنسية programmation en logique (برمجة المنطق)، تم أختراع اللغة بواسطة ألين كولميرايور حوالي العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على أستخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن إلى الحاسوب. صممت اللغة أساساً لتستخدام في عمل برامج معالجة اللغات الطبيعية.
تستخدم لغة البرولوغ في العديد من برامج الذكاء الإصطناعي (artificial intelligence) و برامج معالجة اللغات الطبيعبة. عبارات وقواعد اللغة تعبتر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل بأستخدام الحقائق و القواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرلوغ التي جاءت نتيجة أستخدام نسخات مختلفة من البرلوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems أختصاراً FGCS).
الحقائق Facts
تختلف طريقة البرمجة في برلوغ عن اللغات التقليدية. في برلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة أستفسارت queries من قاعدة البيانات. الحقية عبارة عن سند (predicate) (الوحدة الأساسية للبرلوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال
cat(tom).
في هذا المثال نقول بباسطة أن هناك توم 'tom' وهو قط 'cat'،بتعبير أدق 'cat' هو رأس (head) السند و 'tom' هو وسيطة (argument). هنا عدد من الأستفسارات التي يمكن سؤالها بناء على هذه الخقيقة:
هل توم قط (is tom a cat)؟
?- cat(tom).
yes.
ببساطة هنا نسأل إذا توم قط ويجيبنا برلوغ بنعم (yes).
ماهي الأشياء التي هي قط (what things are cats)؟
?- cat(X).
X = tom;
non
القواعد Rules
أن النوع الثاني من العبارت في برلوغ هي القواعد:
father(X,Y) :- parent(X,Y),male(X).
أنواع المعلومات Data types
لاتحتوي لغة البرلوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر تركيبية (lexical elements) .
الذرات Atoms
يعرف النص الثابت في برلوغ بمعنى الذرات Atoms. الذرة عبارة عن سلسة من الحروف،الأرقام و رمز شرطة-السفلية (_) (underscores) على أن يبدأ النص بحرف أنجليزي صغير (lower-case). عادة، عادة اذا كان هناك رمز ليس بحرف أو رقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)
الأرقام
معظم نسخ البرلوغ لاتميز بين الأعداد الصحيحة و الأعداد الحقيقية.
المتغيرات Variables
يعبر المتغيرات Variables عن نص يتكون من الحروف،الأرقام و رمز شرطة-السفلية (_) على أن يبدأ النص بحرف إنجليزي كبير (upper-case). على عكس اللغات القولية (imperative programming languages) في بيئة البرلوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين االقيم فيه. تصرف المتغيرات يتبع النمط لأيجاد القيمة.
(بايثون)
بايثون لغة برمجة ، من لغات المستوى العالي، تتميز ببساطة كتابتها وقرآءتها، سهلة التعلم، تستخدم أسلوب البرمجة الكائنية (OOP) ، مفتوحة المصدر، وقابلة للتطوير. تعتبر لغة بايثون لغة تفسيرية، متعددة الأغراض وتستخدم بشكل واسع في العديد من المجالات، كبناء البرامج المستقلة باستخدام الواجهات الرسومية المعروفة وفي عمل برامج الويب، بالاضافة إلى استخدامها كلغة برمجة نصية للتحكم في أداء بعض من أشهر البرامج المعروفة او في بناء برامج ملحقة لها. وبشكل عام يمكن استخدام بايثون لبرمجة البرامج البسيطة للمبتدئين، ولإنجاز المشاريع الضخمه كأي لغة برمجية أخرى في نفس الوقت. غالباً ما يُنصح المبتدئين في ميدان البرمجة بتعلم هذه اللغة لأنها من بين أسرع اللغات البرمجية تعلماً.
نشأت بايثون في مركز CWI (مركز العلوم والحاسب الآلي) بأمستردام على يد جويدو فان رُزوم في أواخر الثمانينات من القرن المنصرم، وكان أول إعلان عنها في عام 1991. تم كتابة نواة اللغة بلغة C. أطلق فان رُزوم اسم "بايثون" على لغته تعبيرًا عن إعجابه بفِرقَة مسرحية هزلية شهيرة من بريطانيا، كانت تطلق على نفسها اسم مونتي بايثون (بالإنجليزية: Monty Python).
تتميز بايثون بمجتمعها النشط ، كما أن لها الكثير من المكتبات البرمجية ذات الأغراض الخاصة والتي برمجها أشخاص من مجتمع هذه اللغة ، مثلاً مكتبة PyGame التي توفر مجموعه من الوظائف من اجل برمجة الالعاب. ويمكن لبايثون التعامل مع العديد من أنواع قواعد البيانات مثل MySQL وغيره.
الاستخدامات
تستخدم بايثون على نطاق واسع في جوجل وناسا ، كما أنها قد استخدمت في برمجة أحد المشاريع العملاقة هو مشروع زوب Zope ، كما تستخدم في العديد من المشاريع والتطبيقات المنتشرة عالمياً مثل مشروع بليندر Blender وهو أحد برامج التصميم ثلاثية الأبعاد الشهيرة.
لقد ادمجت بايثون بنجاح كلغة برمجة في العديد من التطبيقات والحزمات. وهي تستخدم بكثرة في تطبيقات التصميم ثلاثي الأبعاد مثل مايا Maya ، سوفت اميدج إكس إس آي Softimage|XSI ، وبالطبع بليندر Blender.
كما أنها تستخدم في أنظمة التشغيل المختلفة مثل أغلب توزيعات لينكس و نظام ماك أو إس إكس.
كلغة برمجة نصية Scripting Language
برنامج Maya لعمل التصاميم ثلاثية الأبعاد.
برنامج Blender لعمل التصاميم ثلاثية الأبعاد.
Softimage XSI لعمل التصاميم ثلاثية الأبعاد.
Civilization IV اللعبة الاستراتيجية المعروفة.
Stackless Python عمل سكربتات لأشهر الألعاب الالكترونية المعروفة مثل EVE Online, Civilization IV, Second Life.
ArcGIS برنامج لعمل الخرائط الجغرافية.
OpenOffice.org حزمة برامج مكتبية مفتوحة المصدر.
PyMol عمل تصاميم ثلاثية الأبعاد لأغراض علمية.
GIMP برنامج رسوميات مفتوح المصدر.
الصيغة النحوية:
صممت بايثون لتكون لغة ذات مقروئية عالية ؛ فهي تستخدم كلمات إنجليزية شائعة الإستخدام على حين تستخدم اللغات الأخري علامات الترقيم.
تستخدم بايثون الإزاحات والمسافات البيضاء عوضاً عن الأقواس أو الأقواس المعقوفة وما إلى ذلك لتحديد حجم الجملة البرمجية.
أمثلة:
مثال Hello World!
print "Hello World!"
مثال لاستخراج المضروب Factorial :
num = 1
x = raw_input('Insert the number please ')
x = int(x)
while x > 1:
num *= x
x = x-1
print num
(سي شارب)
سي شارب (#C) أحد لغات بيئة الدوت نت لتطوير البرامج من أنتاج شركة ميكروسوفت يرمز اليها بالرمز #C وتنطق "سي شارب"، وهي إحدى اللغات التي انتجتها شركة مايكروسوفت وذلك خروجا من ورطة الجافا والقضية الشهيرة التي رفعتها عليها شركة صن ميكروسيستمز ، تم الاعلان عنها في اواسط العام 2000 تزامنا مع الاعلان عن بيئة الدوت نت (بالإنجليزية: Net.). تتميز سي شارب بأنها أحد لغات البرمجة الكائنية وتجمع صفات سي++ والبيزك المرئي حيث انها تستخدم القواعد الخاصه السي++ وسرعة التطوير كما في البيزك المرئي لغة السي شارب موجهه إلى مبرمجي الفيجول سي ومبرمجي السي++ على انها امتداد لهذه اللغات
بيئات تطوير متكاملة للسي شارب
مايكروسوفت فيجيوال ستوديو
SharpDevelop
بورلاند ديفلوبر ستوديو
فورتران
فورتران (FORTRAN) هي لغة برمجة مفاهيمها بسيطه استخدمت لأغراض المحاسبه وكما استخدمت لأغراض تعليميه ولكن تكمن صعوبتها في تحديد الخطأ عند حدوثه حيث من يستوجب عليك تتبع الكود من اوله مما يزيد الامر صعوبه.
== أمثلة برمجية
program hello
print*,"Hello World!"
end program hello
روبي (لغة برمجة)
روبي (أو ياقوت) هي لغة برمجة كائنية ابتدعها الياباني يوكيهيرو ’ماتز’ ماتسوموتو. و تمتاز اللغة بكونها لغة شيئية نقية كما تمتاز باحتوائها على كثير من خواص اللغات الوظيفية. بدأ ماتز العمل عليها في العام 1993 و حرر أول نسخة للعامة في العام 1995. لم تحصل روبي على الشهرة إلا مؤخرا عندما قام دافيد هاينماير هانسون بتطوير الإطار المشهور لبرمجة الوب روبي على القضبان بإستخدام روبي في العام 2005.
مميزات لغة روبي :
-1 مفتوحة المصدر
-2 ذات أغراض عامة
-3 كائنية المنحى
-4 ديناميكية ، و مفسرة
-5 محمولة
-6 صيغة نظيفة
مفتوحة المصدر : كون اللغة مفتوحة المصدر يعنى أنه يوجد عدد غير منتهى من المطورين قائمين على اللغة، وسرعةفى معالجة الأخطاء .
ذات أغراض عامة : يعنى إمكانية إستخدامها في أنواع مختلفة من البرامج سواء في قواعد البيانات أو واجهات رسومية أو برامج علمية أو الويب ...إلخ.
لغة كائنية المنحى : الميزة هى أنها الأسلوب الأفضل والأمن لتطوير البرمجيات .
دينامكية: لن تكون مضطرا أن تعلن عن نوع المتغير، بعكس لغات ثانية مثل ال java .
مفسرة: بمعنى أنها تستخدم مفسر وليس مترجم ، سيتبادر إلى ذهنك ما هو المفسر و المترجم.
المترجم : هو برنامج يقوم بتحويل الكود من لغة مثل السى مثلا إلى ملف تنفيذي المفسر : هو برنامج يقوم بتنفيذ الكود سطر بعد سطر وهذا له مميزات و سلبيات: فمن المميزات : هى المحمولية على أكثر من نظام تشغيل وأكثر من بنية من العتاد. بعكس اللغات المترجمة التي ستحتاج إلى إعادة ترجمة برنامجك كل مرة لكل منصة. من االسلبيات : البطء و إمكانية الإطلاع على الكود -وهذه لا تعتبر مشكلة في عالم المصادر الحرة-
المحمولية : بمعنى أنها مدعومة على العديد من النظم .
(أدا)
أدا (بالإنجليزية: Ada) عبارة عن لغة برمجة ، صممه فريق برئاسة Jean Ichbiah ، تبعا لطلب قامت به وزارة الدفاع الأمريكية (DoD). و كانت ثمرة تصميمه الذي بدأ في الثمانينات متمثلة في Ada 83.
ثم تم تحسينه في أواسط التسعينات، ليكون Ada 95، و هي أول لغة برمجة موجهة للشيء و التي تم تعميمها عالميا. و تحت إشراف المنظمة العالمية للمعايير (ISO)، تتم مراجعة اللغة لتعديل المعيار سنة 2005.
و قد تم اختيار اسم Ada تكريما لـأدا أوجستا بايرون، و الذي يعتقد أنه أول شخص قام بكتابة برنامج في التاريخ. و قد ارتبط Ada باللون الأخضر ذلك أن الفريق الذي فاز بالمناقصة لدى وزارة الدفاع الأمريكية كان لونه الأخضر.
هذه بعض مميزات Ada :
الداتا-نايب
الموديولات
لغة واضحة و غير معقدة (مستوحاة من باسكال)
البرمجة العامة (Generic Programming)
و هي لغة مستعملة كثيرا في النظم الآنية التي تحتاج قدرا كبيرا من السلاسة.
حاليا، (2002)، يمكن إيجاد مجمعات Ada ذات جودة عالية لكل نظم التشغيل، و نذكر منها مجمعا حرّا هو GNAT.
يستعمل Ada كثيرا في دروس البرمجة المتقدمة.كالجامعات ومن احداهم الجامعة الأوروبية بمدريد
"Hello, world!" بالـ Ada
with Ada.Text_IO;use Ada.Text_IO;
procedure Hello is
begin--Hello World
Put_Line("Hello, world!");
end Hello;
يوجد اختصارات للـ Ada.Text_IO.Put_Line تستعمل حروف أقل, و لكنها لم تستعمل هنا لحسن الفهم.
التاريخ
1977 – وزارة الدفاع الأمريكية تدعو لمناقصة فاز بها فريق يقوده فرنسي.
1983 – Ada83 الإعتراف بـ على الصعيد الأمريكي عن طريق الـANSI (ANSI/MIL-STD-1815A-1983).
1987 – يعترف بـ Ada83 عالميا ISO 8652:1987.
1990 – نظرا لكثرة التعديلات و التحسينات من طرف مختلف المبرمجين, أكبق الـ Ada Joint Program Office مشروعا لمراجعة اللغة.
1992 – قضى الاتفاق بين (Ada9X Program Office) و جامعة نيويورك ببرمجة مجمع للغة الجديدة، يكون برنامجا حرا متوفرا في كل مكان. و هذا المجمع، GNAT، يعتمد على تكنولوجيا جي.سي.سي من جنو.
1994 – يتم إنشاء شركة Ada Core Technologies (المعروفة اليوم بـ AdaCore) عن طريق أعضاء مشروع GNAT للتأكد من سلامة المجمع و ترويجه.
1995 – انتهت المراجعة المنتظرة، و أخيرا يظهر Ada95. Ada95 هو أول لغة برمجة موجهة للشيء.
2000 – الـAda Conformity Assessment Authority (ACAA) تنشر مجموعة اصلاحات صغيرة اكتشفت خلال الخمس سنين الماضية : الـ Technical Corrigendum 1.
2004 – في هذه الأيام، يستعمل Ada95، من قبل مطلقيه طبعا، و لكن كذلك في كل الميادين التكنولوجية : السيارات الفرنسية, النقل السريع(TGV)، التكنولوجيات الجوية (Thales Avionics) التكنوبوجيات الفضائية (Alcatel Space، CNES، Arianespace
(دلفي)
دلفي لغة برمجة من انتاج شركة بورلاند هذه اللغة مبنية على لغة باسكال الكائنية حيث تعتبر لغة دلفي تطوير للغة باسكال القديمة، تعتبر دلفي لغة شائعة ومنتشرة حاليا، تعتبر دلفي لغة مرئية وهي من اللغات العالية الإنتاجية. وتعتبر في مصاف اللغات القوية والسهلة معا.
يقال أنها تجمع بين سهولة لغة فيجوال بيسك وقوة لغة سي++, تم انشاء هذه اللغه في سنة 1995 وقد سميت دلفي رجوعا إلى كلمة اغريقية قديمة تعني عرافة.
هناك نسختان من هذه اللغة، النسخه الاولى خاصة بنظام التشغيل ويندوز و هي ديلفي و الثانية خاصة بنظام التشغيل لينكس و تحمل الاسم كايليكس وقد تم إصدار دلفي للعمل تحت منصة دوت نت بالنسختين دلفي8.نت و دلفي9.نت. كما تم إصدار نسخ جديدة منها تحت تسمية Code Gear وجميعها تدعم العمل تحت منصة دوت نت
(بيسيك)
لغة البيسك هي لغة متعددة الأغراض للمبرمجين المبتدئين واسمها اختصار لذلك Basic(Beginners All Purposes Symbolic Instruction Code). تم تطويرها سنة 1964 م وكانت تستند بشكل كبير على لغة الفورتران.
أكثر ما تميزت به لغة البيسك هو سهولتها ويدين معظم المبرمجين ببداياتهم إلى لغة بيسك. اشتهرت بيسك بأنها لغة مُفسرَة وليست مترجمة ويعتقد الكثيرون أنها بدأت مفسرة ولم تتم كتابة مترجمات لها إلا حديثا وذلك خطأ شائع لأن لغة بيسك بدأت أساسا كلغة مترجمة.
و قد تطورت لغة بيسك كثيرا منذ بدايتها إلى اليوم و بعد أن كانت لغة للمبتدئين و كتابة البرامج القصيرة أصبحت لغة احترافية يمكن استخدامها لكتابة برامج تجارية معقدة و عالية المستوى.
و يعود السبب الأساسى لانتشار بيسك الكبير إلى اعتمادها كلغة الحواسيب المنزلية التى ازدهرت في الثمانينات. أما سبب تطورها و اعتمادها كلغة احترافية فيعود بالأساس إلى مايكروسوفت و مترجمها كويك بيسك Quick Basic الذى أدخل البيسك في مرحلة جديدة. و تطورت البيسك بعد ذلك و كانت حجر الزاوية لمترجم Visual Basic الذى يعد الآن من أكثر الطرق شعبية لكتابة برامج ويندوز.( الا أنه ليس أفضلها).
أمثلة
برنامج Hello World:
10 Print "Hello World"
20 End
برنامج لإستخراج المضروب Factorial:
10 Let fac = 1
20 Input "Enter the number please: ";num
30 While num > 1
40 fac = fac * num
50 num = num - 1
60 Wend
70 Print "Factorial of ";num;" is: ";fac
80 End
(كوبول)
لغة الكوبول (COBOL اختصار Common Business-Oriented Language أي اللغة الشائعة الاستخدام في النواحى التجارية) لغة برمجية تخدم النواحى التجارية وخاصة مجال البنوك وغيره. وهي لغة توثيقة تتكون من أربعة أقسام هم:
القسم البيئى أو التعريف (Environment Division) وهو القسم الذى يتم تعريف اسم البرنامج به واسم المبرمج والغرض من البرنامج والجهة صاحبة هذا البرنامج.
قسم الإدخال والإخراج (Input Output Division)
قسم البيانات (Data Division)
قسم الإجراءات (Procedures)تراث
برامج الكوبول تستخدام عالميا في الوكالات الحكوميه والعسكرية ، في مشاريع تجارية ، وعلى انظمة التشغيل مثل اي بي ام ، مايكروسوفت ويندوز ، وعائلات posix (يونيكس / لينكس الخ). وفي عام 1997 ، أفادت مجموعة غارتنر ان 80 ٪ من الاعمال التجارية في العالم تنفذ باستخدام كوبول مع أكثر من 200 مليار ايعاز مع وجود ما يقدر ب 5 مليارات من الإيعازات المدونه الجديدة سنويا.
قرب نهاية القرن العشرين مشكلة عام 2000 كانت محورا هاما لجهد برمجه الكوبول، واحيانا من قبل نفس المبرمجين الذين صمموا الأنظمة قبل عدة عقود.
(باسكال)
باسكال لغة برمجة تعتمد على الأوامر. و هي معروفة بوضوحها و قوتها و سهولة إنشاء البرامج عن طريقها. و هو ما يجعل من باسكال اللغة البرمجية الأكثر استعمالا في التدريس حتى وقت قريب.
و بالإضافة إلى سهولتها و قوتها، تمتاز لغة باسكال بعدة قواسم مشتركة مع لغة الـسي.غير أن باسكال كان قد صمم في البداية لأسباب تعليمية بحتة و كان مقتصرا على خاصيّات محدودة جدا (فعلى سبيل المثال لم يكون هناك وجود لسلاسل الأحرف)؛ و بالإضافة لكل ذلك فإن كل النسخ المستعملة لباسكال خارج العالم التعليمي هي نسخ معدلة مثل توربو باسكال، دلفي، أوبجكت باسكال...
و في المقابل، فإنه من المعروف أن باسكال فد مكّن من تصميم برامج شهيرة مثل تخ و جزء من أوائل أنظمة التشغيل الخاصة بـماكينتوش. و قد تم اقتباس هذه اللغة في لغات أخرى مثل أدا، مودولا-2 (ثم مودولا-3)، أوبيرون...
التقديم و التاريخ
اختُرِعت لغة باسكال (التي اتخذت اسمها من عالم الرياضيات الفرنسي (بليز باسكال) عن طريق نيكولاس ويرذ خلال السبعينيات من القرن العشرين. و قد تم تصميمها لتفيد في تعليم البرمجة بطريقة سهلة و لكن صحيحة، في محاولة لمجابهة تعقيدات ألغول 68. و هذه اللغة من بين اللغات التي ساعدت على تعليم البرمجة المنظمة. و باعتبار أنه من غير المنصوح به استعمال الـ goto أو القفز داخل البرنامج فإن باسكال يعتمد على الشروط (if, case...) و التكرارات (while, for, repeat...) و التي تمتلك كل واحدة منها مدخلا و مخرجا حتى يتم تسهيل التحكم، مما يؤدي إلى برنامج أكثر سرعة و تنظيما.
و تعد هذه اللغة كذلك صارمة في ما يخص تعريف المتغيرات، بمعنى أن كل متغير يجب أن يعرف بنزع عند التجميع. و في المقابل فإن عدم تأقلمه لتمكين التنقل من النوع حرف إلى النوع سلسلة حروف يعد من نقاط ضعفه.
و قد تمكنت لغة باسكال من التغليل بشكل كبير في الميدان التعليمي و مجال الأبحاث (الجامعات)، و بصفة أقل في المبدان الصناعي.
و قد تم نشر ملفات المجمع P4 المصدرية في الجامعات، بسعر مخفض جدا. و هذا المجمع ينشئ الـ P-Code، و هو كود لجهاز افتراضي. و لذلك يمكن القول أن البرامج "الباسكالية" كانت سهلة النقل على الأجهزة.
و كان لمجمع UCSD Pascal (UCSD = University of California at San Diego)، نجاح كبير خاصة على الأجهزة من نوع Apple II و التي كانت شديدة الإنتشار.
و لكن "التوربو" كان من عمل شركة بورلاند الحديثة، و التي أنشأت سنة 1983 و التي قامت بتسويق المجمع توربو باسكال بسعر غاية في التخفيض (49 $ حينها مقابل 500 $ سعر مجمع باسكال من شركة مايكروسوفت و الذي لم يكن يمتلك محررا مدمجا حتى).
التوربو باسكال
قام بكتابة توربو باسكال أنديرس هيلزبيرغ (و قد كان اسمه قبل TP، كومباس باسكال ثم بولي باسكال). و قد كان ينشئ لغة الآلة ((x86 تحت DOS) و بسرعة نظرا لخفته (12 ك.ب.) و اعتماده شبه التام على الرام و لم يعد ينشئ بالتالي الـ P-Code. و قد كان مرفقا مع بيئة متكاملة (محرر نصوص و مساعدة عن بعد). و ما فتئ الباسكال يشهد التحسين تلو الآخر ففي عام 1987 ظهرت النسخة 4 التي احتوت على بيئة برمجة مدمجة متكاملة و في عام 1989 ظهرت النسخة 5.5 التي امتازت بدمجها لمفهوم الشيء (Object)، و في عام 1990، مكنت النسخة 6 من برمجة نوافذ (تحت صندوق الأوامر DOS). ثم في عام 1993، ظهرت آخر نسخة، و هي النسخة السابعة لنظام تشغيل دوس و لنظام ويندوز. و قد أصدرت شركة بورلاند سنة 1995 لغة دلفي للتأقلم مع البرمجة المرئية التي أطلقتها مايكروسوفت مع فيجوال ستوديو و كان الدلفي مجمعا حقيقيا ينشئ لغة الآلة. و في سنة 2001 أطلقت شركة بورلاند كيليكس، و هو المرادف لدلفي الخاص بمنظومة لينوكس
مثال على برنامج باسكال : Hello world الشهيرة
program Hello(output);
begin
writeln('Hello world!');
end.
(لغة الاستعلامات البنيوية)
لغة الإستعلامات البنيوية (أو البنائية) (بالإنجليزية: Structured Query Language SQL) هي لغة برمجة غير إجرائية Non Procedural Language، وهي بذلك تختلف عن لغات البرمجة المعتادة مثل سي أو جافا،
حيث أن اللغات الغير إجرائية هي لغات متخصصة. ولذلك فإن تركيب لغة
الاستعلامات البنائية هي لغة للتعامل والتحكم مع قواعد البيانات المترابطة
من خلال التعامل مع تراكيب البيانات و إجراء عمليات إدخال البيانات والحذف
و الفرز و البحث و التصفية وخلافه.
تاريخ تطور لغة الاستعلامات البنائية
في يونيو 1970 نشر العالم الأمريكي إدغار كود Edgar F. Codd ورقة علمية بعنوان "نموذج مترابط للبيانات في مستودعات البيانات الضخمة المشتركة A Relational Model of Data for Large Shared Data Banks" قدم فيها نموذج لإنشاء وإدارة قواعد البيانات عرف باسم نموذج قاعدة البيانات المترابطة Relational Database Model، ووفقا لهذا النموذج يتم الاحتفاظ بالبيانات في جداول متفرقة ترتبط فيما بينها بعلاقات. حقق نموذج قاعدة البيانات المترابطة نجاحاً سريعاً بين المختصين، لكنه كان من الصعب التعامل مع هذا النموذج من خلال لغات البرمجة المألوفة آنذاك مثل لغة سي ولغة بيزيك ، لذلك سعى المختصين في ابتكار لغة برمجة جديدة تكون قادرة على إنشاء قواعد البيانات والتعامل معها وفق نموذج قاعدة البيانات المترابطة. قامت جماعة من الباحثين في مختبرات شركة IBM بإنتاج أول لغة برمجة تحقق هذا الهدف وأطلقوا عليها الاسم SEQUEL وهذا اللفظ اختصار لعبارة اللغة الإنجليزية للاستعلامات البنيوية Structured English Query Language لكنهم تخلوا عن هذا الاسم سريعاً عندما اكتشفوا أنه علامة تجارية لشركة بريطانية تعمل في حقل الطيران واستبدلوه بالاسم الذي أصبح مستخدم حتى اليوم وهو تركيب لغة الاستعلامات البنائية SQL. قامت شركة IBM باستخدام تركيب لغة الاستعلامات البنائية في إنتاج عدد من نظم إدارة قواعد البيانات المترابطة وتوزيعها مثل النظام System R والنظام System/38 والنظام SQL/DS وأخيراً النظام DB2. لكن النظام الذي حقق النجاح الأكبر هو النظام الذي اعتمدته شركة أوراكل Oracle وحمل أسمها والذي طرحته لأول مرة عام 1979. منذ ابتكار لغة الاستعلامات البنيوية في مطلع السبعينات، خضعت للعديد من التعديلات والتطويرات، كما قامت العديد من الشركات والمؤسسات البحثية بتصميم نسختها الخاصة من تركيب لغة الاستعلامات البنائية، ولمجابهة هذا الموقف قام المعهد الوطني الأمريكي للمعايير American National Standards Institute ANSI بإصدار أول نسخة معيارية من تركيب لغة الاستعلامات البنائية عام 1987 وهي التي عرفت باسم SQL1987، ثم توالت التعديلات والطبعات المعيارية، وحالياً فإن اللغة المعيارية المعتمدة هي SQL2003.
تركيب لغة الاستعلامات البنائية
تتركب لغة الاستعلامات البنائية من عدد من الكلمات المحجوزة، ويمكن تقسيم هذه الكلمات المحجوزة تبعاً لوظائفها التي تقوم بها إلى ثلاثة أقسام رئيسة هي:
لغة تعريف البيانات Data Definition Language DLL
لغة تداول البيانات Data Manipulation Language DML
لغة أدارة البيانات Data Control Language DCL
لغة تعريف البيانات
Data Definition Language DLL
وهي مجموعة من الكلمات المحجوزة التي تقوم بإدارة الكائنات في قاعدة البيانات سواء بالإنشاء أو التعديل أو الحذف وتشتمل هذه المجموعة على الكلمات المحجوزة التالية:
ALTER DATABASE
ALTER TABLE
CREATE DATABASE
CREATE INDEX
CREATE TABLE
DROP DATABASE
DROP INDEX
DROP TABLE
RENAME TABLE
انتقادات حول لغة الاستعلامات البنائية
وجهت العديد من الانتقادات إلى لغة الاستعلامات البنائية، وجميع هذه الانتقادات تتمحور حول فكرة أن لغة الاستعلامات البنائية قد صممت لتكون لغة غير إجرائية مخصصة لبرمجة قواعد البيانات المترابطة وهو ما تحققه لغة الاستعلامات البنائية، إلا أن بعض أدواتها تظهر قصور عن تحقيق هذه الفكرة، وقد عمل الكثير من الباحثين على معالجة هذه القصور، إلا أن المنتقدين يكررون باستمرار أن علة القصور ترجع إلى خلل في التصميم الأساسي للغة الاستعلامات البنائية وهو خلل لا يمكن معالجته لأنه جزء من مكونات لغة الاستعلامات البنائية الأساسية.
بدائل لغة الاستعلامات البنائية
اقترح منتقدي لغة الاستعلامات البنائية تصميم بدائل لها يتم فيها تفادي القصور الذي تعاني منه لغة الاستعلامات البنائية، وقد ضمت البدائل التي اقترحوها:
IBM Bussiness System 12 من شركة IBM
EJB-QL من شركة سن ميكروسيستمز Sun Microsystems
لغة استعلامات الكائنات Object Query Language
النظم التي تدعم لغة الاستعلامات البنائية
تصمم معظم نظم أدارة قواعد البيانات المترابطة بحيث تكون متوافقة مع لغة الاستعلامات البنائية، ويعتبر التوافق مع النسخة المعيارية للغة الاستعلامات البنائية ANSI SQL من الميزات التي تحقق بها النظم شعبيتها. تضم هذه النظم عدد كبير من البرمجيات بعضها ذات سمعة كبيرة وبعضها الآخر قد لا يزيد عدد مستخدميه عن مطوريه وأصدقائهم. أهم هذه النظم هي:
Oracle من الشركة المعروفة بنفس الاسم
MySQL من شركة MySQL AB
MS SQL Server من شركة Microsoft
DB2 من شركة IBM
Borland Interbase من شركة (Borland)