الموضوع : لغات البرمجة
الطالبة / إيمان محمد يحيى الزهراني
لغات البرمجة
هي لغة يتم كتابة البرامج بها ليقوم جهاز الحاسوب بتنفيذها وتقسم لغات البرمجة الحاسوب لعدة أجيال أو أنواع بناء على قربها من اللغات الإنسانية وتقسم أحيانا بناء على الأغراض لهذه اللغة
تعريف البرمجة : من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر لتوجيهه و أعلامه بكيفية التعامل مع البيانات وتكون عملية البرمجة متبعة لقواعد محدده باللغة التي اختارها المبرمج وكل لغة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج كما أن للغات البرمجة أيضا خصائص مشتركة وحدود مشتركه بحكم أن كل هذه اللغات مجعولة للتعامل مع الحاسوب
خصائص لغات البرمجة : لغة البرمجة هي بالأساس طريقة تسهل للمبرمج كيفية إعطاء الأوامر للحاسوب لكي يقوم بالعمل المطلوب منه وللقيام بإعطاء الأوامر توفر لغة البرمجة المختارة مجموعه من اللبنات الأساسية للاستناد عليها خلال عملية بناء البرنامج ومجموعه من القواعد التي يمكن من التعامل مع المعلومات وتنظيم هذه الأسس التي توفرها اللغة لتتكامل وتقوم بعمل مفيد وتتمثل هذه الأسس والقواعد بصفة عامه:
ـ المعلومات وتخزينه ـ الأوامر وتنظيم سيرها. ـ عنصر أ . ـ عنصر ب . ـ عنصر ج . المعلومات وتخزينها
من هذة اللغات
لغة السي (C)
والسي هي لغة برمجة مقننة وعالمية صممها وظهورها في أوائل السبعينات كن تومسون ، براين كرنيغان، ودنيس رتشي وقد صممت في الأصل لتستعمل في تطوير والعمل تحت نظام التشغيل يونكس ثم لقيت انتشارا واسعا منذ ذلك الحين وتواصل إلى اليوم ويظهر ذلك من خلال شعبيته لدى أغلب مبرمجي الحاسوب ومن خلال استعمالاته العديدة والمتنوعة ولغة السي هي لغة انبنت عليها العديد من اللغات واللهجات الحديثة مثل السي بلس بلس والجافا
تاريخها : تم تصميم السي في مختبرات بيل ما بين 1969 – 1972 وقد تم تسميته بالسي لان جزا كبيرا منه قد اقتبس عن لغة البي (B) وعندما تطورت السي إلى درجة أصبحت فيها بالقوة الكافية لتحويل نواة يونكس من الأسمبلي إلى السي وفي سنة 1978 قام كرنيغان ورتشي بنشر الكتاب المشهور The C Programming Language وذلك لتحديد خصائص اللغة ويعرف هذا الكتاب في الأوساط المختصة بـ K&R إلا أن تقنيين اللغة وتبنيها بصفة رسمية من طرف الـ ANSI والـ ISO تم في الثمانينات ونتيجة لذلك ظهرت الطبعة الثانية للكتاب وهو المرجع الرئيسي للغة لحد الآن
ولولا ظهور لغة السي وتجربتها التي فاقت الثلاثين السنة لما كان ممكنا ظهور اللغات الحديثة والشيئية مثل السي بلس بلس أو على الأقل لما أصبحت كما تعرف علية اليوم
معنى لغة السي
تعتبر لغة السي أحد اللغات ذات المستوى العالي ، وتعد أفضل لغة لكتابة برمجيات النظم التي تتحكم في المكونات المادية للحاسب مباشرة ، ومعظم نظم التشغيل مكتوبة بلغة السي مثل
Windows95/98 نظام
UNIX ـ نظام التشغيل
مميزات لغة السي لغة عامه : أي تصلح لعمل برامج قواعد البيانات والرسومات والحسابات ونظم التشغيل
لغة تركيبيةعبارة عن دالة رئيسية
عبارة عن دالة رئيسية تنادي البرنامج المكتوب بلغة مجموعه من الدوال الأخرى وكل دالة مجموعة من الاوامر تتعامل على مستوى البت حيث تستطيع ان تكتب وتقرأ وتغير وتقوم بعمليات على مستوى البت حيث البت هي اصغر وحده لقياس المعلومات داخل الكمبيوتر وهي جزء من ثمانية اجزاء
لغة متنقلة
اي يمكن للبرنامج المكتوب بلغة السي ان يعمل مع اكثر من جهاز
لغة سريعة
لأن ادوات اللغة تتعامل مع الآلة مما يختصر وقت التنفيذ
لغة قياسية
معظم مترجمات اللغة تتوافق مع اللغة القياسية
عيوب لغة السي
ـ أنها تعتمد على أسلوب المترجم والذي يقوم بترجمة البرنامج بأكمله دفعة واحدة ثم يقوم بعرض قائمة من الأخطاء بعكس لغة البيسك التي تعتمد على أسلوب المفسر حيث يتم تفسير البرنامج سطر سطر مما يسهل على المستخدم تصحيح الأخطاء بكل سهولة ويسر
ـ هناك أخطاء لا يستطيع مترجم لغة السي أن يكتشفها
ملاحظات هامة
يبدأ البرنامج بالعبارة # include < ……h > وبين العلامتين اسم ملف التوجيه الخاص بالدوال
المستخدمة فى البرنامج – يمكن كتابة أكثر من includ يتكون البرنامج من دالة رئيسية main ( ) وتبدأ بالقوس } وتنتهي بالقوس {
جميع كلمات ودوال اللغة تكتب بالحروف الصغيرة .
تنتهي كل عبارة بفاصله منقوطة ((;
يجوز كتابة أي ملاحظات أو تعليقات خاصة بالبرنامج بوصفها بين العلامين /* */ لأي عدد من السطور
\ جسم الدالة يوضع ما بين الأقواس { }
البيانات التي تتعامل معها إما أرقام أو حروف أو كلمات :-
والأرقام يمكن أن تكون صحيحة ( أي ليس بها علامة عشرية) integer أو حقيقية ( أي بها علامة عشرية) float
والحروف يمكن أن تكون حرف واحد أو أكثر من حرف
وفي ما يلي المقصود بكل هذه الأنواع : متغير من نوع حرف : أى متغير يصلح لتخزين حرف فقط . متغير من نوع صحيح : أي متغير يصلح لتخزين رقم صحيح ( ليس به علامة عشريه ).
متغير من نوع صحيح ولكن طويل : أي يستطيع أن يخزن رقم صحيح ضعف المتغير الصحيح العادي ويستعمل هذا النوع إذا كانت الأرقام التي تتعامل معها اكبر من المساحة المخصصة وإلا سنحصل على نتائج خاطئة بالرغم من أن البرنامج سليم . متغير حقيقي : أي متغير يحصل لتخزين رقم حقيقي يقبل الكسور العشرية مثل 5.33 . متغير حقيقي مضاعف : أي يستطيع أن يخزن رقم حقيقي ضعف المتغير الحقيقي العادي
لغة (C++)
مقدمة عن لغة ++C:
كانت أول بداية للغة السي في مختبرات شركة AT&T الأمريكية في عام 1972م وكانت البداية كمشروع تولى الإشراف عليه دينيس ريتشي ( Dennis Ritchie ). وهو يعتبر مخترع لغة السي باستخدام نظام التشغيل Unix. ولغة سي هي في الأصل لغة قديمة يطلق عليها اسم BCPL. و BCPL طورت بواسطة مارتن ريتشارد ( Martin Richards ) في كامبرج عام 1967م والتي بدورها كانت لغة B والتي اخترعت بواسطة كين تومسون.
ولقد أدت لغة Bإلي تطوير لغة السي في السبعينات حيث قام دينيس ريتشي ( Dennis Ritchie ) وأخذ من لغة B أحسن تعليماتها ، وغير في كثير من قيودها ، وأضاف إليها تعليمات أخرى عديدة وجعل منها لغة برمجة وسماها لغة C.
وبالرغم من أن لغة C قد أنشأت لاستخدامها في برمجة النظم إلا أنه انتشر استخدامها كلغة ذات مستوى عالي في تنفيذ البرامج التطبيقية ، ومع ذلك فإن لغة C و C++ تستخدمان كلغة ذات مستوى متدنى وذلك نظرا على توفير المميزات التي توفرها اللغات في هذا المستوى كالقدرة على التعامل مع العناصر الثنائية bit مثلا.
وفي الوقت نفسه تستخدم لغة C و C++ كلغتين ذات مستوى عالي لقدرتهما على توفير الجمل التحكمية ( Control Statements ) والهياكل البنائية ( Data Structure ) والتي هي من مميزات اللغات ذات المستوى العالي.
ولقد تطورت لغة السي تطورات كبيرة واكتسبت شعبية و إقبالا ولعل السبب الرئيسي هو شعبية وانتشار نظام التشغيل UINX ، وهو أهم نظام لتشغيل الحاسبات المتطورة. حيث أن هذا النظام كتب بلغة السي وهذا الأمر يعتبر مصدر قوة للغة السي بين سائر اللغات الأخرى.
وتعتبر لغة السي الآن من أشهر اللغات وأكثرها انتشارا ولكن في الدول المتقدمة ، ولقد بدأ المبرمجون من كافة الاختصاصات يكتبون برامجهم بها ، وعلى سبيل المثال لا الحصر :
ظهر كتاب (برامج المايكرو كمبيوتر للمهندسين الكيميائين ) عام 1987م عن دار ماجرو هيل الأمريكية ،مكتوبا من ألفه إلي يائه بلغة السي ، ومعنى ذلك أنه يفترض أن على جميع المهندسين الكيميائيين في أمريكيا يفهمون لغة السي ، ويتعاملون بها. أضف إلي ذلك أن معظم الشركات ، تطلب في إعلاناتها مبرمجين بلغة سي.
كانت معيارية لغة سي لعدة سنوات عبارة عن مصنف Compiler مزود على نظام التشغيل Unix . وبعد انتشار وشيوع الحاسب الشخصي تم إنشاء العديد من المصنفات للغة سي. ومما يجدر ذكره هنا أنه على الرغم من تعدد المصنفات كانت هناك توافقية عالية جدا بين أكثرها (INI) وهو برنامج كتب ليعمل على أحد المصنفات وإنه بلا شك سيعمل مع مصنفات أخرى. ومع ذلك لأنه لم يكن هناك أي معيار أو مقياس Standard معتمد.
بين السي والسي ++ :
تدعم السي ++ السي بشكل كامل ( نظريا أو هذا ما تقوله الشركات المنتجة للمترجمات ) وعمليا يمكن لمعظم برامج السي أن تترجم بواسطة مترجمات سي++ ولهذا تسمى هذه المترجمات بمترجمات سي/سي++ وليست محجوزة في سي
الجديد في سي++ : الإضافة الأهم التي أتت بها السي ++ عن السي هي بالبرمجة عن طريق الكائنات حيث تعتمد السي على البرمجة الإجرائية والتي كانت كافية في وقتها إلا أن بظهور أنظمة التشغيل ذات الواجهة الرسومية انتقل معظم المبرمجين إلى البرمجة بالكائنات إلا أن السي ما زالت تستخدم في برمجة الويندوز وهذا بالإضافة إلى بضعه إضافات أخرى مثل : مكتبات جديدة لأداء مهام الإدخال والإخراج تعتمد على الكائنات كلمة Inline التي تضمن الأجراء الفرعي في الأساسي بدلا من استدعائه استخدام الإشارة // لتضمين الملاحظات بطول سطر واحد
سبب صعوبتها : ربما تعود أسباب صعوبة لغتي السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهي لغة السي بي ال CPL والتي اشتهرت بشدة تعقيدها مما يتسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البي وعندما ارادو تطويرها سموها سي ( وهذا أصل تمسية السي) وبالطبع ورثت السي++ خصائص لغة السي إلا أنه لا يمكن إنكار أن مفاهيم مثل المؤشرات والإشارات هي مفاهيم مربكة للمبرمج المبتدئ بالإضافة إلى مفاهيم التوارث وتعدد الشكل والقوالب التي تربك حتى المبرمجين المحترفين وكذلك لا تقدم السي الحماية الكافية للمبرمج كي لا يقع في أخطاء التشغيل التي قد تتسبب في توقف الحاسوب عن العمل
-معنى لغة السي:
تعتبر لغة السي أحد اللغات ذات المستوى العالي ، وتعد أفضل لغة لكتابة برمجيات النظم التي تتحكم في المكونات المادية للحاسب مباشرة ، ومعظم نظم التشغيل مكتوبة بلغة السي مثل:
1-نظام Windows95/98.
2-نظام التشغيل UNIX.
2- مميزات لغة السي:
1-تعتبر لغة السي لغة سريعة :
وذلك لأنها تتحكم في المكونات المادية للحاسب مباشرة ، ولذلك تعد نسبيا أسرع تنفيذا من اللغات الأخرى.
2-أنها لغة صالحة لأغراض متعددة ( تجارية - علمية - فنية - أدبية ).
3-للغة السي صورة قياسية معتمدة:
وذلك لأن تطوير لغة السي تم في شركة واحدة ( Bell ).
ونلاحظ أن الفرق بين نمط و آخر من أنماط لغة السي هي فروق بسيطة جدا ، بينما نجد أن الفروق كبيرة وكثيرة بين أشكال وصور لغة مثل لغة البيسك ، لأن كل شركة صانعة لأجهزة الحاسبات تضع تعليمات خاصة ومختلفة للغة ، وتختلف عما تضعه الشركات الأخرى.
4-تعتبر لغة السي لغة غنية بالدوال:
وتوفر لغة السي للمبرمج عددا كبيرا من دوال الإدخال والإخراج ، والدوال الرياضية والحسابية، وهو الأمر الذي يسهل عملية بناء البرامج بها.
عيوب لغة السي:
1-أنها تعتمد على أسلوب المترجم والذي يقوم بترجمة البرنامج بأكمله دفعة واحدة ثم يقوم بعرض قائمة من الأخطاء بعكس لغة البيسك التي تعتمد على أسلوب المفسر حيث يتم تفسير البرنامج سطر سطر مما يسهل على المستخدم تصحيح الأخطاء بكل سهولة ويسر.
2-هناك أخطاء لا يستطيع مترجم لغة السي أن يكتشفها.
-ملاحظة هامة: ان لغة C++ ليست هي لغة C مع التشابه الكبير لأوامر ودوال اللغتين
رموز لغة السي:
يبنى برنامج لغة السي من مجموعة من العناصر الآتية:
أ-حروف أبجدية إنجليزية مثل ( a ,b ,c ,…., z )
ب-الأرقام مثل ( 1 ,2 ,3 , …. , 9 )
ج-الرموز الخاصة مثل ( + ، - ، < ، > ، ! ، % ، $ ، <> ، / ، ، ( ) ، [ ] ، , ، # ، & ، * ، ^ )
كيفية تشغيل برنامج لغة C++:
-يوجد برنامج لغة السي على أحد الدليلين ( Borlandc أوTC )هناك أكثر من طريقة لتشغيل برنامج لغة C++ ومنها:
الطريقة الأولى إذا كان برنامج لغة السي موجود داخل الدليل
من قائمة ابدأ نختار البرامج ومنها نختار موجه MS-DOS: أ-أكتب السطر التالي:
C:>CDBORLANDC و سوف يظهر لك الشكل التالي:
C:> BORLANDC> ب- أكتب السطر التالي:
C:> BORLANDC>CD BIN وسوف يظهر لك الشكل التالي:
C:> BORLANDC>BIN> ج-أكتب السطر التالي:
C:> BORLANDC>BIN>BC 1-
لغة الباسكال
تم تطوير لغة البرمجة باسكال أساسا من قبل ” نيكلس ورث ” و هو عضو الفدرالية العالمية لمعالجة النصوص IFIP. قام البروفسور نيكلس ورث بتطوير باسكال لتحوي المميزات التي تخلو منها لغات البرمجة في ذلك الوقت. و كان هدفه الرئيسي في ان يجعل من لغة باسكال 1- لغة ذات كفاءة في مرحلتي التطبيق و التنفيذ . 2- لغة تسمح بتطوير برامج ذات هيكلية جيدة و تنظيم رشيق. 3- لغة لغرض تعليم مبادئ البرمجة الأساسية و المهمة.
و تعتبر لغة باسكال و التي سميت بهذا الاسم تيمنا بعالم الرياضيات ” بليز باسكال ” وريثة مباشرة للغة البرمجة ALGOL60 و التي بدورها هي الأخرى حظيت بكون البروفسور ورث احد مطوريها . أيضا فلغة باسكال تبني على العناصر البرمجية من كلا Algol w و ALGOL68. و قد ظهر أول تعريف للغة باسكال في العام 1961 ، تلاه إعادة تصحيح في العام 1973 . و قد تم تصميمها لكي تكون اللغة المستخدمة في الكليات لتعليم البرمجة و مفاهيم البرمجة و قد كانت بالفعل هي اللغة المفضلة في هذا المجال من نهايات الستينات الى بداية التسعينات .
أهم اللغات التي أثرت على باسكال : 1- ALGOL 2- Cobol
أهم اللغات التي تأثرت بباسكال :
1. Java
2. Oberon
3. Oberon-2
4. Ada
5. Oxygene
6. Modula-2
7. Component Pascal
8. Object Pascal
خصائص اللغة : 1- النموذج امري ، هيكلي ، إجرائي.. 2- لغة مترجمة ، اغلب المترجمات كتبت بلغة باسكال نفسها و لكن جنو باسكال مكتوب بلغة سي . 3- استايل الكتابة قوي و ثابت . 4- تدعم البوينترز 5- يوجد لها مفسر أيضا ..
بعض مميزات اللغة لمجال تعليم البرمجة الهيكلية : 1- احتوائها على (Data types) و هي أنواع البيانات الموجودة سلفا في اللغة مثل الأعداد الصحيحة و المنطقية و الحروف …الخ 2- إضافة إلى ذلك يمكن إنشاء أنواع بيانات جديدة يحددها المستخدم. 3- احتوائها على مجموعة جيدة من قوالب البيانات المهيكلة مثل : القوائم و الريكوردز 4- دعم البرمجة الهيكلية : و هذا يتحصل من خلال استخدام البرامج الضمنية أو ما يعرف بالبروسيجرز و الفانكشن. 5- لغة ممتازة في تطوير القدرات في البرمجة.
عيوب لغة الباسكال: 1ـ من عيوب لغة الباسكال هو شكل تطوير البرنامج وتصريفه صعوبة جديدة للمبتدئين بلغه الباسكال . 2ـ تعد غير مناسبة للبرامج الصغيرة والسريعة
أهم التطبيقات : كما اشرنا سابقا فالمجال الأهم لباسكال هو بيئة التعليم . هذه اللغة أساسا لم تصمم إلا لهذا الغرض و هي إلى الآن خيار جيد لتعليم البرمجة الهيكلية و لكن ما جعلها تفقد مكانها في بداية التسعينات هو ازدياد شعبية لغات البرمجة الشيئية مثل C++ و جافا و سمو لتولك و بدء الجامعات و الكليات تدريس مفاهيم هذه النوعية من البرمجة . و لكن تجدر الإشارة إلى انه للمهتمين بالبرمجة الشيئية يوجد بديل باسم اوبجكت باسكال و قد برمج برنامج سكايب المشهور به ، و ليس الكلام عن هذا الموضوع
مثال برمجي :
program HelloWorld;
begin
writeln('Hello World');
end.
الفيجوال بيسك
Visual BASIC )أو فيجوال بيسك) هي بيئة تطوير و لغة برمجة من مايكروسوفت تستند إلى لغة البيسك الشهيرة. و هي تصنف ضمن لغات البرمجة الشيئية. منذ أن بدأت مايكروسوفت في إصدار الفيجوال بيسك و هى تلاقى نجاحا باهرا و شعبية لا بأس بها بين المبرمجين نظرا لسهولتها الشديدة في مقابل التعقيد الشديد الذي يواجهه أي مبرمج يسعى لبرمجة ويندوز باستخدام السى أو السى++. الا أن الفيجوال بيسك ربما تكون هي من أسوأ اللغات التي تكتب عليها برامج الويندوز الآن طبعا بعد الجافا.عموما تناسب الفيجوال بيسك تطبيقات قواعد بيانات و التطبيقات المخصصة للشركات الصغيرة و برامج الحسابات و هي مريحة و سهلة و تؤدى الغرض بالإضافة إلى أنها تسمح للمبرمج بالتركيز على حل المشكلة فغالبا ما لا يواجه صعوبات فنية أثناء كتابة برنامج بالفيجوال بيسك. و لكن بقى أن نذكر أن برامج الفيجوال بيسك لا تتم ترجمتها كاملة إلى لغة الآلة مثل السى++ أو الدلفى و إنما تترجم إلى كود وسطى يتصل مع مكتبة ربط تسمى ب"Run Time library" و اسمها MSVBMnn.dll مع ملاحظة أن حرفي ال"ان" يشيران إلى رقم الإصدار.
لغة البرمجة فيجوال بيسك هي لغة ذات تصميم مرئي واجهة رسومية بعكس بعض اللغات مثل الاسمبلي ذات الشاشة السوداء . حيث تحتوي هذه اللغة على العديد من الأوامر بداخلها ولغة سهلة التطبيق تم تطوير هذه النسخة من البرنامج عن النسخة القديمة basic و التي تعمل تحت بيئة dos إلى هذه النسخة التي تعمل تحت بيئة ويندوز . تعتمد اللغة في تطوير تطبيقاتها على الكائنات فهي تشبه العديد من لغات البرمجة الحديثة من حيث اعتمادها على الديناميكية و الإحداث. تعني الديناميكية في هذه اللغة القدرة على استدعاء أي اقتران أو إجراء اعتمادا على الحدث. الحدث هو أي عملية يقوم بها مستخدم التطبيق على التطبيق مثل الضغط بزر الفارة أو الضغط على احد أزرار لوحة المفاتيح أو حتى تحميل نموذج. لتعلم اللغة يفترض بك إتقان التالي
تاريخ الفيجوال بيسك
أنتجت شركة مايكروسوفت أول إصدار من لغة البيسك عام 1970م ، وسمي Basic والاسم يعتبر اختصار للكلمة للغة البرمجة العامة التسلسلية للمبتدئين ( Beginner’s All-Purpose Symbolic Instruction Code) ، وتوالت الإصدارات فظهر الإصدارات GW-BASIC, QuickBasic and QBasic ، و كلهم يعملون في بيئة Dos ، و مع انتشار بيئة ويندوز ظهرت فيجوال بيسك التي احتوت علي كثير من أوامر QBASIC وأضافت العديد من الوظائف التي جعلت من البرمجة بفيجوال بيسك يسره و سهلة . هناك الآلاف من المواقع التعليمية للفيجوال بيسك و منها Visual Basic Tutorials
في عام 1999 تم افتتاح أول موقع عربي على الإنترنت يهتم بلغة فيجوال بيسك وهو http://www.vb4arab.com
في عام 2000 قامت مايكروسوفت بإنتاج النسخة المطورة VISUAL BASIC.NET والتي تعتمد على البرمجة الشيئية
تعريف الفيجوال : هي لغة برمجة تعرف بأنها مجموعة من البرامج الجزئية وكل جزء يعمل مستقل عن الجزء الأخر و كل برنامج ينفذ على حدا و ذلك بتطبيق حدث ما على أداة ما .
شكل البرنامج الجزئي :
()Private Sub Command1_Click
معنى ذلك : عند النقر على الزر نفذ الأمر التالي Statement
End Sub
و هي اختصار لكلمة:
Beginners All-Purpose Symbolic Instruction Code
و هي تعني " لغة التعليمات الرمزية لكافة الأغراض للمبتدئين "
البرمجة بلغة البيسك تقسم إلى قسمين :
برمجة مرئية : تخزن في الحاسب كملف امتداده(( frm)) نموذج
برمجة كودية : تخزن في الحاسب كملف امتداده (( Project)) مشروع
وهي تعني تحويل البرمجة المرئية إلى كود حتى يتم تنفيذ البرنامج .
الفيجوال بيسك يضم قسمين :
قسم تصميم : برمجة كودية و مرئية
قسم تشغيل : تنفيذ البرنامج كل برنامج جزئي على حدا
و هو عبارة عن برامج جزئية كل برنامج مستقل عن الأخر بحيث ينفذ كل برنامج على حدا .
مميزات الفيجوال بيسك
لغة سهلة و سريعة لإنشاء تطبيقات ويندوز
تدعم البرمجة الشيئية إلا أن ذلك ليس بشكل كامل
تجربة برامج الفيجوال بيسك سهلة و سريعة لاعتمادها على مكتبة الربط خلال و قت التشغيل
تعتبر لغة الفيجوال بيسك لغة كائنيه المنحنى
سهلة التعلم والفهم
سهولة اكتشاف الأخطاء فيها
عيوب الفيجوال بيسك
عدم مجانية برامجها ،أي أنك تحتاج غالبا للدفع للحصول على ملفات مفتوحة المصدر
لا يتم ترجمتها بشكل كامل إلى لغة الآلة.
لا تدعم كافة أشكال البرمجة الشيئية.
المترجم نفسه به بعض الشوائب و التي تظهر في البرنامج المكتوب حتى في حالة خلو البرنامج المصدر من الأخطاء.
المراجع
المواقع الإلكترونية :
المنتديات :
http://elex.ibda3.org/t185-topic
http://www.damasgate.com/vb/t57914/
http://dheeb.wordpress.com/2010/01/24/%D8%AF%D9%84%D9%8A%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-14-%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%A7%D8%B3%D9%83%D8%A7%D9%84/
http://vb4arab.com/vb/showthread.php?t=4502 موقع مكتبة كتب :
http://www.kutub.info/library/book/8796
http://www.kutub.info/library/book/1
http://www.kutub.info/library/book/8163
بحث عن لغة البرمجة وتطورها
اعداد الطالبة/ احلام محمد الغامدي
لغة برمجة:
لغة البرمجة هي لغة يتم كتابة البرامج بها ليقوم جهاز الحاسوب بتنفيذها. تقسم لغات البرمجة للحاسوب لعدة أجيال أو أنواع، بناء على قربها من اللغات الإنسانية. وتقسم أحيانا بناء على الأغراض لهذه اللغة.
× تعريف البرمجة:
من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات. و تكون عملية البرمجة متبعة لقواعد محددة باللغة التي اختارها المبرمج. و كل لغة لها خصائصها التي تميزها عن الأخرى و تجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج. كما أن للغات البرمجة أيضا خصائص مشتركة و حدود مشتركة بحكم أن كل هذه اللغات مجعولة للتعامل مع الحاسوب.
× خصائص لغات البرمجة:
لغة البرمجة هي بالأساس طريقة تسهل للمبرمج كيفية إعطاء أوامر للحاسوب لكي يقوم بالعمل المطلوب منه. و للقيام بإعطاء الأوامر توفر لغة البرمجة المختارة مجموعة من اللبنات الأساسية للاستناد عليها خلال عملية بناء البرنامج و مجموعة من القواعد التي تمكن من التعامل مع معلومات و تنظيم هذه الأسس التي توفرها اللغة لتتكامل و تقوم بعمل مفيد. تتمثل هذه الأسس و القواعد بصفة عامة من:
- المعلومات و تخزينها
- الأوامر و تنظيم سيرها
- التصميم الخاص
المعلومات و تخزينها:
ان المعلومات في الأجهزة الرقمية الحالية يتم تخزينها على أرقام على نظام العد الثنائي و بصفة عامة فان المعالجات الحديثة لا تقوم بالتعامل مع البت الواحد بل مع مجموعات من البتات يمكن أن تضم :
8 بت = بايت وهي أصغر وحدة تخزين معلومات في الحواسيب الحديثة
16, 32, 64, أو 128 بت
و باستعمال 8 بت مثلا, يمكن تشكيل 256 قيمة مختلفة, و يمكن أن تكون هذه القيمة بين 0 و 255 و تمثل وظيفة لغة البرمجة استغلال وحدة أو مجموعة من الوحدات لتخزين معلومات من الحياة الواقعية مثل الأسماء أو القياسات أو أرقام الحسابات البنكية
الأوامر و تنظيم سيرها:
يقوم المبرمج بإجراء عمليات على وحدات المعلومات مثل تخزينها و قراءتها و مقارنتها و إجراء عمليات حسابية عليها أيضا, وتتبع العمليات القواعد المحددة للغة. و للغة البرمجة دور آخر و هو التحكم في تنظيم إجراء العمليات, حيث تحرص على إجرائها بنفس تنظيم كتابتها من طرف المبرمج و تمكن اللغة أيضاً من اجراء عملية اختيار و تفرع, فلنفترض أن البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستعمل, و اظهار النتيجة على الشاشة, و من المعروف أن القسمة على صفر لا تجوز, و هنا يقوم البرنامج بالاختيار : فاذا كان القاسم مخالفا لصفر فان البرنامج يقوم باجراء العملية و يعطي النتيجة, أما اذا كان القاسم صفراً فان البرنامج لا يقوم باجراء العملية و انما ينبه إلى أن المستعمل حاول القسمة على صفر. و يمكن تنظيم الأوامر بصفة أخرى, حيث يقع تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة (Loop) و يمكن تقسيم الأوامر أيضاً إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد, و الهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة (Loops)
التصميم الخاص:
تتمتع كل لغة بتصميم خاص يختلف عن طريقة كل لغة في التعامل مع المعطيات, و عن طبيعة الطرق و التسهيلات التي توفرها اللغة للتعامل مع مشكلة معينة.
يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية ,Basic) (Fortran وهي لغات تسلسلية، أساس بناؤها هو الإجراءات المطلوب تطبيقها على الأشياء والمتحولات. ولغات شيئية (C, Java, Delphi) وهي لا تسلسلية، وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويرها، من خلال تطبيق مجموعة معينة من الإجراءات عليها.
لغات البرمجة:
1ـ لغة الآلة :
وتسمى *اللغة الثنائية* حيث إنها تتكون من سلسلة من 0 و 1، وهي اللغة الوحيد التي يفهمها الحاسب الآلي، حيث تحول جميع اللغات إلى لغة الآلة، حتى تتمكن معدات الحاسب الآلي من التفاهم معها، ولأنها تتكون من صفر وواحد، لذا فقد تميزت هذه اللغة بالصعوبة نظراً لما تتطلبه من حفظ ودقة في كتابة سلسلة طويلة من صفر وواحد بترتيب معين، مما ينتج عنه أخطاء كثيرة من الترميز، ويجب أن يحدد المبرمج كل شي، فكل خطوة يجب أن ينفذها البرنامج يجب أن ترمز، لذا فالمبرمج يجب أن يكون على علم بتركيب الحاسب الداخلي، والعنا وين الرقمية لمواقع التخزين، سواء للبيانات أو التعليمات، كما أن لكل جهاز لغة آلة تختلف عن الجهاز الآخر بحسب النوع والتركيب مما يعني أنه يجب كتابة البرنامج بشكل ككامل مره أخرى عن الرغبة في تنفيذه على جهاز آخر، ونتيجة لهذه الصعوبات فقد ظهرت طرق أخرى لتمثيل الترميز الثنائي، كالنظام الثماني OCTAL والستة عشري HEX-ADECIMAL بدلا من 1، 0 فالنظام الستة عشرين يتكون من ستة عشر رمزاُ هي : 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 A.B,C,D,E,F .
مما يساعد على سهولة قراءة التعليمات المكتوبة وحفظها بهذه اللغة، فبدلا من كتابة 16 رقماً في سلسلة يمكن الاستعاضة عنها بأربعة رموز من رموز النظام التشغيل الستة عشري .
2ـ لغة التجميع :
ظهرت لغة التجميع بوصفها أو لغة ترميز، تستخدم الرموز SYMBOLIC CODE للتعبير عن تعليمات لغة الآلة، وذلك لمواجهة صعوبة الترميز بلغة الآلة، ولغة التجميع لغة قريبة من لغة الآلة التي يفهمها الحاسب الآلي، وتسمى هذه اللغات بلغات المستوى البسيط .
ويتم استعمال مختصرات ورموز يسهل حفظها وكتابتها لكل تعليمة من تعليمات لغة الآلة، ولغة التجميع كما في لغة الآلة مصممة للعمل على حاسب معين، مما يوفر قدرة أكبر على استغلال موارد الحاسب الآلي ووحدة المعالجة المركزية بشكل أفضل، ويقوم البرنامج المسمى المجمع ASSEMBLER بترجمة البرنامج المكتوب بلغة المجمع إلى لغة الآلة .
3 ـ اللغات العليا :
سميت بهذا الاسم لأنه أصبح بإمكان المبرمج كتابة البرنامج دون معرفة تفاصيل كيفية قيام الحاسب بهذه العمليات، كمواقع التخزين وتفاصيل الجهاز الدقيقة، وتعبيرات لغات المستوى العالي هي تعبيرات شبيهة إلى درجة كبيرة باللغة الطبيعية التي يستخدمها الإنسان في حياته للتواصل، والتخاطب مع الآخرين .
ومن مميزات اللغات العليا التي تميزها من لغات المستوى البسيط، بالإضافة إلى ما سبق، أن هذه اللغات غير مرتبطة بجهاز معين . أي يمكننا تنفيذ البرنامج المكتوب بلغة من لغات المستوى العالي، كالفورتران أو الكوبول أو البيسك على أكثر من جهاز، كما يمكن استخدام أكثر من لغة ترجمة على حاسب معين . كذلك، فإن اكتشاف الأخطاء وتصحيحها أصبح أكثر سهولة بسبب سهولة قراءة البرامج وتتبعها وفهمها .
تسمى اللغات كالكوبول والفورتران والبيسك باللغات العليا الموجهة نحو إجراءات الحل ، PROCEDURE - ORIENTED LANGUAGES ، وهي اللغات التي يعطي فيها المبرمج التعليمات خطوة خطوة .
ويمر البرنامج المكتوب بلغات المستوى العالي بثلاث مراح قبل أن يكون جاهزاً للتنفيذ .
1.الترجمة TRANSLATION : تحويل البرنامج المكتوب بلغة المستوى العالي إلى لغة الآلة .
2ـ الربط LINKING : ربط الروتينات المكتبية الكائنة بالمكتبة، والتعليمات الضرورية بالبرنامج .
3ـ التحميل LOADING : يقوم البرنامج بتحميل شفرة الهدف والروتينات المكتبية، والتعليمات على الذاكرة الرئيسة بغرض التنفيذ .
وكانت اللغات تصنف حسب قوتها إلى لغات أعمال، أو لغة علمية أو لغات مبتدئين ـ وفي وقتنا الحاضر ـ فإن معظم اللغات يمكن استخدامها بكفاءة في تطبيق أنواع التطبيقات كافة.
1/ اللغات الشيئية
لغة سي (C++) ++
++C هي لغة برمجة للإستخدامات العامة، تعبتر لغة السي++ لغة برمجة كائنية.
طور بيارن ستروستروب (Bjarne Stroustrup), و الذي كان يعمل فى مختبرات بيل, لغة السي++ في الثمانينات كتحسين للغة السي، تشمل السي++ جميع مزايا السي بالأضافة الى مزايا البرمجة الكائنية، تسهّل لغة ++C الأسلوب المهيكل والمنهجي لعملية تصميم البرامج،وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.
و مثلها مثل لغة السى, فان السى++ هى لغة متعدده الاستخدامات الا انها مناسبة لبرامج أنظمة التشغيل. و تكتب معظم أجزاء أنظمة التشغيل و برامج مساعدة أنظمة التشغيل باستخدام السى++ و منها نظام جنو لينكس.
و يتجنب الكثير من المبرمجين لغة السى++ و السى نظرا لشهرتهما كلغات برمجة معقدة. و قد أدى ذلك الى استخدام الكثيرين للغات مثل فيجوال بيسك و ديلفي ثم جافا و سي شارب و الأخيرتين هما مجرد تسهيل (و ليس تطوير) للغة السى++ و بدا فى وقت معين أن لغات مثل الجافا سوف تستولى على سوق البرمجيات التجارية من السى++ مع هجرة عدد كبير من مبرمجى السى++ الى جافا و سى شارب , الا أنه سرعان ما أدرك المبرمجون أن السى++ هى السبيل الوحيد لانتاج برامج تجارية قوية و سريعة و تؤدى المطلوب منها بكفاءة و بأقل عدد من الأخطاء.
- تدعم السى++ السى بشكل كامل(نظريا أو هذا ما تقوله الشركات المنتجة للمترجمات) و عمليا يمكن لمعظم برامج السى أن تترجم بواسطة مترجمات سى++ و لهذا تسمى هذه المترجمات بمترجمات سى/سى++. - الا أن الأمر لا يخلو من بعض المشاكل غير المتوقعه, مثلا قد يحدث أن تسمى متغيرا باسم new و هى كلمة محجوزه فى سى++ و ليست محجوزة فى سى.
الاضافة الأهم التى أتت بها السى++ عن السى هى بالطبع اليرمجه عن طريق الكائنات. حيث تعتمد السى على البرمجة الاجرائية و التى كانت كافية فى وقتها. الا أن بظهور أنظمة التشغيل ذات الواجهة الرسومية انتقل معظم المبرمجين الى البرمجة بالكائنات . الا أن السى مازالت تستخدم فى برمجة الويندوز.
و هذا بالاضافة الى بضعة اضافات أخرى مثل :
- مكتبات جديدة لأداء مهام الادخال و الاخراج تعتمد على الكائنات.
- كلمة iniline التى تضمن الاجراء الفرعى فى الأساسى بدلا من استدعائه.
- استخدام الاشاره // لتضمين الملاحظات بطول سطر واحد.
اسباب صعوبتها:
ربما تعود أسباب صعوبة لغتى السى و السى++ لأسباب تاريخية أكثر منها واقعية و هو ما يردده المبرمجين المعتادين على استخدام السى++ و هذا يعود بنا الى أصل لغة السى و هى لغة السى بى ال 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] مجموعة تعمل للإستفادة إلى أبعد الحدود
من سي++ في شكله الحالي. هم يتوسّعون كثيرا في سي++ من حيث الوظيفية
والقدرات وينصحون أيضا سي++ لجنة معايير التي فيها تعمل الميزّات حسنا
والتي تحتاج التحسين.
سي شارب
سي شارب (C#)أحد لغات بيئة الدوت نت لتطوير البرامج من أنتاج شركة ميكروسوفت يرمز اليها بالرمز c# وتنطق "سي شارب"، وهي إحدى اللغات التي انتجتها شركة مايكروسوفت وذلك خروجا من ورطة الجافا والقضية الشهيرة التي رفعتها عليها شركة صن , تم الاعلان عنها في اواسط العام 2000 تزامنا مع الاعلان عن بيئة الدوت نت. تتميز سي شارب بأنها أحد لغات البرمجة الشيئيه وتجمع صفات السي واللبيزك المرئي حيث انها تستخدم القواعد الخاصه بالسي وسرعة التطوير كما في البيزك المرئي لغة السي شارب موجهه الى مبرمجي الفيجول سي ومبرمجي السي على انها امتداد لهذه اللغات.
استفادت لغة السي شارب الى حد كبير من جهود مطوري الجافا وتشاركها في كل مزاياها ومبادئ التصميم وتفوقها في بعض الاجزاء . لغة السي شارب كباقي لغات الدوت نت والجافا تنتج برامج لاتعتمد على بيئه معينه مثل برامج موجهه للينكس او ويندوز او موبيل . هي لغة كائنية بالمعني الحقيقي للكلمة حيث كل شيء في تركيب اللغة هو عبارة عن كائن تم تعريفة مسبقا , لذلك لا تسمح هذة اللغة بالكتابة الحرة اي ان ابسط التراكيب البرمجية يجيب ان تكون داخل احدي الكائنات. منذ الوهلة الاولي لظهور السي شارب كان من الواضح انها اتت لتعزز موقف شركة مايكروسوفت فيمنتجها الدوت نت وذلك لانها افضل لغة تتعامل مع الدوت نت و تستفيد من قدراتها كاملة. و قد أصدر في أواخر العام 2005 الإصدار الثاني من اللغة C#2 ..
دلفي
دلفي لغة برمجة من انتاج شركة بورلاند هذه اللغة مبنية على لغة باسكال الكائنية حيث تعتبر لغة دلفي تطوير للغة باسكال القديمة، تعتبر دلفي لغة شائعة ومنتشرة حاليا، تعتبر دلفي لغة مرئية وهي من اللغات العالية الإنتاجية. وتعتبر في مصاف اللغات القوية والسهلة معا.
يقال أنها تجمع بين سهولة لغة فيجوال بيسك وقوة لغة سي++, تم انشاء هذه اللغه في سنة 1996 وقد سميت دلفي رجوعا إلى كلمة اغريقية قديمة تعني عرافة.
هناك نسختان من هذه اللغة، النسخه الاولى خاصة بنظام التشغيل ويندوز و هي ديلفي و الثانية خاصة بنظام التشغيل لينكس و تحمل الاسم كايليكس وقد تم إصدار دلفي للعمل تحت منصة .نت بالنسختين دلفي8.نت و دلفي9.نت.
جافا
الجافا (Java) هي لغة برمجة شيئية طورها أساساً جيمس كوسلنك وجامعيون في شركة صن ميكروسيستيمز.
صممت اللغة أساساً لتستبدل لغة السي++ ++C رغم تشابه سياق جملها مع الأوبجكتف سي Objective C. تتمير لغة الجافا بأخذها لمزايا وقوة السي++ ++C وتجنبها لعيوبها، كذلك تتميز الجافا بنظافة وقوة جملها وتراكيبها وتغليفها للكائنات وكذلك أمكانية عمل برامجها على منصات تشغيل و نظم تشغيل مختلفة.
سميت لغة الجافا من قهوة الجافا (الجاوة) التي تزرع في جزيرة جاوا، رغم تسمية اللغة في البداية أوك (بلوط) (من شجر البلوط الذي كان موجودً خارج نافذة كوسلنك).
ملاحظة: يجب عدم الخلط بين الجافا والجافا سكريبت فرغم تشابة اللغتين في السياق والتراكيب الا أنهما لغتان مختلفتان ولهما أهداف
الاهداف الاساسية من انشاء جافا هي:-
- كائنية التوجه
- الاستقلال عن نظام التشغيل
- توفر امكانيات و مكتبات للتشبيك
- امكانية تنفيذ البرامج من حواسيب بعيدة بشكل آمن
2/ اللغات التقليدية
البيسك
لغة البيسك هي لغة متعددة الأغراض للمبرمجين المبتدئين واسمها اختصار لذلك Basic(Beginners All Puprposes Symbolic Instruction Code). تم تطويرها سنة 1964 م وكانت تستند بشكل كبير على لغة الفورتران.
أكثر ما تميزت به لغة البيسك هو سهولتها ويدين معظم المبرمجين ببداياتهم إلى لغة بيسك. اشتهرت بيسك بأنها لغة مُفسرَة وليست مترجمة ويعتقد الكثيرون أنها بدأت مفسرة ولم تتم كتابة مترجمات لها إلا حديثا وذلك خطأ شائع لأن لغة بيسك بدأت أساسا كلغة مترجمة.
و قد تطورت لغة بيسك كثيرا منذ بدايتها الى اليوم و بعد أن كانت لغة للمبتدئين و كتابة البرامج القصيرة أصبحت لغة احترافية يمكن استخدامها لكتابة برامج تجارية معقدة و عالية المستوى.
و يعود السبب الأساسى لانتشار بيسك الكبير الى اعتمادها كلغة الحواسيب المنزلية التى ازدهرت فى الثمانينات. أما سبب تطورها و اعتمادها كلغة احترافية فيعود بالأساس الى مايكروسوفت و مترجمها كويك بيسك Quick Basic الذى أدخل البيسك فى مرحلة جديدة. و تطورت البيسك بعد ذلك و كانت حجر الزاوية لمترجم Visual Basic الذى يعد الأن من أكثر الطرق شعبية لكتابة برامج ويندوز.( الا أنه ليس أفضله).
سي
السي هي لغة برمجة, مقننة و عالمية, وقع تصميمها و تطويرها في أوائل السبعينيات من طرف كن تومسون, براين كرنيغان, و دنيس رتشي. و قد صممت في الأصل ليقع استعمالها كأدات لتطوير و العمل تحت نظام التشغيل UNIX, ثم لقيت انتشارا واسعا منذ ذلك الحين و تواصل الى اليوم و يظهر ذلك من خلال شعبيته لدى أغلب مبرمجي الحاسوب و من خلال استعمالاته العديدة و المتنوعة. و لغة السي هي لغة انبنت عليها عديد اللغات و الهجات الحديثة مثل ال سي بلس بلس و الجافا
تم تصميم السي في مختبرات بيل ما بين 1969 و 1972, وقد تم تسميته بالسي لأن جزأ كبيرا منه قد اقتبس عن لغة البي (B) و عندما تطورت السي الى درجة أصبحت فيها بالقوة الكافية لتحويل نواة UNIX من الأسمبلي الى السي
وفي سنة 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 . و بتقنين اللغة تمت اضافة أجزاء و تنقيح أخرى لتفادي السلبيات التي ظهرت في السابق ولتهيئة أداة أفضل و أقوى بالنسبة للمبرمج
و لولا ظهور لغة السي و تجربتها التي فاقت الثلاثين سنة لما كان ممكنا ظهور اللغات الحديثة و الشيئية مثل السي بلس بلس أو على الأقل لما أصبحت كما تعرف عليه اليوم.
باسكال
باسكال لغة برمجة تعتمد على الأوامر. و هي معروفة بوضوحها و قوتها و سهولة إنشاء البرامج عن طريقها. و هو ما يجعل من باسكال اللغة البرمجية الأكثر استعمالا في التدريس حتى وقت قريب.
و بالإضافة إلى سهولتها و قوتها، تمتاز لغة باسكال بعدة قواسم مشتركة مع لغة الـسي.غير أن باسكال كان قد صمم في البداية لأسباب تعليمية بحتة و كان مقتصرا على خاصيّات محدودة جدا (فعلى سبيل المثال لم يكون هناك وجود لسلاسل الأحرف)؛ و بالإضافة لكل ذلك فإن كل النسخ المستعملة لباسكال خارج العالم التعليمي هي نسخ معدلة مثل توربو باسكال، دلفي، أوبجكت باسكال...
و في المقابل، فإنه من المعروف أن باسكال فد مكّن من تصميم برامج شهيرة مثل TeX و جزء من أوائل أنظمة التشغيل الخاصة بـماكينتوش. و قد تم اقتباس هذه اللغة في لغات أخرى مثل أدا، مودولا-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 أطلقت شركة بورلاند كيليكس، و هو المرادف لدلفي الخاص بمنظومة لينوكس.
الكوبول
لغة الكوبول COBOL) اختصار Common Business-Oriented Language أي اللغة الشائعة الاستخدام في النواحي التجارية) لغة برمجية تخدم النواحي التجارية وخاصة مجال البنوك وغيره. وهي لغة توثيقه تتكون من أربعة أقسام هم:
القسم البيئي أو التعريف (Enveironmental Division) وهو القسم الذي يتم تعريف اسم البرنامج به واسم المبرمج والغرض من البرنامج والجهة صاحبة هذا البرنامج.
قسم الإدخال والإخراج (Input Output Division)
قسم البيانات (Data Division)
قسم الإجراءات (Procedures)
فورتران
فورتران (FORTRAN) هي لغه مفاهيمها بسيطه استخدمت لاغراض المحاسبه وكما استخدمت لاغراض تعليميه ولكن تكمن صعوبتها في تحديد الخطأ عند حدوثه حيث من يستوجب عليك تتبع الكود من اوله مما يزيد الامر صعوبه.
أسمبلي
لغة أسمبلي (بالإنجليزية: (Assembly languageهي الصيغة السهلة القراءة للبشر المقابلة للغة الآلة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما. فلغة الآلة عبارة عن تتابع من البتات (bits) تمثل عملية حاسوبية أو امر للحاسوب، تصبح أسهل للقراءة عندما تستبدل برموز تعبر عنها.
حاسوب بوحدة معالجة مركزية تتبع تصميم اجهزة x86/IA-32 يقبل الأمر الآتي (بلغة الآلة):
10110000 01100001
اما للمبرمجين ، فانه من الاسهل تذكر وفهم الصيغة المقابلة لهذا الأمر المكتوبة بلغة اسمبلي وهي :
mov al, 0x61
والتي تجعل الحاسوب ينقل قيمة 61 بالنظام الست عشري للعد (91 باللنظام العشري) الى خانة وحدة تخزين في وحدة المعالجة المركزية اسمها al. فـ mov هي اختصار لكلمة move التي تعني "حرّك" او "انقل" ، ومجموعة من المدخلات تتبع الأمر مفصولة عن بعضها بفاصلة(,) ، هي مثال على الشكل الشائع لأوامر لغة اسمبلي.
3/اللغات الوضيفية
ليسب
ليسب (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;
yes
القواعد 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 )مركز العلوم والحاسب الألي) بأمستردام على يد جويدو فان رُزوم. تم تطويرها بلغة C. أطلق فان رُزوم اسم "بايثون" على لغته تعبيرًا عن إعجابه بفِرقَة مسرحية هزلية شهيرة من بريطانيا، كانت تطلق على نفسها أسم مونتي بايثون
(Monty Python)
تتميز بايثون بمجتمعها النشط , كما ان لها الكثير من المكتبات البرمجيه ذات الاغراض الخاصه و التي برمجها اشخاص من مجتمع هذه اللغه , مثلاً مكتبة PyGame التي توفر مجموعه من الوظائف من اجل برمجة الالعاب . و يمكن لبايثون التعامل مع العديد من انواع قواعد البيانات مثل MySQL و غيرها .
تطبيقات كُتبت بإستخدام البايثون:
Blender - برنامج مفتوح المصدر لإنشاء الرسومات ثلاثية الابعاد
DrPython - بيئة تطوير متكامله مفتوحة المصدر من اجل لغة بايثون
MySmartCI - مفسر اوامر مفتوح المصدر قابل للتوسيع
أمثلة:
مثال Hello World!
print "Hello World!"
مثال لاستخراج المضروب Factorial :
num = 1
x = raw_input('Insert the number please ')
x = int(x)
if x > 69:
print 'Math Error !'
else:
while x > 1:
num *= x
x = x-1
print num
× المراجع:
- منتديات تونيزيـا سات / منتدى لغات البرمجة
- كتب عدي الجميلي : لغات البرمجة اساس الاحتراف بقسم البرمجة القياسية Ajax - XML - CSS - JavaScript -php وغيرهم في منتديات داماس
لغات البرمجة
إعداد/ كاملة الزهراني
تعريف لغة البرمجة:
وهي مجموعة من التعليمات والقواعد التي تؤدي وظائف عمليات معالجة البيانات جزئيا أو كليا وذلك تبعا لشروط معينة.(وتقوم لغة البرمجة مقام اللغة الطبيعية بين مستخدم الجهاز والجهاز).
قواعد لغة البرمجة:
أن جميع برامج الحاسب تتكون من أربعة أنماط رئيسية من العمليات المنطقية وهي:
1-التتابع (Sequence): وهو تنفيذ الأوامر بنفس ترتيب تخزينها في الذاكرة
2-الاختيار (Selection): ويشمل هذا النمط على اختبار لوضع ما أو شرط ما ، وبناء على نتيجة الاختبار يتم اختيار أحد فرعين
3- التكرار (Looping): ويكون التكرار عادة مشروط ، وإذا لم يتحقق الشرط فإن خط سير البرنامج سيخرج من حلقة التكرار
4- التفرع (Branching): وفيه ينتقل التحكم (بشرط أو بدون شرط) من جزء إلي جزء آخر في البرنامج
أقسام لغات البرمجة:
1- لغة الآلة Machine Language
2- لغات البرمجة عالية المستوى High Level Language
3- لغة التجميع Assembly Language
الفرق بين لغات البرمجة:
تنقسم لغات البرمجة إلي ثلاثة أنواع وهي:
أ - لغات متدنية المستوى(قريبة من الحاسوب)
من انواعها:
1- لغة الآلة Machine Language
لغة الآلة (بالإنجليزية: Machine Language) هي اللغة البرمجية الوحيدة التي يفهمها وينفدها الحاسوب مباشرة.وهي من لغات البرمجة المتدنية المستوى.
وجميع لغات البرمجة عالية المستوى مثل ++ Cأو فيجول بيسك الخ عند تنفيد البرنامج المكتوب بها تحول إلى لغة الآلة حتى يتم تنفيدها.
تعليمات اللغة:
لكل نوع من أنواع المعالجات لغة آلة أو طاقم تعليمات خاصة به . ويتم كتابة تعليمات وإيعارات لغة الآلة على هيئة أرقام بنظام العدد الثننائي ليتم تنفيدها مباشرة ..أو بنظام العدد الثماني ثم تحول إلى النظام الثنائي لتنفذ.
توجد لكل عملية حسابية أو منطقية تكتب بلغة الآلة شفرة (code) خاص بها ..ويتم كتابة عناوين الذاكرة الحقيقية في البرامج المكتوبة بلغة الآلة .
2-أسمبلي Assembly
في علوم الحاسوب، لغة التجميع (بالإنكليزية: Assembly language) هي الصيغة السهلة القراءة للبشر المقابلة للغة الآلة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما. فلغة الآلة عبارة عن تتابع من البتات (bits) تمثل عملية حاسوبية أو أمر للحاسوب، تصبح أسهل للقراءة عندما تستبدل برموز تعبر عنها.
ولكل معالج لغة تجميع خاصة به كما أن له "لغة آلة Machine Language" خاصة به. وتحتاج لغة التجميع ما يسمى "المجمـِّع" (بالإنكليزية: Assembler) وهو الذي يقوم بتحويل لغة التجميع التي يستطيع البشر قراءتها والتعديل فيها إلى لغة الآلة التي يستطيع المعالج تنفيذها. وتستخدم هذه اللغة الآن من قبل البشر وذلك لبرمجة أجزاء من نظم التشغيل أو للتاكد من سرعة وكفاءة تنفيذ بعض البرامج التي يحتاج فيها الكفاءة كبرامج المحاكاة والألعاب.
و تتكون اسطر برامج التجميع من ثلاثة أجزاء:
-العلامة (Label) وهو ما يتم به الإشارة لسطر ما في سطور أخرى.
-الأمر (Instruction) وهو يكون مناظر في الغالب لأمر في المعالج وهو ما سيقوم المعالج بتنفيذه عند الوصول لهذا السطر أثناء تنفيذ البرنامج.
-المعامل (Operand) وهو المتغير الذي سيتم تطبيق الأمر عليه.
تنقسم الأوامر إلى أربعة حقول :
-الاسم
-المعامل
-العملية
-التعليق
أمثلة الأوامر:
كود PHP:
START: MOV CX,5 ;initialize counter
-في المثال حقل الاسم هو START:
-العملية والمعامل MOV CX,5
-التعليق ;initialize counter
ب-لغات ذات المستوى العالي: (High Level Language)
وهي عبارة عن لغات يمكن للإنسان العادي التعامل معها بسهولة لإنها تستخدم اللغات الطبيعة للإنسان وهذه اللغات تحتاج إلي مترجمات ومفسرات.
ومن أمثلة اللغات ذات المستوى العالي ما يلي:
-1 لغةC++:
كانت أول بداية للغة السي في مختبرات شركة AT&T الأمريكية في عام 1972م وكانت البداية كمشروع تولى الإشراف عليه دينيس ريتشي ( Dennis Ritchie ). وهو يعتبر مخترع لغة السي باستخدام نظام التشغيل Unix. ولغة سي هي في الأصل لغة قديمة يطلق عليها اسم BCPL. و BCPL طورت بواسطة مارتن ريتشارد ( Martin Richards ) في كامبرج عام 1967م والتي بدورها كانت لغة B والتي اخترعت بواسطة كين تومسون.
ولقد أدت لغة Bإلي تطوير لغة السي في السبعينات.
حيث قام دينيس ريتشي ( Dennis Ritchie ) وأخذ من لغة B أحسن تعليماتها ، وغير في كثير من قيودها ، وأضاف إليها تعليمات أخرى عديدة وجعل منها لغة برمجة وسماها لغة C.
وبالرغم من أن لغة C قد أنشأت لاستخدامها في برمجة النظم إلا أنه انتشر استخدامها كلغة ذات مستوى عالي في تنفيذ البرامج التطبيقية ، ومع ذلك فإن لغة C و C++ تستخدمان كلغة ذات مستوى متدنى وذلك نظرا على توفير المميزات التي توفرها اللغات في هذا المستوى كالقدرة على التعامل مع العناصر الثنائية bit مثلا.
وفي الوقت نفسه تستخدم لغة C و C++ كلغتين ذات مستوى عالي لقدرتهما على توفير الجمل التحكمية ( Control Statements ) والهياكل البنائية ( Data Structure ) والتي هي من مميزات اللغات ذات المستوى العالي.
ولقد تطورت لغة السي تطورات كبيرة واكتسبت شعبية و إقبالا ولعل السبب الرئيسي هو شعبية وانتشار نظام التشغيل UINX ، وهو أهم نظام لتشغيل الحاسبات المتطورة. حيث أن هذا النظام كتب بلغة السي وهذا الأمر يعتبر مصدر قوة للغة السي بين سائر اللغات الأخرى.
وتعتبر لغة السي الآن من أشهر اللغات وأكثرها انتشارا ولكن في الدول المتقدمة ، ولقد بدأ المبرمجون من كافة الاختصاصات يكتبون برامجهم بها ، وعلى سبيل المثال لا الحصر :
ظهر كتاب(برامج المايكرو كمبيوتر للمهندسين الكيميائين ) عام 1987م عن دار ماجروهيل الأمريكية ،مكتوبا من ألفه إلي يائه بلغة السي ، ومعنى ذلك أنه يفترض أن على جميع المهندسين الكيميائين في أمريكيا يفهمون لغة السي ، ويتعاملون بها. أضف إلي ذلك أن معظم الشركات ، تطلب في إعلاناتها مبرمجين بلغة سي.
كانت معيارية لغة سي لعدة سنوات عبارة عن مصنف Compiler مزود على نظام التشغيل Unix . وبعد انتشار وشيوع الحاسب الشخصي تم إنشاء العديد من المصنفات للغة سي. ومما يجدر ذكره هنا أنه على الرغم من تعدد المصنفات كانت هناك توافقية عالية جدا بين أكثرها (INI) وهو برنامج كتب ليعمل على أحد المصنفات وإنه بلا شك سيعمل مع مصنفات أخرى. ومع ذلك لأنه لم يكن هناك أي معيار أو مقياس Standard معتمد.
وكانت هناك بعض التناقضات بين المصنفات ، ولمعالجة هذه المشكلة أسست لجنة في صيف عام 1983م لإنشاء معيار ANSI:
و هي اختصار American National Standards Institute والتي تعني هيئة القياسات الأمريكية. وكان الدور الأساسي لهذه اللجنة هو تعريف لغة سي مرة واحدة وللأبد.
وأخذت معالجة توحيد القياس للغة سي ما يقارب 6 سنوات وهذا أكثر مما كان متوقع. وفي نهاية عام 1989م ثبت أول معيار للغة سي وسمي ANSI C ، ولغة سي القياسية تسمح بأن يكون الاسم التعريفي مكونا من إي عدد من الرموز حتى 31 رمز ، وكانت النسخ الأولى من هذا المقياس متوفرة في عام 1990م.
معنى لغة السي: تعتبر لغة السي أحد اللغات ذات المستوى العالي ، وتعد أفضل لغة لكتابة برمجيات النظم التي تتحكم في المكونات المادية للحاسب مباشرة ، ومعظم نظم التشغيل مكتوبة بلغة السي مثل:
1- نظام Windows95/98.
2- نظام التشغيل UNIX.
مميزات لغة السي: 1- تعتبر لغة السي لغة سريعة :
وذلك لأنها تتحكم في المكونات المادية للحاسب مباشرة ، ولذلك تعد نسبيا أسرع تنفيذا من اللغات الأخرى.
2- أنها لغة صالحة لأغراض متعددة ( تجارية - علمية - فنية - أدبية. (
3- للغة السي صورة قياسية معتمدة:
وذلك لأن تطوير لغة السي تم في شركة واحدة ( Bell ).
ونلاحظ أن الفرق بين نمط و آخر من أنماط لغة السي هي فروق بسيطة جدا ، بينما نجد أن الفروق كبيرة وكثيرة بين أشكال وصور لغة مثل لغة البيسك ، لأن كل شركة صانعة لأجهزة الحاسبات تضع تعليمات خاصة ومختلفة للغة ، وتختلف عما تضعه الشركات الأخرى.
4- تعتبر لغة السي لغة غنية بالدوال:
وتوفر لغة السي للمبرمج عددا كبيرا من دوال الإدخال والإخراج ، والدوال الرياضية والحسابية، وهو الأمر الذي يسهل عملية بناء البرامج بها.
عيوب لغة السي:
1- أنها تعتمد على أسلوب المترجم والذي يقوم بترجمة البرنامج بأكمله دفعة واحدة ثم يقوم بعرض قائمة من الأخطاء بعكس لغة البيسك التي تعتمد على أسلوب المفسر حيث يتم تفسير البرنامج سطر سطر مما يسهل على المستخدم تصحيح الأخطاء بكل سهولة ويسر.
2- هناك أخطاء لا يستطيع مترجم لغة السي أن يكتشفها.
3- ان لغة C++ ليست هي لغة C مع التشابه الكبير لأوامر ودوال اللغتين .
رموز لغة السي:
يبنى برنامج لغة السي من مجموعة من العناصر الآتية:
أ-حروف أبجدية إنجليزية مثل ( a ,b ,c ,…., z )
ب-الأرقام مثل ( 1 ,2 ,3 , …. , 9)
ج-الرموز الخاصة مثل( + ، - ، < ، > ، ! ، % ، $ ، <> ، / ، ، ( ) ، [ ] ، , ، # ، & ، * ، ^ )
كيفية تشغيل برنامج لغة C++:
-يوجد برنامج لغة السي على أحد الدليلين( Borlandc أوTC )وهناك أكثر من طريقة لتشغيل برنامج لغة C++ ومنها:
1- الطريقة الأولى ( إذا كان برنامج لغة السي موجود داخل الدليل Borland (c: من قائمة ابدأ نختار البرامج ومنها نختار موجه MS-DOS:
أ-أكتب السطر التالي:
C:>CDBORLANDC و سوف يظهر لك الشكل التالي:
C:> BORLANDC>
ب- أكتب السطر التالي:
C:> BORLANDC>CD BIN وسوف يظهر لك الشكل التالي:
C:> BORLANDC>BIN>
ج-أكتب السطر التالي:
C:> BORLANDC>BIN>BC
الطريقة الأولى( إذا كان برنامج لغة السي موجود داخل الدليل TC: )
-من قائمة ابدأ نختار البرامج ومنها نختار موجه MS-DOS:
أ-أكتب السطر التالي:
C:>CDTC و سوف يظهر لك الشكل التالي:
C:> TC>
ب- أكتب السطر التالي:
C:> TC>CD BIN وسوف يظهر لك الشكل التالي:
C:> TC>BIN>
ج-أكتب السطر التالي:
C:> TC>BIN>BC
الطريقة الثانية ( إذا كان برنامج لغة السي موجود داخل الدليل Borlandc: )
1- من قائمة "أبدا" نختار أمر "تشغيل" فسيظهر لنا مربع حوار "تشغيل" ونقوم بكتابة السطر التالي في خانة "فتح": C:> BORLANDC>BIN>BC ثم نقوم بعد ذلك بالضغط على زر "موافق".
2- الطريقة الثانية ( إذا كان برنامج لغة السي موجود داخل الدليل TC): 1-من قائمة "أبدا" نختار أمر "تشغيل" فسيظهر لنا مربع حوار "تشغيل" ونقوم بكتابة السطر التالي في خانة "فتح": C:> TC>BIN>BC ثم نقوم بعد ذلك بالضغط على زر "موافق".
3- الطريقة الثالثة:
1-من قائمة ابدأ نختار البرامج ومنها نختار مستكشف ويندوز .
2- نختار أما المجلد Borlandc) أو ( Tc حسب الدليل الموجود عليه برنامج لغة السي بالجهاز.
3- ونختار منه المجلد الفرعي BIN ومنها نختار إما :
* رمز BC ( إذا كان الدليل الموجود عليه برنامج لغة السي هو Borlandc) II- رمز TC (إذا كان الدليل الموجود عليه برنامج لغة السي هو TC) -ملاحظات هامة:
*أسرع طريقة لمعرفة هل إذا كان الجهاز الذي تستخدمه عليه برنامج لغة السي أم لا:
هناك طرقتين أم عن طريق برنامج DOS أو عن طريق برنامج Windows:
1- عن طريق برنامج Dos:
نكتب الأمر التالي عند المحث C:
c:>dir Borlandc أو
c:>dir TC
2-عن طريق برنامج Windows:
من قائمة ابدأ نختار بحث ومنها نختار ملفات أو مجلدات ونكتب في اسم الملف أما: Borlandc أو Tc.
ونختار بعد ذلك زر البحث الآن للبحث والتأكد من وجود برنامج لغة السي على الجهاز.
وبعد ذلك سوف تظهر لك شاشة زرقاء.وتحتوي هذه الشاشة على مجموعة من القوائم وعددها عشرة قوائم وهي:
1-File-2-Edit-3-Search-4-Run-5-Compile-6-Debug 7-Project-8-Options-9-Window-10-Help. وسوف تلاحظ في أسماء القوائم الموجودة في شاشة برنامج لغة C++، أن الحرف الأول من اسم أي قائمة يكون حرف كبير وملون بلون أحمر.(لماذا ؟)
لتعرف الإجابة بنفسك قم بعمل التطبيق التالي، وأنظر ماذا سيحدث عند القيام بكل من العمليات التالية:
1-أضغط على مفتاح ALT +F.
2-أضغط على مفتاح ALT +E.
3-أضغط على مفتاح ALT +H.
هل عرفت الآن لماذا يكون الحرف الأول من اسم أي قائمة حرف كبير وملون بلون أحمر؟
الجواب: لأنه عند الضغط على مفتاح ALT +F سوف تظهر لك قائمة ملف(File) وعند الضغط على مفتاح ALT +E سوف تظهر لك قائمة
تحرير(Edit) وهكذا ستجد أنه عند الضغط على مفتاح ALT +الحرف الأول من اسم القائمة سوف تفتح لك تلك القائمة.
ولنأخذ على سبيل المثال قائمة ملف(File) ستجد أنها تحتوي على ما يلي:
1- New 4-Save as 7-Print 2-Open 5-Save all 8-Dos shell 3-Save 6-Change dir. 9-Quit
(ستلاحظ أن بعض الحروف الموجودة ضمن قائمة ملف ملونة بلون أحمر لماذا؟ )
الجواب:لأنه عند فتح قائمة ملف(File) والضغط على أي حرف من الحروف الملونة باللون الأحمر سينفذ لك الأمر الذي اختارته،فمثلا عند فتح قائمة ملف والضغط على زر حرف N على لوحة المفاتيح ستجد أنه سوف يظهر لك ملف جديد. وعند الضغط على زر الحرف Q على لوحة المفاتيح سوف تخرج من برنامج C++ فورا. وقس على ذلك بالنسبة لباقي القوائم .
الصيغة العامة لبرنامج لغة C++: دائما عند كتابة برامج لغة C++ يجب كتابة الأسطر التالية:
#Include #include main( ) { clrscr(); الأوامر و المصطلحات
شرح مكونات الصيغة العامة لبرنامج لغة C++:
1-يحتوي على):
include# ونقوم بكتابتها في بداية برامج C++ لكي نذكر أسماء الملفات (Header Files) التي سوف يحتاجها البرنامج.
include#: هو من أوامر لغة سي ++ ويسمى (المعالج المبدئي)
ملاحظة: يأتي برنامج لغة السي مزود بمجموعة من ملفات ( Header Files ) و هي تحتوي على مجموعة من مكتبات الأوامر التي نستخدمها في البرامج، مثل:
أ-iostream.h ب-stdio.h ج-conio.h وستلاحظ في أسماء مكتبات الأوامر أنه عادة ما يأخذ القسم الثاني من أسماء الملفات ( Header Files ) الحرف h ( إشارة إلي header ).
2-: وهي أحد أنواع ملفات ( Header Files ) هي عبارة عن مكتبة الأوامر الخاصة بوحدة الإدخال ( cin ) و وحدة الإخراج ( cout ).
3-conio.h: وهي تعتبر مكتبة الأوامر الخاصة بالشاشة وتأتي معها الدالة Clrsdr والتي تعني مسح الشاشة.
3-main():وهي الدالة الرئيسية المكونة لجميع برامج لغة C++ وهي أهم دالة في البرنامج وأساس البرنامج. وتبدأ كل برامج لغة C++ التنفيذ بدءا من التابع main() ، ويجب أن يحتوي برنامج لغة C على تابع main() واحد فقط.
4- { : ويعني هذا الرمز بداية البرنامج.
5-clrscr : وهو أمر خاص لتنظيف الشاشة ويكون موجود داخل مكتبة conio.h والخاصة بأوامر الشاشة
6-الأوامر والمصطلحات: المقصود بها تعريف المتغيرات وإجراء جميع أنواع العمليات الحسابية والرياضية المختلفة.
-وتعتبر الفاصلة المنقوطة هي أصغر أمر أو تعليمة بلغي السي وتعني نهاية السطر أو الأمر.
7- } : ويعني هذا الرمز نهاية البرنامج.
أهم وحدات الإدخال والإخراج في برنامج لغة السي:
1-cin>>: وهي عبارة عن كلمة الإدخال في لغة C++ أو Input. 2-cout<<: وهي عبارة عن كلمة الإخراج في لغة C++ أو Output.
ملاحظات هامة يجب مراعاتها عند كتابة البرامج بلغة السي :
1- تأكد من كتابة الصيغة العامة للبرنامج بشكل صحيح.
2- في لغة C++ الأوامر بشكل عام تكتب بحروف صغيرة مثل:cin –cout وذلك لأن لغة C++ لغة حساسة بالنسبة للحروف، فمثلا كلمة for من الكلمات المحجوزة في لغة C++ التي لا يمكن استخدامها في اسم المتغير ولكن كلمة FOR تختلف تماما عن كلمة for في لغة C++، حيث يمكننا استخدام كلمة FOR في كتابة أسماء المتغيرات في لغة C++.
3- تذكر أنه لابد من وضع الفاصلة المنقوطة في نهاية أي دالة أو تعليمة أو أمر. ولكن تذكر أن جملة for وجملة if يجب أن لا تضع في نهاية إي منها فاصلة منقوطة.
4- لا تنس تعريف المتغيرات وخاصة في البرامج التي تطلب منك إدخال إي قيمة.
5- إي برنامج في لغة C++ لا يخلو من أمر إدخال وإخراج)طباعة(
وظائف مفاتيح الاختصارات في برنامج لغة C++:
F2: وتستخدم لحفظ ملف.
F3: وتستخدم لفتح ملف.
ALT +BKsp: وتستخدم للتراجع عن العمل الأخير.
Shift +ALT +BKsp: وتستخدم لإعادة كتابة العمل الأخير.
Shift +Del: وتستخدم لقص جزء معين من البرنامج.
Ctrl +Ins: وتستخدم لنسخ جزء معين من البرنامج.
Shift +Ins: وتستخدم للصق جزء معين من البرنامج.
Ctrl +Del: وتستخدم لحذف جزء معين من البرنامج.
Ctrl +F9: وتستخدم لتشغيل وترجمة البرنامج.
ALT +R: وتستخدم أيضا لتشغيل البرنامج.
ALT +F5: وتستخدم لعرض النتيجة على الشاشة.
ALT +F3: وتستخدم لإغلاق الملفات المفتوحة.
F5: وتستخدم لإعطاء صفحة كاملة أو نصف صفحة.
ALT +X: وتستخدم للخروج من برنامج لغة C++.
مثال1: البرنامج التالي يقوم بطباعة الجملة This is my first C++ program.: #include main() { cout<<"This is my first C++ program."; -خطوات تنفيذ البرنامج:
1- نقوم أولا بتشغيل برنامج لغة C++
2- نقوم بكتابة البرنامج أعلاه كما هو.
3- نقوم بالضغط على مفتاحي ( ALT+R ) لتشغيل البرنامج ، ثم نقوم بالضغط على مفتاحي ( ALT+F5 ) لعرض النتيجة على الشاشة. (يمكننا أن نختار من قائمة Run " " الأمر("Run"
نتيجة تنفيذ البرنامج:
يقوم هذا البرنامج بطباعة الجملة التالية على الشاشة : This is my first C++ program.
مثال2:حسب دراستك للغة C++ قم بكتابة برنامج يقوم بطباعة الجملتين التاليتين:
Hello programmers are you having a good day? ملاحظة بشرط أن تكون كل جملة في سطر منفصل الحل:
في لغة C++ تستخدم الدالة cout<< لطباعة الرسائل أو المخرجات على الشاشة، حيث أن هذه الدالة شبيهة بالأمر Write في لغة باسكال والأمر Print في لغة بيسك. الأسطر التالية تمثل عملية طباعة رسالتين على الشاشة:
Cout<<"Hello programmers"; cout<<"are you having a good day?";
الرسائل التي سيتم طباعتها على الشاشة هي تلك التي بين علامتي الاقتباس ضمن الأقواس الهلالية. لاحظ أن وظيفة cout<< لا تقوم بطباعة كل جملة في سطر جديد بشكل تلقائي: إذا قمت بكتابة الأسطر السابقة ثم تنفيذ البرنامج فإنك ستحصل على السطر التالي:
Hello programmersare you having a good day? لاحظ أن الجملتين تداخلتا عند نهاية الأولى وبداية الثانية. إذا أردت أن تفصل بين الجمل بحيث تبدأ كل جملة في سطر فإنه يمكنك استخدام الحرفين (أو تسلسل الحروف الخاصة في نهاية كل جملة). فمثلا الأسطر التالية تمثل طباعة نفس الجملة السابقة ولكن عملية طباعة الجملة ستخرجها في سطرين متتاليين:
cout<< "Hello programmers "; cout<<"are you having a good day?"; وسنلاحظ أن عملية الطباعة على الشاشة ستتم بهذا الشكل:
Hello programmers are you having a good day? ملاحظة : يمكنك استخدام الأحرف الخاصة في أي مكان في الجملة ولكن بين علامتي الاقتباس. فمثلا، السطر التالي صحيح ولكن قراءة الكلمة ستكون بشكل رأسي:
cout<<"P r o g r a m m e r s "; -
نتيجة تنفيذ البرنامج:
هكذا ستظهر الكلمة على الشاشة:
P r o g r a m m e r s ملاحظة:
-سؤال تطبيقي(1): أكتب برنامج يقوم بطباعة الجملة " Welcome To City" ؟ -
سؤال تطبيقي(2): أكتب برنامج يقوم بطباعة الكلمتين التاليتين:
Hello ALI بشرط:
1- أن تطبع كل كلمة في سطر منفصل
2- أن تطبع الكلمتين على نفس السطر مع ترك مسافة خمسة أحرف بين كل من الكلمتين.
الملاحظات والتعليقات في لغة السي ( Comment ):
تستعمل سائر لغات البرمجة جملا للتعليقات والملاحظات ، وكذلك لغة السي ، فمثلا الجملة التالية:
10 REM This is a comment هي جملة ملاحظة في لغة البيسك.
-طرق كتابة التعليقات في برنامج لغة السي:
توجد هناك طريقتين لكتابة التعليقات داخل برنامج لغة السي:
1- باستخدام الرمز التالي // . مثال على ذلك:
// this is a comment ملاحظة: تذكر ان الرمز // هي عبارة عن ملاحظات لسطر واحد فقط وكلما وضعت سطر ملاحظات ضع هاتين العلامتين في بداية السطر.
2- باستخدام الصيغة التالية: /* التعليق يكتب هنا */ . مثال على ذلك:
/* this is a comment */ وتستعمل جمل التعليق في إي مكان من البرنامج ، وذلك لإبداء ملاحظة ما ، عند سطر ما في البرنامج ولا تعتبر جملة تنفيذية ، بمعنى أنها لو حذفت من البرنامج لا يؤثر فيه ذلك شيئا.ويكمن استخدام أكثر من جملة تعليق في داخل البرنامج الواحد.
سؤال: ما هو المقصود بهذه العبارة ( تتمتع جملة التعليق بلغة السي بمواصفات فائقة لا تتوفر في غيرها من اللغات(
ملاحظات هامة يجب مراعاتها عند كتابة التعليقات والملاحظات في برنامج لغة السي: 1- لا تترك إي فراغ بين الشرطة / والنجمة * من جهتي جملة التعليق.
2- يقوم مترجم لغة السي بإهمال النصوص المستعملة في جمل التعليق إي أنه لا يصححها حتى لو كتبت بطريقة خاطئة ولا ينفذها أيضا.
3- يمكن وضع التعليق أو الملاحظة في إي مكان بالبرنامج وتعتبر الجملة التالية صحيحة:
4-y=a+b; /*add*/ لا ينصح بوضع تعليق داخل تعليق لأن ذلك يتسبب في وقوع أخطاء.
مثال3:هذا برنامج يقوم بإدخال عددين وحساب المتوسط الحسابي لهما وطباعة الناتج.
#include main() { float a,b,c; cout<<"enter 2 number"; cin>>a>>b; sum=a+b; c=sum/2; cout<<"sum="< }
سؤال: أكتب برنامج يقوم بإدخال إي رقم ثم يقوم البرنامج إذا كان الرقم موجب وأكبر من الصفر بإظهار الرسالة التالية ( The Number Is Positive ) وإذا كان الرقم سالب إي أصغر من الصفر يقوم بإظهار الرسالة (The Number is Negative) ؟
-إجابة السؤال:
#include #include main() { clrscr(); int x; cout<< " Enter any number"; cin>> x; if ( x>=0) cout<<" The number"< cout<< The Number "< }
-الصيغة الثانية لجملة إذا الشرطية ( if statements ): ولهذه الصيغة تأثير الصيغة السابقة ، فإنه إذا تحقق الشرط تم تنفيذ العبارة الأولى وإذا لم يتحقق الشرط تم تنفيذ العبارة الثانية المذكورة بعد كلمة else .
-ويمكن تمثيل هذه الصيغة على النحو التالي:
if ( Condition ) statement1; else statement2; -مثال توضيحي على هذه الصيغة:
هذا برنامج يطلب من المستخدم إدخال إي
تتمة الموضوع : http://www.damasgate.com/vb/t57914/#ixzz1mW6tlSD5
2- لغة بيسك (BASIC):
وهي اختصار للعبارة الإنجليزية Beginer's All Purpose Symbolic In struction Code أي اللغة المتعدد الأغراض للمبتدئين، وتأتي كلمة BASIC التي تعني الأساس لتحقيق المعنى نفسه، فهذه اللغة ونظراً لبساطة تعليماتها ومحدوديتها فإنها تعد لغة مناسبة للتعلم من قبل المبتدئين في عالم الحاسب الآلي والبرمجة، وتستخدم هذه اللغة في معظم الحاسبات الشخصية، مما يدل على الانتشار الواسع لها، وقد طورت هذه اللغة في كلية Dartmouth عام 1963م من لدن John Demuy و Thomas Kurtz .
وتستخدم لغة Basic الحديثة في قطاع واسع . إذ تستخدم في مجال الأعمال لقدرتها على التعامل مع الملفات، وكذا في العمليات الرياضية من قبل العلماء والمهندسين لامتلاكها كثيراً من الوظائف للقيام بمثل تلك العمليات المعقدة .
وتعتبر أسهل اللغات من حيث التعليم والاستخدام ، وتمتاز بأنها تسمح بالتفاعل بين المبرمج والآلة مما يمكنه من إدخال البرنامج وتنفيذه واكتشاف الأخطاء في البرنامج بسهولة ويسر،وتعتمد لغة البيسك على المفسر.
3- لغة السي ( C):
طورت هذه اللغة في معامل Bell من قبل Dennis Ritchie وهي تطوير لنسخة قديمه تسمى B من لغة BCPL التي ظهرت عام 1969م . لذا سميت هذه النسخة اللاحقة بـ C .
وتشتهر لغة C باستخدامها كلغة برمجة نظم system software حيث تستخدم لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة، وتشبه إلى حد كبير لغة التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مخجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة C من اللغات التركيبية Structured Language .
وازداد اهتمام محترفي البرمجة بلغة الـC ، والنسخ المحسنة منها C+ , C++ . إذ إن معظم التطبيقات تكتب بها .
لغات الجيل الرابع : Fourth-Generation language (4GL) :
سميت بهذا الاسم نسبة إلى الجيل التي ظهرت فيه، مثل هذه اللغات التي تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ، فما كان يتطلب مئات الأسطر من لغة بيسك أو الآلاف من لغة كوبول باستخدام عدد بسيط من الأسطر في هذه اللغات .
وتعد أفضل لغة برمجة لكتابة برمجيات النظم.وتمتاز هذه اللغة بعدد من الأوامر والإيعازات التي يمكنها التحكم مباشرة في المكونات المادية للحاسب، ومعظم نظم التشغيل مكتوبة بلغة السي مثل نظام windows95
4- لغة كوبول (Cobol):
وكلمة COBOL هي اختصار للعبارة الإنجليزية Common Business Oriented Language ، وقد طورت وصممت هذه اللغة من لدن لجنة من مصنعي أنظمة الحاسب الآلي ومطوريها عام 1960م تسمى لجنة CODASYL اختصاراً لـ Conference of Data System Languages .
وقد قام المعهد الوطني الأمريكي للمعايير ANSI بتطوير نسخة معيارية من COBOL ، مفسر كوبول يطابق المواصفات القياسية لهذا المعهد، وكان ذلك ف ي عام 1968م وسميت *ANSI 1968* وظهر بعدها ANSI 1974 و ANSI 80 .
وينتشر استخدام لغة كوبول على نطاق واسع عالمياً حيث تستخدم في البنوك وفي المنظمات الحكومية، وتستخدم على حاسبات كبيرة أو على حاسبات شخصية .
وتتميز لغة كوبول بقدرتها على التعامل مع الملفات؛ لذا اشتهرت بأنها لغة أعمالوقد صممت للاستخدام في التطبيقات التجارية التي تحتاج إلي إدخال كميات كبيرة من البيانات وحفظها واسترجعها.
5- لغة فورتران (Fortran):
وهي اختصار عبارة FORmula TRANSlation ، وتعد لغة FORTRAN أقدم اللغات ذات المستوى العالي، وقد ظهرت هذه اللغة في منتصف الستينات، حيث بدئ عام 1954 بالعمل على تطوير لغة برمجة تقبل برنامجا مكتوبا بلغة قريبة من لغة الإنسان، ويحوله إلى شفرة قابلة للتنفيذ على الحاسب الآلي، وبعد 3 سنوات أي في عام 1957م . ظهر أول مفسر فورتران.
وفي تلك الفترة كان استخدام الحاسب الآلي يكاد يكون حكراً على العلماء والمهندسين والرياضيين، ومن الطبيعي أن تكون هذه اللغة المطورة حديثاً قد جاءت لتواكب احتياجاتهم إذ تتميز لغة FORTRAN بقدراتها على إجراء العمليات الحسابية المعقدة وحل المعادلات الرياضية .
وتستخدم للتطبيقات الهندسية والعلمية والتي تحتاج إلي إجراء عمليات حسابية رياضية.وهي أقدم لغات البرمجة.
6- لغة (RPG):
آر بي جي RPG هي لغة برمجة عالية المستوى للتطبيقات الخاصة بالأعمال. الأحرف الأولى التي تصف اسم البرنامج ترمز إلى المعنى " مولد برنامج التقرير". وشركة IBM هي صانعة البرنامج والبائع الرئيسي له، ولكن اللغة متاحة أيضا من مصنعي أجهزة كمبيوتر رئيسية أخرى وأجهزة الكمبيوتر الضخمة ومنهم يونيسيس Unisys. النسخة الأخيرة من آر بي جي هي آر بي جي 4 RPG IV (وتعرف ب ILE RPG) وهي على خوادم باور آي الخاصة بIBM، وهي ترث النظام آي من سمات بيئة اللغة المتكاملة مثل وظائف النماذج الأصلية وإجراءاتها والروابط الديناميكية والثابتة والوصول إلى مكتبات لغة سي الروتينية، ومكاتب الرابط الديناميكي والشفرة الوحدوية المتكررة أو المعاد إدخالها.
تعرف لغة آر بي جي (التي تعرف أيضا باسم آر بي جي فور و RPGLE) بأنها لغة برمجة مألوفة لمنصة IBM Power i. وقد صنعت خصيصا كأداة لكتابة التقارير لIBM401 في بداية الستينات، وقد تطورت آر بي جي منذ هذا الوقت إلى لغة HLL مكافئة هي كوبول وبي إل آي
يبدأ برنامج آر بي جي بخصائص الملف، وعمل قائمة بكل الملفات ليتم كتابتها أو قراءتها من أو تحديثها، يلي ذلك مواصفات التعرف على البيانات والتي تتضمن عناصر البرنامج مثل هياكل البيانات والمصفوفات ذات الأبعاد كما لو كانت قسم "تخزين العمل" من برنامج كوبول أو بيانات فار في برنامج باسكال. يتبع ذلك مواصفات حسابية تحتوي على أصل الشفرة الفعلي. يمكن ا، يتبع ذلك مواصفات النواتج التي يمكن استخدامها لتحديد نموذج الملفات أو التقارير الأخرى. عبر الملفات البديلة، يمكن لبعض التقارير وهياكل البيانات أن يتم تحديدها خارجيا، وتقريبا عبر إزالة الحاجة لتسليم مواصفات مدخل الشفرة وناتجها.
في الأيام الأولى من آر بي جي، كانت تعرف نقطة قوتها الحقيقية بدورة البرنامج: يقوم كل برنامج آر بي جي بالعمل عبر حلقة ضمنية يمكن من خلالها تطبيق البرنامج على كل سجل من سجلات الملف. في هذا الوقت، يمكن مقارنة كل سجل (بطاقة مثقوبة فردية) مع كل سطر في البرنامج والذي سيقوم بالعمل على السجل أو لا وذلك اعتمادا على ما إذا كان هذا السطر ذو "مؤشر" يكون "عاملا" أو "غير فعالا" – من بين مجموعة من المتغيرات المنطقية مرقمة بالأعداد من 01-99 لأغراض يحددها المستخدم، أو مجموعات أخرى أصغر وذلك اعتمادا على التدوين، المجال أو وظائف معالجة التقارير.
وبديلا لذلك فإن الشفرة يمكن أن تجعل أي برنامج تفاعلي مستمر في العمل حتى يتوقف بوضوح.
واليوم يتجنب معظم مبرمجي آر بي جي استخدام هذه الدورة لصالح التحكم في فيض تدفق البرنامج بهياكل حلقية قياسية. إن مفهوم انكسارات المستوى وسجلات التطابق فريد بالنسبة للغة آر بي جي تو. وقد تطور في البداية مع قارئات بطاقات في الذهن. أما آر بي جي ثري فيضيف بعض المقومات الشيقة ولكن لغة آر بي جي الأصلية يصعب هزيمتها على افتراض أن المطور يمتلك كافة المقومات والسمات المتاحة.
7- لغة باسكال (Pascal):
وسميت باسم العالم الفرنسي الرياضي الفذ Blaise Pascal ، وصممت هذه اللغة من قبل العالم السويسري Niklaus Wirth ، وطرحت عام 1971م، وقد انتشرت هذه اللغة خصوصاً في الجامعات . إذ تدرس هذه في معظم جامعات العالم لطلاب علوم الحاسب، وتمتاز لغة PASCAL بالسهولة، واختصار الكلمات فيها إلى حد كبير، وبنيتها التركيبية وقوة البرامج الفرعية، واستخدام المؤشرات Pointers ، وقد ظهرت نسخ جديدة من Pascal امتازت بتلافي العيوب في النسخ السابقة، ويعد TurboPascal من شركة Borland من البرامج المستخدمة بكثرة بين المبتدئين والتخصصين في البرامج، وتنافس هذه اللغة لغة Basic في كثرة المستخدمين لتوافر كثير من المميزات فيها، وتستخدم هذه اللغة من قبل الطلاب والمهندسين، كما تستخدم في قطاع الأعمال التجارية , تعد أفضل لغة تعليمة في الجامعات ومعاهد التعليم العالي. وتمتاز هذه اللغة باشتراط كتابة البرامج بطريقة هيكلية محددة،وبذلك تسهل عمليات صيانة البرامج واكتشاف الأخطاء بها.ولكن تعلم هذه اللغة ليس سهلاً للمبتدئين.
* مميزات لغات البرمجة ذات المستوى العالي:
1- قريبة جداً من لغة الإنسان ولهذا سميت لغات عالية المستوى
2- سهلة الاستخدام إلي حد ما وسهل فهمها وتعديلها ومراجعتها
3- لا يحتاج المبرمج بهذه اللغات إلي معلومات موسعة عن الحاسب
ب-لغة الآلة(اللغات ذات المستوى المنخفض) (Machine Language)
وهي لغة البرمجة التي كتبت تعليماتها بالشفرة الثنائية (0,1) وأقرب لغة إلي لغة الالة هي لغة التجميع (Assembly)
ولغة الآلة صعبة التذكر على مستخدم الجهاز وذلك لصعوبة حفظ سلاسل الأرقام الثنائية المطلوبة لكل أمر أو تعليمة.
9-لغة ليسب :
ليسب بالإنجليزية: LISP أو (Lisp) لغة تعد إحدى لغات برمجة الكمبيوتر ذات التاريخ العريق، فقد تم وضع مواصفاتها عام 1958 وبذلك تحل بعد فورتران Fortran التي طورت قبلها بسنة، كثاني لغة عالية المستوى High-level Programming Language.
وضعت ليسب كلغة ترميز رياضية عملية وفق تعريف تفاضل لامبدا وتكاملها لألونزو تشرش Alonzo Church's Lambda Calculus، لكنه سرعان ما فضل استخدامها في أبحاث الذكاء الاصطناعي Artificial Intelligence، وبتصدرها كإحدى أقدم اللغات، قدمت ليسب مبادئ عديدة في علوم الحاسب Computer Science كبنى البيانات الشجرية Tree Data Structures والبرمجة كائنية التوجه Object-oriented Programming.
تشير ليسب إلى المصطلح LISt Processing language، القوائم المتصلة (بالإنجليزية: Linked Lists )إحدى بنى البيانات الأساسية للغة، بل إن كود المصدر للغة مكون من قوائم، وكنتيجة لذلك، تعامل برامج ليسب كود المصدر كبنية بيانات Data Structure ما يعطي شأنا لنظام الماكرو Macro الذي يسمح للمبرمجين بإنشاء صيغ جديدة أو لغة مدمجة مختصة المجال في ليسب Domain-specific Programming Language.
التبادل بين الكود والبيانات يعطي للغة ليسب صيغة تعرف فورية Instantly Recognizable Syntax، فبرامج ليسب مكتوبة بشكل التعبير الرمزي S-expression (ترمز S إلى Symbol) أو كقوائم محاطة بأقواس، فعند استدعاء دالة Function "f" لها الوسائط Arguments x وy وz، تكتب تلك الدالة كالتالي:
تاريخها :
قام باختراع ليسب الأمريكي جون مككارثي John McCarthy عام 1958 في معهد ماساتشوستس للتقنية Massachusetts Institute of Technology MIT. مككارثي نشر تصميمه على الورق في مجلة Communications of the ACM بعنوان "الدوال المتعددة للتعابير الرمزية وحسابها بالآلة "الجزء الأول" Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I (علما أنه لم ينشر الجزء الثاني مطلقا)، أظهر أنه بواسطة بعض المعاملات البسيطة Simple Operators وإجراء ترميز للدوال Notation for Functions، يمكن بناء لغة تطابق فكرة الشمولية لتورنغ Turing-complete لكن من أجل الخوارزميات.
أول من قام بتنفيذ هذا التصميم كان ستيف رسل Steve Russell على جهاز IBM 704، بينما ظهر أول مترجم Compiler ليسب كامل كان على يدي تيم هارت Tim Hart ومايك ليفن Mike Levin في معهد MIT عام 1962، اللغة التي قاما ببنائها أقرب للغة المنتشرة حاليا من التي صممها مككارثي.
§ LISP 1.5.
§ Standard LISP.
§ Common LISP: إحدى الإصدارات الأكثر انتشارا.
§ Scheme: إحدى الإصدارات الأكثر انتشارا، من تطوير غاي إل. ستيل وجيرالد جاي سسمان.
§ Arc.
§ Clojure.
§ Autolisp: إصدارة ليسب المستخدمة في برنامج AutoCAD.
لغة بلرولوج
مقدمة في الحقائق في لغة برولوج Facts
الآن سوف نبدأ في لغة Prolog كلغة برمجة و على مستوى الكود, و لكن يجب أن أذكر ببعض الأمور من أهمها:
1. اسم لغة Prolog مأخوذ من Programming in Logic , أي البرمجة المنطقية لذلك يجب أن نبتعد بفكرنا عن طريقة التفكير كلغات برمجة عادية مثل سي, سي++, جافا ... الخ.
· لغة Prolog لغة علائقية أي تعتمد على العلاقات مثل علاقات الداتابيز و علاقات Is ... a يعني:
cat is..a animal.
tiger is..a animal.
· ومن أهم الفروق بين لغة Prolog و اللغات الأخرى هي أن لغة Prolog هي لغة دينامكية Dynamic في مستوى كودها, حيث أن الكود ممكن أن يتغير مع تنفيذ البرنامج وذلك ببساطة لأن البرنامج يتعلم و يطور من نفسه على عكس اللغات التقليدية مثل السي, سي++, جافا ... هي لغات ثابتة Static على مستوى كودها.
بمعنى آخر لو وجد لدي كود للغة Prolog مكون من 20 سطر مع التنفيذ من الممكن أن يزيد إلى 25 أو أي عدد آخر على حسب
التعلم, أي أن البرنامج يضيف كود من عنده لمواجهة أمور و أحداث لم يبرمج لموجهتها.
بعكس لغات مثل السي عدد سطور كودها لن يتغير مهما كان السبب و لو صادفها شيء لم تبرمج عليه لتوقف البرنامج Crush.
البرنامج المكتوب بلغة Prolog هو بسيط للغاية و يتكون في الأساس من Facts و Rules أي حقائق و مسلمات و قواعد.
المتغيرات في لغة Prolog تبدأ إما بحرف كبير مثل X, Talal, Var... أو بعلامة (_) مثل x , _Talal, _talal_
و ما عداها لا يعتبر متغير.
ج-لغة التجميع: (Assembly Language)
ونظراً لصعوبة لغة الالة تم تطوير لغة يطلق عليها لغة التجميع حيث يقوم المستخدم بإعطاء الحاسب رموزاً معينة بدلاً من سلسلة الأرقام الثنائية.وتعتبر لغة التجميع لغة برمجة خاصة بمهندسي الحاسب ، وتكون صعبة التنفيذ لأنها تعتمد على الرموز وترتبط بالمكونات المادية الداخلية للحاسب وبالتالي فإن البرامج التي تعد على جهاز لا تصلح للعمل على جهاز آخر وحالياً أصبحت لغات التجميع محدودة الاستخدام نظراً لتطور الكبير في أساليب البرمجة.
الفصل الثاني
-تعريف البرنامج ( Program ):
البرنامج هو مجموعة من الأوامر المكتوبة بلغة محددة ، بحيث تكون هذه الأوامر مرتبة ترتيباً منطقياً وموجهة لحل مشكلة معينة.
-تعريف البرمجيات ( Software):
البرمجيات هي عبارة عن مجموعة من البرامج المساعدة التي تمدنا بها الشركات المتخصصة في البرمجيات لتسهيل التعامل مع معدات الكمبيوتر
-أنواع البرمجيات:
برمجيات النظم(System Software): وهي عبارة عن البرامج التي تتخاطب مباشرة مع المكونات المادية للحاسب، ويعد نظام التشغيل أهم هذه البرمجيات
-البرامج التي تندرج تحت برمجيات النظم:
1- برامج التحكم في وسائط التخزين
2- برامج التحكم في أجهزة الاتصالات
3 - برامج التحكم في شبكات الحاسب
2- برمجيات تطبيقية(Application Software): وهي عبارة عن البرامج التي تتخاطب مع المستخدم وهي تشكل وسيط التخاطب لنقل أوامر المستخدم إلي برمجيات النظم
-أنواع البرامج التطبيقية: 1-برامج تطبيقية جاهزة
2- برامج تطبيقية مجهزة بناء على طلب و احتياج المستخدم
-أمثلة على البرامج التطبيقية الجاهزة: 1- معالجة النصوص Word Processors
2- الجداول الإلكترونية Spread Sheets
3- قواعد البيانات Data Bases
4- التطبيقات الرسومية Graphics
5- النشر المكتبي Desktop Publishing
6- الاتصالات Communication
7- البرامج التعليمية Educational
8- التسلية Games
خطوات برمجة الحاسب بإحدى لغات البرمجة لحل مسألة معينة:
بصرف النظر عن صعوبة المسألة المراد حلها أو سهولتها فإن برمجة الحاسب لآي مسألة أو برنامج تشمل على الخطوات التالية:
1-تعريف المسألة: وفي هذه الخطوة يتم تحديد البيانات والنتائج المطلوبة ومن ثم تحديد المعالجة المطلوبة لحل المسألة.
2-تصميم الخطوات المنطقية للحل: وتعرف هذه الخطوة بخوارزم حل المسألة.
-تعريف الخوارزم:
هو عبارة عن الخطوات المنطقية لحل مسألة معينة ، ويشترط في الخوارزم أن يتم الوصول إلي الحل المطلوب بعد تنفيذ الخطوات في عدد محدود من المرات وان تكون خطوات الخوارزم قابلة لتحويلها إلي خطوات برنامج يكتب بلغة برمجة.
3-إعداد مخطط انسياب للخوارزم:
وتعد مخططات الانسياب وسيلة بصرية مفيدة للتعبير عن المنطق اللازم لحل مسألة ما ولتحقيق هذا الغرض يتم الاستعانة ببعض الأشكال الخاصة(الرموز) تكتب داخلها جمل قصيرة تصف العمليات التي ستنفذ على البيانات
4-ترجمة مخطط الإنسياب إلي برنامج باستخدام لغة برمجة مناسبة.
5-ترجمة البرنامج إلي لغة الآلة.
6-تجربة البرنامج: يجب تجربة البرنامج على عينة من البيانات وتصحيح الأخطاء المنطقية للحل وضمان صحة النتائج المخرجة من البرنامج وحسن أداء البرنامج.
7-توثيق البرنامج
ملاحظة: الخطوات السابقة هي الخطوات المتبعة عند تصميم برامج الحاسب.
-احتياجات لغات البرمجة:
1-المترجم (Compiler): وهو برنامج يقوم بعملية تحويل البرنامج المصدري إلي برنامج هدفي.
2-المفسر (Interpreter): ويقوم المفسر بتفسير البرنامج سطراً سطراً ويقوم بتحويل الأوامر في السطر إلي لغة الالة ثم تنفيذ الأوامر والإيعازات في ذلك السطر، ثم ينتقل إلي السطر التالي ويكرر العملية وهكذا. ويمتاز المفسر بأنه يتيح للمستخدم أن يرى نتيجة تنفيذ الأوامر في كل سطر من البرنامج.مثل: لغة البيسك.
3-مخططات الانسياب (Flow Charts ): وتعد مخططات الانسياب وسيلة بصرية مفيدة للتعبير عن المنطق اللازم لحل مسألة ما ولتحقيق هذا الغرض يتم الاستعانة ببعض الأشكال الخاصة(الرموز) تكتب داخلها جمل قصيرة تصف العمليات التي ستنفذ على البيانات.
5-التركيب العام في لغات البرمجة:
أ-تركيب لغة البيسك (Basic):
إن قواعد كتابة البرنامج في لغة بيسك في غاية البساطة مقارنة باللغات الأخرى، وكما نعرف فإن البرنامج يتكون من مجموعة من الجمل و كل جملة لها رقم خاص بها، بمعنى أن الكمبيوتر عندما يبدأ في تنفيذ البرنامج سينفذ الجمل تبعاً لترتيب أرقامها.وللمبرمج الحرية في اختيار الترقيم الذي يرغبه، ولكن الشائع هو الترقيم 30-20-10…، وذلك لترك فرصة لإضافة جمل جديدة للبرنامج إذا رأى المبرمج ضرورة لإضافتها بعد كتابة البرنامج.
مثال: هذا برنامج لحساب حاصل جمع عددين وإظهار الناتج؟
10 INPUT a, b
20 LET m= a+ b
30 PRINT m
40 END
ب-تركيب لغة C++:
دائماً عند كتابة برامج لغة C++ يجب كتابة الأسطر التالية:
#Include<iostream.h>
main( )
{
الأوامر و المصطلحات;
return 0;
}
* شرح مكونات الصيغة العامة لبرنامج لغة C++:
1-include#يحتوي على): ونقوم بكتابتها في بداية برامج C++ لكي نذكر أسماء الملفات (Header Files) التي سوف يحتاجها البرنامج.
ملاحظة: يأتي برنامج لغة السي مزود بمجموعة من ملفات ( Header Files ) و هي تحتوي على مجموعة من مكتبات الأوامر التي نستخدمها في البرامج، مثل:
أ-iostream.h
ب-stdio.h
ج-conio.h
وستلاحظ في أسماء مكتبات الأوامر أنه عادة ما يأخذ القسم الثاني من أسماء الملفات ( Header Files ) الحرف h ( إشارة إلي header ).
2-<iostream.h>: وهي أحد أنواع ملفات ( Header Files ) هي عبارة عن مكتبة الأوامر الخاصة بوحدة الإدخال ( cin ) و وحدة الإخراج ( cout ).
3-main():وهي الدالة الرئيسية المكونة لجميع برامج لغة C++ وهي أهم دالة في البرنامج وأساس البرنامج. وتبدأ كل برامج لغة C++ التنفيذ بدءا من التابع main() ، ويجب أن يحتوي برنامج لغة C على تابع main() واحد فقط.
-ملاحظات هامة يجب مراعتها عند كتابة برامج لغة C++:
1-لا يمكن أن تستخدم علامات الترقيم أو علامات الاستفهام أو الكلمات المحجوزة مثل:for ضمن اسم المتغير، فمثلاً لاحظ الفرق بين أسماء المتغيرات في الأمثلة التالية:
1- int a,m,counter;
2- int a?,1999_age;
ستجد أن السطر الأول مسموح باستخدامه ولكن السطر الثاني غير مسموح باستخدامه لأنه يحتوي على علامة استفهام وعلامة ترقيم.
2-تذكر أنه لابد من وضع الفاصلة المنقوطة في نهاية أي دالة أو تعليمة أو أمر.
3-في لغة C++ الأوامر بشكل عام تكتب بحروف صغيرة مثل:cin –cout وذلك لأن لغة C++ لغة حساسة بالنسبة للحروف، فمثلاً كلمة for من الكلمات المحجوزة في لغة C++ التي لا يمكن استخدامها في اسم المتغير ولكن كلمة FOR تختلف تماماً عن كلمة for في لغة C++، حيث يمكننا استخدام كلمة FOR في كتابة أسماء المتغيرات في لغة C++
مثال1:هذا برنامج يقوم بإدخال عددين وحساب المتوسط الحسابي لهما وطباعة الناتج.
#include<iostream.h>
main()
{
float a,b,c;
cout<<"enter 2 number";
cin>>a>>b;
sum=a+b;
c=sum/2;
cout<<"sum="<<sum<<"\n average ="<<c;
ج-تركيب لغة الباسكال (Pascal):
تشبه لغة الباسكال في تركيبها تقريباً لغة C++ والتركيب العام لها هو:
Program <اسم البرنامج>;
[توضيحات/تعليقات]
< تعريف المتغيرات>;
Begin
المصطلحات والأوامر;
End.
-ملاحظات هامة على التركيب العام للغة الباسكال: 1-السطر الأول هو للتعريف باسم البرنامج ووسيلة الإدخال والإخراج
2-السطر الثاني يستخدم لكتابة الملاحظات والتعليقات التي يريد المستخدم كتابتها وهي إختيارية.
3-السطر الثالث يستخدم لتعريف المتغيرات
4-الجزء الممتد من Begin إلى End هو عبارة عن جسم البرنامج والأوامر بينها
5-السطر الأخير يحتوي على End متبوعة بنقطه وذلك للدلاله على نهاية البرنامج وسنلاحظ أن
بعد كل سطر هنالك نقطه فاصلة ( للدلالة على سطر آخر يليه
بعد كلمه End هنالك نقطة (.) للدلاله على أنه لا يوجد سطر بعد ذلك
-أوامر الإدخال والإخراج في لغة الباسكال:
1-الأمر Readln :
وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج ويستخدم هذا الأمر لإدخال البيانات من المستخدم وحفظها في متغيرات تناسب نوع البيانات المدخلة وله نوعان
الأول : Readln
وهو يقوم بقراءة البيانات من المستخدم وبعدها ينتقل المؤشر للسطر التالي
الثاني : Read
وهو مشابه للأمر Readln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد قراءة البيانات بل يكمل بنفس السطر
2-الأمر Writeln :
وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج ويستخدم هذا الأمر للطباعة وإخراج البيانات على الشاشة وله نوعان
الأول : Writeln
وهو يقوم بطباعة الجملة والانتقال بعدها إلى السطر الذي يليه مثل
الثاني : Write
وهو مشابه للأمر Writeln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد طباعة الجملة بل يكمل بنفس السطر
المتغيرات في برنامج الباسكال Var:
ويتم في هذا القسم من البرنامج التصريح عن نوع البيانات بالبرنامج قبل استخدامها ويتم التصريح حسب نوع البيانات إما Integer, Boolean , Char.
-الشروط الواجب توفرها في أسماء المتغيرات في لغة الباسكال:
1-أن يبدأ بحرف ( ولا تقبل الأسماء التي تبدأ بأرقام )
2-أن يحوي الاسم حروفا وأرقاما فقط
3-أن لا يكون الاسم من ضمن الكلمات المحجوزة بالذاكرة مثل (Integer, Boolean , Char )
4-عدم ترك مسافات بين الحرف والحرف الآخر أو بين الكلمة والكلمة.
ملاحظة: تعتبر لغة الديلفي هي لغة باسكال متطورة وتعتمد 90% على لغة الباسكال.
-مثال:أكتب برنامج يقوم بإدخال عددين وجمع العددين وإظهار النتيجة على الشاشة باستخدام لغة الباسكال؟
Program < Addition>
Variables
S, F ,TOT :Integer
Begin
Readln (F);
Readln (S);
TOT =F+S;
Writeln (TOT);
End.
-مقارنة البيانات في لغات البرمجة:
أ-البيانات في لغة البيسك (Basic):
تقسم البيانات في لغة البيسك إلي نوعين رئيسين وهما:
1-البيانات العددية: وهي البيانات التي لا تحتوي إلا على أرقام عددية فقط وغير مسموح باستخدام أي رموز معها إلا الإشارة (+) لتوضيح أن العدد موجب أو الإشارة (-) لتوضيح أن العدد سالب، وكذلك النقطة "الفاصلة العشرية" (.).
2-البيانات غير العددية(الحرفية): وهي البيانات التي قد تحتوي على أية رموز حرفية أو إشارات خاصة أو أرقام، ولكن للتميز بين اسم المتغير للبيانات العددية واسم المتغير للبيانات الحرفية يجب وضع علامة الدولار ($) دائماً في نهاية اسم المتغير غير العددي (الحرفي).
ب-البيانات في لغة C++:
تحتوي لغة C++ على خمسة أنماط من البيانات وهي:
1-اللبنة (Character)
2-الأعداد الصحيحة (Integer)
3-الأعداد الحقيقية (Floating-Point)
4-الأعداد الحقيقية مضاعفة الدقة (double Floating-Point)
5-عديمة القيمة (Void)
وسوف تلاحظ أن جميع الأنماط الأخرى مبنية أصلاً على واحدة من هذه الأنماط.
ج-البيانات في لغة الباسكال:
تشبه البيانات في لغة الباسكال البيانات الموجودة في لغة C++.
مثال عام: أكتب برنامج يقوم بإدخال رقمين وجمع هذين الرقمين و إظهار الناتج باستخدام جميع لغات البرمجة التي درستها؟
الرقم الأول F
الرقم الثاني S
الرقم الثالث TOT
وهي مجموعة من التعليمات والقواعد التي تؤدي وظائف عمليات معالجة البيانات جزئيا أو كليا وذلك تبعا لشروط معينة.(وتقوم لغة البرمجة مقام اللغة الطبيعية بين مستخدم الجهاز والجهاز).
قواعد لغة البرمجة:
أن جميع برامج الحاسب تتكون من أربعة أنماط رئيسية من العمليات المنطقية وهي:
1-التتابع (Sequence): وهو تنفيذ الأوامر بنفس ترتيب تخزينها في الذاكرة
2-الاختيار (Selection): ويشمل هذا النمط على اختبار لوضع ما أو شرط ما ، وبناء على نتيجة الاختبار يتم اختيار أحد فرعين
3- التكرار (Looping): ويكون التكرار عادة مشروط ، وإذا لم يتحقق الشرط فإن خط سير البرنامج سيخرج من حلقة التكرار
4- التفرع (Branching): وفيه ينتقل التحكم (بشرط أو بدون شرط) من جزء إلي جزء آخر في البرنامج
أقسام لغات البرمجة:
1- لغة الآلة Machine Language
2- لغات البرمجة عالية المستوى High Level Language
3- لغة التجميع Assembly Language
الفرق بين لغات البرمجة:
تنقسم لغات البرمجة إلي ثلاثة أنواع وهي:
أ - لغات متدنية المستوى(قريبة من الحاسوب)
من انواعها:
1- لغة الآلة Machine Language
لغة الآلة (بالإنجليزية: Machine Language) هي اللغة البرمجية الوحيدة التي يفهمها وينفدها الحاسوب مباشرة.وهي من لغات البرمجة المتدنية المستوى.
وجميع لغات البرمجة عالية المستوى مثل ++ Cأو فيجول بيسك الخ عند تنفيد البرنامج المكتوب بها تحول إلى لغة الآلة حتى يتم تنفيدها.
تعليمات اللغة:
لكل نوع من أنواع المعالجات لغة آلة أو طاقم تعليمات خاصة به . ويتم كتابة تعليمات وإيعارات لغة الآلة على هيئة أرقام بنظام العدد الثننائي ليتم تنفيدها مباشرة ..أو بنظام العدد الثماني ثم تحول إلى النظام الثنائي لتنفذ.
توجد لكل عملية حسابية أو منطقية تكتب بلغة الآلة شفرة (code) خاص بها ..ويتم كتابة عناوين الذاكرة الحقيقية في البرامج المكتوبة بلغة الآلة .
2-أسمبلي Assembly
في علوم الحاسوب، لغة التجميع (بالإنكليزية: Assembly language) هي الصيغة السهلة القراءة للبشر المقابلة للغة الآلة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما. فلغة الآلة عبارة عن تتابع من البتات (bits) تمثل عملية حاسوبية أو أمر للحاسوب، تصبح أسهل للقراءة عندما تستبدل برموز تعبر عنها.
ولكل معالج لغة تجميع خاصة به كما أن له "لغة آلة Machine Language" خاصة به. وتحتاج لغة التجميع ما يسمى "المجمـِّع" (بالإنكليزية: Assembler) وهو الذي يقوم بتحويل لغة التجميع التي يستطيع البشر قراءتها والتعديل فيها إلى لغة الآلة التي يستطيع المعالج تنفيذها. وتستخدم هذه اللغة الآن من قبل البشر وذلك لبرمجة أجزاء من نظم التشغيل أو للتاكد من سرعة وكفاءة تنفيذ بعض البرامج التي يحتاج فيها الكفاءة كبرامج المحاكاة والألعاب.
و تتكون اسطر برامج التجميع من ثلاثة أجزاء:
-العلامة (Label) وهو ما يتم به الإشارة لسطر ما في سطور أخرى.
-الأمر (Instruction) وهو يكون مناظر في الغالب لأمر في المعالج وهو ما سيقوم المعالج بتنفيذه عند الوصول لهذا السطر أثناء تنفيذ البرنامج.
-المعامل (Operand) وهو المتغير الذي سيتم تطبيق الأمر عليه.
تنقسم الأوامر إلى أربعة حقول :
-الاسم
-المعامل
-العملية
-التعليق
أمثلة الأوامر:
كود PHP:
START: MOV CX,5 ;initialize counter
-في المثال حقل الاسم هو START:
-العملية والمعامل MOV CX,5
-التعليق ;initialize counter
ب-لغات ذات المستوى العالي: (High Level Language)
وهي عبارة عن لغات يمكن للإنسان العادي التعامل معها بسهولة لإنها تستخدم اللغات الطبيعة للإنسان وهذه اللغات تحتاج إلي مترجمات ومفسرات.
ومن أمثلة اللغات ذات المستوى العالي ما يلي:
-1 لغةC++:
كانت أول بداية للغة السي في مختبرات شركة AT&T الأمريكية في عام 1972م وكانت البداية كمشروع تولى الإشراف عليه دينيس ريتشي ( Dennis Ritchie ). وهو يعتبر مخترع لغة السي باستخدام نظام التشغيل Unix. ولغة سي هي في الأصل لغة قديمة يطلق عليها اسم BCPL. و BCPL طورت بواسطة مارتن ريتشارد ( Martin Richards ) في كامبرج عام 1967م والتي بدورها كانت لغة B والتي اخترعت بواسطة كين تومسون.
ولقد أدت لغة Bإلي تطوير لغة السي في السبعينات.
حيث قام دينيس ريتشي ( Dennis Ritchie ) وأخذ من لغة B أحسن تعليماتها ، وغير في كثير من قيودها ، وأضاف إليها تعليمات أخرى عديدة وجعل منها لغة برمجة وسماها لغة C.
وبالرغم من أن لغة C قد أنشأت لاستخدامها في برمجة النظم إلا أنه انتشر استخدامها كلغة ذات مستوى عالي في تنفيذ البرامج التطبيقية ، ومع ذلك فإن لغة C و C++ تستخدمان كلغة ذات مستوى متدنى وذلك نظرا على توفير المميزات التي توفرها اللغات في هذا المستوى كالقدرة على التعامل مع العناصر الثنائية bit مثلا.
وفي الوقت نفسه تستخدم لغة C و C++ كلغتين ذات مستوى عالي لقدرتهما على توفير الجمل التحكمية ( Control Statements ) والهياكل البنائية ( Data Structure ) والتي هي من مميزات اللغات ذات المستوى العالي.
ولقد تطورت لغة السي تطورات كبيرة واكتسبت شعبية و إقبالا ولعل السبب الرئيسي هو شعبية وانتشار نظام التشغيل UINX ، وهو أهم نظام لتشغيل الحاسبات المتطورة. حيث أن هذا النظام كتب بلغة السي وهذا الأمر يعتبر مصدر قوة للغة السي بين سائر اللغات الأخرى.
وتعتبر لغة السي الآن من أشهر اللغات وأكثرها انتشارا ولكن في الدول المتقدمة ، ولقد بدأ المبرمجون من كافة الاختصاصات يكتبون برامجهم بها ، وعلى سبيل المثال لا الحصر :
ظهر كتاب(برامج المايكرو كمبيوتر للمهندسين الكيميائين ) عام 1987م عن دار ماجروهيل الأمريكية ،مكتوبا من ألفه إلي يائه بلغة السي ، ومعنى ذلك أنه يفترض أن على جميع المهندسين الكيميائين في أمريكيا يفهمون لغة السي ، ويتعاملون بها. أضف إلي ذلك أن معظم الشركات ، تطلب في إعلاناتها مبرمجين بلغة سي.
كانت معيارية لغة سي لعدة سنوات عبارة عن مصنف Compiler مزود على نظام التشغيل Unix . وبعد انتشار وشيوع الحاسب الشخصي تم إنشاء العديد من المصنفات للغة سي. ومما يجدر ذكره هنا أنه على الرغم من تعدد المصنفات كانت هناك توافقية عالية جدا بين أكثرها (INI) وهو برنامج كتب ليعمل على أحد المصنفات وإنه بلا شك سيعمل مع مصنفات أخرى. ومع ذلك لأنه لم يكن هناك أي معيار أو مقياس Standard معتمد.
وكانت هناك بعض التناقضات بين المصنفات ، ولمعالجة هذه المشكلة أسست لجنة في صيف عام 1983م لإنشاء معيار ANSI:
و هي اختصار American National Standards Institute والتي تعني هيئة القياسات الأمريكية. وكان الدور الأساسي لهذه اللجنة هو تعريف لغة سي مرة واحدة وللأبد.
وأخذت معالجة توحيد القياس للغة سي ما يقارب 6 سنوات وهذا أكثر مما كان متوقع. وفي نهاية عام 1989م ثبت أول معيار للغة سي وسمي ANSI C ، ولغة سي القياسية تسمح بأن يكون الاسم التعريفي مكونا من إي عدد من الرموز حتى 31 رمز ، وكانت النسخ الأولى من هذا المقياس متوفرة في عام 1990م.
معنى لغة السي: تعتبر لغة السي أحد اللغات ذات المستوى العالي ، وتعد أفضل لغة لكتابة برمجيات النظم التي تتحكم في المكونات المادية للحاسب مباشرة ، ومعظم نظم التشغيل مكتوبة بلغة السي مثل:
1- نظام Windows95/98.
2- نظام التشغيل UNIX.
مميزات لغة السي: 1- تعتبر لغة السي لغة سريعة :
وذلك لأنها تتحكم في المكونات المادية للحاسب مباشرة ، ولذلك تعد نسبيا أسرع تنفيذا من اللغات الأخرى.
2- أنها لغة صالحة لأغراض متعددة ( تجارية - علمية - فنية - أدبية. (
3- للغة السي صورة قياسية معتمدة:
وذلك لأن تطوير لغة السي تم في شركة واحدة ( Bell ).
ونلاحظ أن الفرق بين نمط و آخر من أنماط لغة السي هي فروق بسيطة جدا ، بينما نجد أن الفروق كبيرة وكثيرة بين أشكال وصور لغة مثل لغة البيسك ، لأن كل شركة صانعة لأجهزة الحاسبات تضع تعليمات خاصة ومختلفة للغة ، وتختلف عما تضعه الشركات الأخرى.
4- تعتبر لغة السي لغة غنية بالدوال:
وتوفر لغة السي للمبرمج عددا كبيرا من دوال الإدخال والإخراج ، والدوال الرياضية والحسابية، وهو الأمر الذي يسهل عملية بناء البرامج بها.
عيوب لغة السي:
1- أنها تعتمد على أسلوب المترجم والذي يقوم بترجمة البرنامج بأكمله دفعة واحدة ثم يقوم بعرض قائمة من الأخطاء بعكس لغة البيسك التي تعتمد على أسلوب المفسر حيث يتم تفسير البرنامج سطر سطر مما يسهل على المستخدم تصحيح الأخطاء بكل سهولة ويسر.
2- هناك أخطاء لا يستطيع مترجم لغة السي أن يكتشفها.
3- ان لغة C++ ليست هي لغة C مع التشابه الكبير لأوامر ودوال اللغتين .
رموز لغة السي:
يبنى برنامج لغة السي من مجموعة من العناصر الآتية:
أ-حروف أبجدية إنجليزية مثل ( a ,b ,c ,…., z )
ب-الأرقام مثل ( 1 ,2 ,3 , …. , 9)
ج-الرموز الخاصة مثل( + ، - ، < ، > ، ! ، % ، $ ، <> ، / ، ، ( ) ، [ ] ، , ، # ، & ، * ، ^ )
كيفية تشغيل برنامج لغة C++:
-يوجد برنامج لغة السي على أحد الدليلين( Borlandc أوTC )وهناك أكثر من طريقة لتشغيل برنامج لغة C++ ومنها:
1- الطريقة الأولى ( إذا كان برنامج لغة السي موجود داخل الدليل Borland (c: من قائمة ابدأ نختار البرامج ومنها نختار موجه MS-DOS:
أ-أكتب السطر التالي:
C:>CDBORLANDC و سوف يظهر لك الشكل التالي:
C:> BORLANDC>
ب- أكتب السطر التالي:
C:> BORLANDC>CD BIN وسوف يظهر لك الشكل التالي:
C:> BORLANDC>BIN>
ج-أكتب السطر التالي:
C:> BORLANDC>BIN>BC
الطريقة الأولى( إذا كان برنامج لغة السي موجود داخل الدليل TC: )
-من قائمة ابدأ نختار البرامج ومنها نختار موجه MS-DOS:
أ-أكتب السطر التالي:
C:>CDTC و سوف يظهر لك الشكل التالي:
C:> TC>
ب- أكتب السطر التالي:
C:> TC>CD BIN وسوف يظهر لك الشكل التالي:
C:> TC>BIN>
ج-أكتب السطر التالي:
C:> TC>BIN>BC
الطريقة الثانية ( إذا كان برنامج لغة السي موجود داخل الدليل Borlandc: )
1- من قائمة "أبدا" نختار أمر "تشغيل" فسيظهر لنا مربع حوار "تشغيل" ونقوم بكتابة السطر التالي في خانة "فتح": C:> BORLANDC>BIN>BC ثم نقوم بعد ذلك بالضغط على زر "موافق".
2- الطريقة الثانية ( إذا كان برنامج لغة السي موجود داخل الدليل TC): 1-من قائمة "أبدا" نختار أمر "تشغيل" فسيظهر لنا مربع حوار "تشغيل" ونقوم بكتابة السطر التالي في خانة "فتح": C:> TC>BIN>BC ثم نقوم بعد ذلك بالضغط على زر "موافق".
3- الطريقة الثالثة:
1-من قائمة ابدأ نختار البرامج ومنها نختار مستكشف ويندوز .
2- نختار أما المجلد Borlandc) أو ( Tc حسب الدليل الموجود عليه برنامج لغة السي بالجهاز.
3- ونختار منه المجلد الفرعي BIN ومنها نختار إما :
* رمز BC ( إذا كان الدليل الموجود عليه برنامج لغة السي هو Borlandc) II- رمز TC (إذا كان الدليل الموجود عليه برنامج لغة السي هو TC) -ملاحظات هامة:
*أسرع طريقة لمعرفة هل إذا كان الجهاز الذي تستخدمه عليه برنامج لغة السي أم لا:
هناك طرقتين أم عن طريق برنامج DOS أو عن طريق برنامج Windows:
1- عن طريق برنامج Dos:
نكتب الأمر التالي عند المحث C:
c:>dir Borlandc أو
c:>dir TC
2-عن طريق برنامج Windows:
من قائمة ابدأ نختار بحث ومنها نختار ملفات أو مجلدات ونكتب في اسم الملف أما: Borlandc أو Tc.
ونختار بعد ذلك زر البحث الآن للبحث والتأكد من وجود برنامج لغة السي على الجهاز.
وبعد ذلك سوف تظهر لك شاشة زرقاء.وتحتوي هذه الشاشة على مجموعة من القوائم وعددها عشرة قوائم وهي:
1-File-2-Edit-3-Search-4-Run-5-Compile-6-Debug 7-Project-8-Options-9-Window-10-Help. وسوف تلاحظ في أسماء القوائم الموجودة في شاشة برنامج لغة C++، أن الحرف الأول من اسم أي قائمة يكون حرف كبير وملون بلون أحمر.(لماذا ؟)
لتعرف الإجابة بنفسك قم بعمل التطبيق التالي، وأنظر ماذا سيحدث عند القيام بكل من العمليات التالية:
1-أضغط على مفتاح ALT +F.
2-أضغط على مفتاح ALT +E.
3-أضغط على مفتاح ALT +H.
هل عرفت الآن لماذا يكون الحرف الأول من اسم أي قائمة حرف كبير وملون بلون أحمر؟
الجواب: لأنه عند الضغط على مفتاح ALT +F سوف تظهر لك قائمة ملف(File) وعند الضغط على مفتاح ALT +E سوف تظهر لك قائمة
تحرير(Edit) وهكذا ستجد أنه عند الضغط على مفتاح ALT +الحرف الأول من اسم القائمة سوف تفتح لك تلك القائمة.
ولنأخذ على سبيل المثال قائمة ملف(File) ستجد أنها تحتوي على ما يلي:
1- New 4-Save as 7-Print 2-Open 5-Save all 8-Dos shell 3-Save 6-Change dir. 9-Quit
(ستلاحظ أن بعض الحروف الموجودة ضمن قائمة ملف ملونة بلون أحمر لماذا؟ )
الجواب:لأنه عند فتح قائمة ملف(File) والضغط على أي حرف من الحروف الملونة باللون الأحمر سينفذ لك الأمر الذي اختارته،فمثلا عند فتح قائمة ملف والضغط على زر حرف N على لوحة المفاتيح ستجد أنه سوف يظهر لك ملف جديد. وعند الضغط على زر الحرف Q على لوحة المفاتيح سوف تخرج من برنامج C++ فورا. وقس على ذلك بالنسبة لباقي القوائم .
الصيغة العامة لبرنامج لغة C++: دائما عند كتابة برامج لغة C++ يجب كتابة الأسطر التالية:
#Include #include main( ) { clrscr(); الأوامر و المصطلحات
شرح مكونات الصيغة العامة لبرنامج لغة C++:
1-يحتوي على):
include# ونقوم بكتابتها في بداية برامج C++ لكي نذكر أسماء الملفات (Header Files) التي سوف يحتاجها البرنامج.
include#: هو من أوامر لغة سي ++ ويسمى (المعالج المبدئي)
ملاحظة: يأتي برنامج لغة السي مزود بمجموعة من ملفات ( Header Files ) و هي تحتوي على مجموعة من مكتبات الأوامر التي نستخدمها في البرامج، مثل:
أ-iostream.h ب-stdio.h ج-conio.h وستلاحظ في أسماء مكتبات الأوامر أنه عادة ما يأخذ القسم الثاني من أسماء الملفات ( Header Files ) الحرف h ( إشارة إلي header ).
2-: وهي أحد أنواع ملفات ( Header Files ) هي عبارة عن مكتبة الأوامر الخاصة بوحدة الإدخال ( cin ) و وحدة الإخراج ( cout ).
3-conio.h: وهي تعتبر مكتبة الأوامر الخاصة بالشاشة وتأتي معها الدالة Clrsdr والتي تعني مسح الشاشة.
3-main():وهي الدالة الرئيسية المكونة لجميع برامج لغة C++ وهي أهم دالة في البرنامج وأساس البرنامج. وتبدأ كل برامج لغة C++ التنفيذ بدءا من التابع main() ، ويجب أن يحتوي برنامج لغة C على تابع main() واحد فقط.
4- { : ويعني هذا الرمز بداية البرنامج.
5-clrscr : وهو أمر خاص لتنظيف الشاشة ويكون موجود داخل مكتبة conio.h والخاصة بأوامر الشاشة
6-الأوامر والمصطلحات: المقصود بها تعريف المتغيرات وإجراء جميع أنواع العمليات الحسابية والرياضية المختلفة.
-وتعتبر الفاصلة المنقوطة هي أصغر أمر أو تعليمة بلغي السي وتعني نهاية السطر أو الأمر.
7- } : ويعني هذا الرمز نهاية البرنامج.
أهم وحدات الإدخال والإخراج في برنامج لغة السي:
1-cin>>: وهي عبارة عن كلمة الإدخال في لغة C++ أو Input. 2-cout<<: وهي عبارة عن كلمة الإخراج في لغة C++ أو Output.
ملاحظات هامة يجب مراعاتها عند كتابة البرامج بلغة السي :
1- تأكد من كتابة الصيغة العامة للبرنامج بشكل صحيح.
2- في لغة C++ الأوامر بشكل عام تكتب بحروف صغيرة مثل:cin –cout وذلك لأن لغة C++ لغة حساسة بالنسبة للحروف، فمثلا كلمة for من الكلمات المحجوزة في لغة C++ التي لا يمكن استخدامها في اسم المتغير ولكن كلمة FOR تختلف تماما عن كلمة for في لغة C++، حيث يمكننا استخدام كلمة FOR في كتابة أسماء المتغيرات في لغة C++.
3- تذكر أنه لابد من وضع الفاصلة المنقوطة في نهاية أي دالة أو تعليمة أو أمر. ولكن تذكر أن جملة for وجملة if يجب أن لا تضع في نهاية إي منها فاصلة منقوطة.
4- لا تنس تعريف المتغيرات وخاصة في البرامج التي تطلب منك إدخال إي قيمة.
5- إي برنامج في لغة C++ لا يخلو من أمر إدخال وإخراج)طباعة(
وظائف مفاتيح الاختصارات في برنامج لغة C++:
F2: وتستخدم لحفظ ملف.
F3: وتستخدم لفتح ملف.
ALT +BKsp: وتستخدم للتراجع عن العمل الأخير.
Shift +ALT +BKsp: وتستخدم لإعادة كتابة العمل الأخير.
Shift +Del: وتستخدم لقص جزء معين من البرنامج.
Ctrl +Ins: وتستخدم لنسخ جزء معين من البرنامج.
Shift +Ins: وتستخدم للصق جزء معين من البرنامج.
Ctrl +Del: وتستخدم لحذف جزء معين من البرنامج.
Ctrl +F9: وتستخدم لتشغيل وترجمة البرنامج.
ALT +R: وتستخدم أيضا لتشغيل البرنامج.
ALT +F5: وتستخدم لعرض النتيجة على الشاشة.
ALT +F3: وتستخدم لإغلاق الملفات المفتوحة.
F5: وتستخدم لإعطاء صفحة كاملة أو نصف صفحة.
ALT +X: وتستخدم للخروج من برنامج لغة C++.
مثال1: البرنامج التالي يقوم بطباعة الجملة This is my first C++ program.: #include main() { cout<<"This is my first C++ program."; -خطوات تنفيذ البرنامج:
1- نقوم أولا بتشغيل برنامج لغة C++
2- نقوم بكتابة البرنامج أعلاه كما هو.
3- نقوم بالضغط على مفتاحي ( ALT+R ) لتشغيل البرنامج ، ثم نقوم بالضغط على مفتاحي ( ALT+F5 ) لعرض النتيجة على الشاشة. (يمكننا أن نختار من قائمة Run " " الأمر("Run"
نتيجة تنفيذ البرنامج:
يقوم هذا البرنامج بطباعة الجملة التالية على الشاشة : This is my first C++ program.
مثال2:حسب دراستك للغة C++ قم بكتابة برنامج يقوم بطباعة الجملتين التاليتين:
Hello programmers are you having a good day? ملاحظة بشرط أن تكون كل جملة في سطر منفصل الحل:
في لغة C++ تستخدم الدالة cout<< لطباعة الرسائل أو المخرجات على الشاشة، حيث أن هذه الدالة شبيهة بالأمر Write في لغة باسكال والأمر Print في لغة بيسك. الأسطر التالية تمثل عملية طباعة رسالتين على الشاشة:
Cout<<"Hello programmers"; cout<<"are you having a good day?";
الرسائل التي سيتم طباعتها على الشاشة هي تلك التي بين علامتي الاقتباس ضمن الأقواس الهلالية. لاحظ أن وظيفة cout<< لا تقوم بطباعة كل جملة في سطر جديد بشكل تلقائي: إذا قمت بكتابة الأسطر السابقة ثم تنفيذ البرنامج فإنك ستحصل على السطر التالي:
Hello programmersare you having a good day? لاحظ أن الجملتين تداخلتا عند نهاية الأولى وبداية الثانية. إذا أردت أن تفصل بين الجمل بحيث تبدأ كل جملة في سطر فإنه يمكنك استخدام الحرفين (أو تسلسل الحروف الخاصة في نهاية كل جملة). فمثلا الأسطر التالية تمثل طباعة نفس الجملة السابقة ولكن عملية طباعة الجملة ستخرجها في سطرين متتاليين:
cout<< "Hello programmers "; cout<<"are you having a good day?"; وسنلاحظ أن عملية الطباعة على الشاشة ستتم بهذا الشكل:
Hello programmers are you having a good day? ملاحظة : يمكنك استخدام الأحرف الخاصة في أي مكان في الجملة ولكن بين علامتي الاقتباس. فمثلا، السطر التالي صحيح ولكن قراءة الكلمة ستكون بشكل رأسي:
cout<<"P r o g r a m m e r s "; -
نتيجة تنفيذ البرنامج:
هكذا ستظهر الكلمة على الشاشة:
P r o g r a m m e r s ملاحظة:
-سؤال تطبيقي(1): أكتب برنامج يقوم بطباعة الجملة " Welcome To City" ؟ -
سؤال تطبيقي(2): أكتب برنامج يقوم بطباعة الكلمتين التاليتين:
Hello ALI بشرط:
1- أن تطبع كل كلمة في سطر منفصل
2- أن تطبع الكلمتين على نفس السطر مع ترك مسافة خمسة أحرف بين كل من الكلمتين.
الملاحظات والتعليقات في لغة السي ( Comment ):
تستعمل سائر لغات البرمجة جملا للتعليقات والملاحظات ، وكذلك لغة السي ، فمثلا الجملة التالية:
10 REM This is a comment هي جملة ملاحظة في لغة البيسك.
-طرق كتابة التعليقات في برنامج لغة السي:
توجد هناك طريقتين لكتابة التعليقات داخل برنامج لغة السي:
1- باستخدام الرمز التالي // . مثال على ذلك:
// this is a comment ملاحظة: تذكر ان الرمز // هي عبارة عن ملاحظات لسطر واحد فقط وكلما وضعت سطر ملاحظات ضع هاتين العلامتين في بداية السطر.
2- باستخدام الصيغة التالية: /* التعليق يكتب هنا */ . مثال على ذلك:
/* this is a comment */ وتستعمل جمل التعليق في إي مكان من البرنامج ، وذلك لإبداء ملاحظة ما ، عند سطر ما في البرنامج ولا تعتبر جملة تنفيذية ، بمعنى أنها لو حذفت من البرنامج لا يؤثر فيه ذلك شيئا.ويكمن استخدام أكثر من جملة تعليق في داخل البرنامج الواحد.
سؤال: ما هو المقصود بهذه العبارة ( تتمتع جملة التعليق بلغة السي بمواصفات فائقة لا تتوفر في غيرها من اللغات(
ملاحظات هامة يجب مراعاتها عند كتابة التعليقات والملاحظات في برنامج لغة السي: 1- لا تترك إي فراغ بين الشرطة / والنجمة * من جهتي جملة التعليق.
2- يقوم مترجم لغة السي بإهمال النصوص المستعملة في جمل التعليق إي أنه لا يصححها حتى لو كتبت بطريقة خاطئة ولا ينفذها أيضا.
3- يمكن وضع التعليق أو الملاحظة في إي مكان بالبرنامج وتعتبر الجملة التالية صحيحة:
4-y=a+b; /*add*/ لا ينصح بوضع تعليق داخل تعليق لأن ذلك يتسبب في وقوع أخطاء.
مثال3:هذا برنامج يقوم بإدخال عددين وحساب المتوسط الحسابي لهما وطباعة الناتج.
#include main() { float a,b,c; cout<<"enter 2 number"; cin>>a>>b; sum=a+b; c=sum/2; cout<<"sum="< }
سؤال: أكتب برنامج يقوم بإدخال إي رقم ثم يقوم البرنامج إذا كان الرقم موجب وأكبر من الصفر بإظهار الرسالة التالية ( The Number Is Positive ) وإذا كان الرقم سالب إي أصغر من الصفر يقوم بإظهار الرسالة (The Number is Negative) ؟
-إجابة السؤال:
#include #include main() { clrscr(); int x; cout<< " Enter any number"; cin>> x; if ( x>=0) cout<<" The number"< cout<< The Number "< }
-الصيغة الثانية لجملة إذا الشرطية ( if statements ): ولهذه الصيغة تأثير الصيغة السابقة ، فإنه إذا تحقق الشرط تم تنفيذ العبارة الأولى وإذا لم يتحقق الشرط تم تنفيذ العبارة الثانية المذكورة بعد كلمة else .
-ويمكن تمثيل هذه الصيغة على النحو التالي:
if ( Condition ) statement1; else statement2; -مثال توضيحي على هذه الصيغة:
هذا برنامج يطلب من المستخدم إدخال إي
تتمة الموضوع : http://www.damasgate.com/vb/t57914/#ixzz1mW6tlSD5
2- لغة بيسك (BASIC):
وهي اختصار للعبارة الإنجليزية Beginer's All Purpose Symbolic In struction Code أي اللغة المتعدد الأغراض للمبتدئين، وتأتي كلمة BASIC التي تعني الأساس لتحقيق المعنى نفسه، فهذه اللغة ونظراً لبساطة تعليماتها ومحدوديتها فإنها تعد لغة مناسبة للتعلم من قبل المبتدئين في عالم الحاسب الآلي والبرمجة، وتستخدم هذه اللغة في معظم الحاسبات الشخصية، مما يدل على الانتشار الواسع لها، وقد طورت هذه اللغة في كلية Dartmouth عام 1963م من لدن John Demuy و Thomas Kurtz .
وتستخدم لغة Basic الحديثة في قطاع واسع . إذ تستخدم في مجال الأعمال لقدرتها على التعامل مع الملفات، وكذا في العمليات الرياضية من قبل العلماء والمهندسين لامتلاكها كثيراً من الوظائف للقيام بمثل تلك العمليات المعقدة .
وتعتبر أسهل اللغات من حيث التعليم والاستخدام ، وتمتاز بأنها تسمح بالتفاعل بين المبرمج والآلة مما يمكنه من إدخال البرنامج وتنفيذه واكتشاف الأخطاء في البرنامج بسهولة ويسر،وتعتمد لغة البيسك على المفسر.
3- لغة السي ( C):
طورت هذه اللغة في معامل Bell من قبل Dennis Ritchie وهي تطوير لنسخة قديمه تسمى B من لغة BCPL التي ظهرت عام 1969م . لذا سميت هذه النسخة اللاحقة بـ C .
وتشتهر لغة C باستخدامها كلغة برمجة نظم system software حيث تستخدم لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة، وتشبه إلى حد كبير لغة التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مخجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة C من اللغات التركيبية Structured Language .
وازداد اهتمام محترفي البرمجة بلغة الـC ، والنسخ المحسنة منها C+ , C++ . إذ إن معظم التطبيقات تكتب بها .
لغات الجيل الرابع : Fourth-Generation language (4GL) :
سميت بهذا الاسم نسبة إلى الجيل التي ظهرت فيه، مثل هذه اللغات التي تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ، فما كان يتطلب مئات الأسطر من لغة بيسك أو الآلاف من لغة كوبول باستخدام عدد بسيط من الأسطر في هذه اللغات .
وتعد أفضل لغة برمجة لكتابة برمجيات النظم.وتمتاز هذه اللغة بعدد من الأوامر والإيعازات التي يمكنها التحكم مباشرة في المكونات المادية للحاسب، ومعظم نظم التشغيل مكتوبة بلغة السي مثل نظام windows95
4- لغة كوبول (Cobol):
وكلمة COBOL هي اختصار للعبارة الإنجليزية Common Business Oriented Language ، وقد طورت وصممت هذه اللغة من لدن لجنة من مصنعي أنظمة الحاسب الآلي ومطوريها عام 1960م تسمى لجنة CODASYL اختصاراً لـ Conference of Data System Languages .
وقد قام المعهد الوطني الأمريكي للمعايير ANSI بتطوير نسخة معيارية من COBOL ، مفسر كوبول يطابق المواصفات القياسية لهذا المعهد، وكان ذلك ف ي عام 1968م وسميت *ANSI 1968* وظهر بعدها ANSI 1974 و ANSI 80 .
وينتشر استخدام لغة كوبول على نطاق واسع عالمياً حيث تستخدم في البنوك وفي المنظمات الحكومية، وتستخدم على حاسبات كبيرة أو على حاسبات شخصية .
وتتميز لغة كوبول بقدرتها على التعامل مع الملفات؛ لذا اشتهرت بأنها لغة أعمالوقد صممت للاستخدام في التطبيقات التجارية التي تحتاج إلي إدخال كميات كبيرة من البيانات وحفظها واسترجعها.
5- لغة فورتران (Fortran):
وهي اختصار عبارة FORmula TRANSlation ، وتعد لغة FORTRAN أقدم اللغات ذات المستوى العالي، وقد ظهرت هذه اللغة في منتصف الستينات، حيث بدئ عام 1954 بالعمل على تطوير لغة برمجة تقبل برنامجا مكتوبا بلغة قريبة من لغة الإنسان، ويحوله إلى شفرة قابلة للتنفيذ على الحاسب الآلي، وبعد 3 سنوات أي في عام 1957م . ظهر أول مفسر فورتران.
وفي تلك الفترة كان استخدام الحاسب الآلي يكاد يكون حكراً على العلماء والمهندسين والرياضيين، ومن الطبيعي أن تكون هذه اللغة المطورة حديثاً قد جاءت لتواكب احتياجاتهم إذ تتميز لغة FORTRAN بقدراتها على إجراء العمليات الحسابية المعقدة وحل المعادلات الرياضية .
وتستخدم للتطبيقات الهندسية والعلمية والتي تحتاج إلي إجراء عمليات حسابية رياضية.وهي أقدم لغات البرمجة.
6- لغة (RPG):
آر بي جي RPG هي لغة برمجة عالية المستوى للتطبيقات الخاصة بالأعمال. الأحرف الأولى التي تصف اسم البرنامج ترمز إلى المعنى " مولد برنامج التقرير". وشركة IBM هي صانعة البرنامج والبائع الرئيسي له، ولكن اللغة متاحة أيضا من مصنعي أجهزة كمبيوتر رئيسية أخرى وأجهزة الكمبيوتر الضخمة ومنهم يونيسيس Unisys. النسخة الأخيرة من آر بي جي هي آر بي جي 4 RPG IV (وتعرف ب ILE RPG) وهي على خوادم باور آي الخاصة بIBM، وهي ترث النظام آي من سمات بيئة اللغة المتكاملة مثل وظائف النماذج الأصلية وإجراءاتها والروابط الديناميكية والثابتة والوصول إلى مكتبات لغة سي الروتينية، ومكاتب الرابط الديناميكي والشفرة الوحدوية المتكررة أو المعاد إدخالها.
تعرف لغة آر بي جي (التي تعرف أيضا باسم آر بي جي فور و RPGLE) بأنها لغة برمجة مألوفة لمنصة IBM Power i. وقد صنعت خصيصا كأداة لكتابة التقارير لIBM401 في بداية الستينات، وقد تطورت آر بي جي منذ هذا الوقت إلى لغة HLL مكافئة هي كوبول وبي إل آي
يبدأ برنامج آر بي جي بخصائص الملف، وعمل قائمة بكل الملفات ليتم كتابتها أو قراءتها من أو تحديثها، يلي ذلك مواصفات التعرف على البيانات والتي تتضمن عناصر البرنامج مثل هياكل البيانات والمصفوفات ذات الأبعاد كما لو كانت قسم "تخزين العمل" من برنامج كوبول أو بيانات فار في برنامج باسكال. يتبع ذلك مواصفات حسابية تحتوي على أصل الشفرة الفعلي. يمكن ا، يتبع ذلك مواصفات النواتج التي يمكن استخدامها لتحديد نموذج الملفات أو التقارير الأخرى. عبر الملفات البديلة، يمكن لبعض التقارير وهياكل البيانات أن يتم تحديدها خارجيا، وتقريبا عبر إزالة الحاجة لتسليم مواصفات مدخل الشفرة وناتجها.
في الأيام الأولى من آر بي جي، كانت تعرف نقطة قوتها الحقيقية بدورة البرنامج: يقوم كل برنامج آر بي جي بالعمل عبر حلقة ضمنية يمكن من خلالها تطبيق البرنامج على كل سجل من سجلات الملف. في هذا الوقت، يمكن مقارنة كل سجل (بطاقة مثقوبة فردية) مع كل سطر في البرنامج والذي سيقوم بالعمل على السجل أو لا وذلك اعتمادا على ما إذا كان هذا السطر ذو "مؤشر" يكون "عاملا" أو "غير فعالا" – من بين مجموعة من المتغيرات المنطقية مرقمة بالأعداد من 01-99 لأغراض يحددها المستخدم، أو مجموعات أخرى أصغر وذلك اعتمادا على التدوين، المجال أو وظائف معالجة التقارير.
وبديلا لذلك فإن الشفرة يمكن أن تجعل أي برنامج تفاعلي مستمر في العمل حتى يتوقف بوضوح.
واليوم يتجنب معظم مبرمجي آر بي جي استخدام هذه الدورة لصالح التحكم في فيض تدفق البرنامج بهياكل حلقية قياسية. إن مفهوم انكسارات المستوى وسجلات التطابق فريد بالنسبة للغة آر بي جي تو. وقد تطور في البداية مع قارئات بطاقات في الذهن. أما آر بي جي ثري فيضيف بعض المقومات الشيقة ولكن لغة آر بي جي الأصلية يصعب هزيمتها على افتراض أن المطور يمتلك كافة المقومات والسمات المتاحة.
7- لغة باسكال (Pascal):
وسميت باسم العالم الفرنسي الرياضي الفذ Blaise Pascal ، وصممت هذه اللغة من قبل العالم السويسري Niklaus Wirth ، وطرحت عام 1971م، وقد انتشرت هذه اللغة خصوصاً في الجامعات . إذ تدرس هذه في معظم جامعات العالم لطلاب علوم الحاسب، وتمتاز لغة PASCAL بالسهولة، واختصار الكلمات فيها إلى حد كبير، وبنيتها التركيبية وقوة البرامج الفرعية، واستخدام المؤشرات Pointers ، وقد ظهرت نسخ جديدة من Pascal امتازت بتلافي العيوب في النسخ السابقة، ويعد TurboPascal من شركة Borland من البرامج المستخدمة بكثرة بين المبتدئين والتخصصين في البرامج، وتنافس هذه اللغة لغة Basic في كثرة المستخدمين لتوافر كثير من المميزات فيها، وتستخدم هذه اللغة من قبل الطلاب والمهندسين، كما تستخدم في قطاع الأعمال التجارية , تعد أفضل لغة تعليمة في الجامعات ومعاهد التعليم العالي. وتمتاز هذه اللغة باشتراط كتابة البرامج بطريقة هيكلية محددة،وبذلك تسهل عمليات صيانة البرامج واكتشاف الأخطاء بها.ولكن تعلم هذه اللغة ليس سهلاً للمبتدئين.
* مميزات لغات البرمجة ذات المستوى العالي:
1- قريبة جداً من لغة الإنسان ولهذا سميت لغات عالية المستوى
2- سهلة الاستخدام إلي حد ما وسهل فهمها وتعديلها ومراجعتها
3- لا يحتاج المبرمج بهذه اللغات إلي معلومات موسعة عن الحاسب
ب-لغة الآلة(اللغات ذات المستوى المنخفض) (Machine Language)
وهي لغة البرمجة التي كتبت تعليماتها بالشفرة الثنائية (0,1) وأقرب لغة إلي لغة الالة هي لغة التجميع (Assembly)
ولغة الآلة صعبة التذكر على مستخدم الجهاز وذلك لصعوبة حفظ سلاسل الأرقام الثنائية المطلوبة لكل أمر أو تعليمة.
9-لغة ليسب :
ليسب بالإنجليزية: LISP أو (Lisp) لغة تعد إحدى لغات برمجة الكمبيوتر ذات التاريخ العريق، فقد تم وضع مواصفاتها عام 1958 وبذلك تحل بعد فورتران Fortran التي طورت قبلها بسنة، كثاني لغة عالية المستوى High-level Programming Language.
وضعت ليسب كلغة ترميز رياضية عملية وفق تعريف تفاضل لامبدا وتكاملها لألونزو تشرش Alonzo Church's Lambda Calculus، لكنه سرعان ما فضل استخدامها في أبحاث الذكاء الاصطناعي Artificial Intelligence، وبتصدرها كإحدى أقدم اللغات، قدمت ليسب مبادئ عديدة في علوم الحاسب Computer Science كبنى البيانات الشجرية Tree Data Structures والبرمجة كائنية التوجه Object-oriented Programming.
تشير ليسب إلى المصطلح LISt Processing language، القوائم المتصلة (بالإنجليزية: Linked Lists )إحدى بنى البيانات الأساسية للغة، بل إن كود المصدر للغة مكون من قوائم، وكنتيجة لذلك، تعامل برامج ليسب كود المصدر كبنية بيانات Data Structure ما يعطي شأنا لنظام الماكرو Macro الذي يسمح للمبرمجين بإنشاء صيغ جديدة أو لغة مدمجة مختصة المجال في ليسب Domain-specific Programming Language.
التبادل بين الكود والبيانات يعطي للغة ليسب صيغة تعرف فورية Instantly Recognizable Syntax، فبرامج ليسب مكتوبة بشكل التعبير الرمزي S-expression (ترمز S إلى Symbol) أو كقوائم محاطة بأقواس، فعند استدعاء دالة Function "f" لها الوسائط Arguments x وy وz، تكتب تلك الدالة كالتالي:
تاريخها :
قام باختراع ليسب الأمريكي جون مككارثي John McCarthy عام 1958 في معهد ماساتشوستس للتقنية Massachusetts Institute of Technology MIT. مككارثي نشر تصميمه على الورق في مجلة Communications of the ACM بعنوان "الدوال المتعددة للتعابير الرمزية وحسابها بالآلة "الجزء الأول" Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I (علما أنه لم ينشر الجزء الثاني مطلقا)، أظهر أنه بواسطة بعض المعاملات البسيطة Simple Operators وإجراء ترميز للدوال Notation for Functions، يمكن بناء لغة تطابق فكرة الشمولية لتورنغ Turing-complete لكن من أجل الخوارزميات.
أول من قام بتنفيذ هذا التصميم كان ستيف رسل Steve Russell على جهاز IBM 704، بينما ظهر أول مترجم Compiler ليسب كامل كان على يدي تيم هارت Tim Hart ومايك ليفن Mike Levin في معهد MIT عام 1962، اللغة التي قاما ببنائها أقرب للغة المنتشرة حاليا من التي صممها مككارثي.
§ LISP 1.5.
§ Standard LISP.
§ Common LISP: إحدى الإصدارات الأكثر انتشارا.
§ Scheme: إحدى الإصدارات الأكثر انتشارا، من تطوير غاي إل. ستيل وجيرالد جاي سسمان.
§ Arc.
§ Clojure.
§ Autolisp: إصدارة ليسب المستخدمة في برنامج AutoCAD.
لغة بلرولوج
مقدمة في الحقائق في لغة برولوج Facts
الآن سوف نبدأ في لغة Prolog كلغة برمجة و على مستوى الكود, و لكن يجب أن أذكر ببعض الأمور من أهمها:
1. اسم لغة Prolog مأخوذ من Programming in Logic , أي البرمجة المنطقية لذلك يجب أن نبتعد بفكرنا عن طريقة التفكير كلغات برمجة عادية مثل سي, سي++, جافا ... الخ.
· لغة Prolog لغة علائقية أي تعتمد على العلاقات مثل علاقات الداتابيز و علاقات Is ... a يعني:
cat is..a animal.
tiger is..a animal.
· ومن أهم الفروق بين لغة Prolog و اللغات الأخرى هي أن لغة Prolog هي لغة دينامكية Dynamic في مستوى كودها, حيث أن الكود ممكن أن يتغير مع تنفيذ البرنامج وذلك ببساطة لأن البرنامج يتعلم و يطور من نفسه على عكس اللغات التقليدية مثل السي, سي++, جافا ... هي لغات ثابتة Static على مستوى كودها.
بمعنى آخر لو وجد لدي كود للغة Prolog مكون من 20 سطر مع التنفيذ من الممكن أن يزيد إلى 25 أو أي عدد آخر على حسب
التعلم, أي أن البرنامج يضيف كود من عنده لمواجهة أمور و أحداث لم يبرمج لموجهتها.
بعكس لغات مثل السي عدد سطور كودها لن يتغير مهما كان السبب و لو صادفها شيء لم تبرمج عليه لتوقف البرنامج Crush.
البرنامج المكتوب بلغة Prolog هو بسيط للغاية و يتكون في الأساس من Facts و Rules أي حقائق و مسلمات و قواعد.
المتغيرات في لغة Prolog تبدأ إما بحرف كبير مثل X, Talal, Var... أو بعلامة (_) مثل x , _Talal, _talal_
و ما عداها لا يعتبر متغير.
ج-لغة التجميع: (Assembly Language)
ونظراً لصعوبة لغة الالة تم تطوير لغة يطلق عليها لغة التجميع حيث يقوم المستخدم بإعطاء الحاسب رموزاً معينة بدلاً من سلسلة الأرقام الثنائية.وتعتبر لغة التجميع لغة برمجة خاصة بمهندسي الحاسب ، وتكون صعبة التنفيذ لأنها تعتمد على الرموز وترتبط بالمكونات المادية الداخلية للحاسب وبالتالي فإن البرامج التي تعد على جهاز لا تصلح للعمل على جهاز آخر وحالياً أصبحت لغات التجميع محدودة الاستخدام نظراً لتطور الكبير في أساليب البرمجة.
الفصل الثاني
-تعريف البرنامج ( Program ):
البرنامج هو مجموعة من الأوامر المكتوبة بلغة محددة ، بحيث تكون هذه الأوامر مرتبة ترتيباً منطقياً وموجهة لحل مشكلة معينة.
-تعريف البرمجيات ( Software):
البرمجيات هي عبارة عن مجموعة من البرامج المساعدة التي تمدنا بها الشركات المتخصصة في البرمجيات لتسهيل التعامل مع معدات الكمبيوتر
-أنواع البرمجيات:
برمجيات النظم(System Software): وهي عبارة عن البرامج التي تتخاطب مباشرة مع المكونات المادية للحاسب، ويعد نظام التشغيل أهم هذه البرمجيات
-البرامج التي تندرج تحت برمجيات النظم:
1- برامج التحكم في وسائط التخزين
2- برامج التحكم في أجهزة الاتصالات
3 - برامج التحكم في شبكات الحاسب
2- برمجيات تطبيقية(Application Software): وهي عبارة عن البرامج التي تتخاطب مع المستخدم وهي تشكل وسيط التخاطب لنقل أوامر المستخدم إلي برمجيات النظم
-أنواع البرامج التطبيقية: 1-برامج تطبيقية جاهزة
2- برامج تطبيقية مجهزة بناء على طلب و احتياج المستخدم
-أمثلة على البرامج التطبيقية الجاهزة: 1- معالجة النصوص Word Processors
2- الجداول الإلكترونية Spread Sheets
3- قواعد البيانات Data Bases
4- التطبيقات الرسومية Graphics
5- النشر المكتبي Desktop Publishing
6- الاتصالات Communication
7- البرامج التعليمية Educational
8- التسلية Games
خطوات برمجة الحاسب بإحدى لغات البرمجة لحل مسألة معينة:
بصرف النظر عن صعوبة المسألة المراد حلها أو سهولتها فإن برمجة الحاسب لآي مسألة أو برنامج تشمل على الخطوات التالية:
1-تعريف المسألة: وفي هذه الخطوة يتم تحديد البيانات والنتائج المطلوبة ومن ثم تحديد المعالجة المطلوبة لحل المسألة.
2-تصميم الخطوات المنطقية للحل: وتعرف هذه الخطوة بخوارزم حل المسألة.
-تعريف الخوارزم:
هو عبارة عن الخطوات المنطقية لحل مسألة معينة ، ويشترط في الخوارزم أن يتم الوصول إلي الحل المطلوب بعد تنفيذ الخطوات في عدد محدود من المرات وان تكون خطوات الخوارزم قابلة لتحويلها إلي خطوات برنامج يكتب بلغة برمجة.
3-إعداد مخطط انسياب للخوارزم:
وتعد مخططات الانسياب وسيلة بصرية مفيدة للتعبير عن المنطق اللازم لحل مسألة ما ولتحقيق هذا الغرض يتم الاستعانة ببعض الأشكال الخاصة(الرموز) تكتب داخلها جمل قصيرة تصف العمليات التي ستنفذ على البيانات
4-ترجمة مخطط الإنسياب إلي برنامج باستخدام لغة برمجة مناسبة.
5-ترجمة البرنامج إلي لغة الآلة.
6-تجربة البرنامج: يجب تجربة البرنامج على عينة من البيانات وتصحيح الأخطاء المنطقية للحل وضمان صحة النتائج المخرجة من البرنامج وحسن أداء البرنامج.
7-توثيق البرنامج
ملاحظة: الخطوات السابقة هي الخطوات المتبعة عند تصميم برامج الحاسب.
-احتياجات لغات البرمجة:
1-المترجم (Compiler): وهو برنامج يقوم بعملية تحويل البرنامج المصدري إلي برنامج هدفي.
2-المفسر (Interpreter): ويقوم المفسر بتفسير البرنامج سطراً سطراً ويقوم بتحويل الأوامر في السطر إلي لغة الالة ثم تنفيذ الأوامر والإيعازات في ذلك السطر، ثم ينتقل إلي السطر التالي ويكرر العملية وهكذا. ويمتاز المفسر بأنه يتيح للمستخدم أن يرى نتيجة تنفيذ الأوامر في كل سطر من البرنامج.مثل: لغة البيسك.
3-مخططات الانسياب (Flow Charts ): وتعد مخططات الانسياب وسيلة بصرية مفيدة للتعبير عن المنطق اللازم لحل مسألة ما ولتحقيق هذا الغرض يتم الاستعانة ببعض الأشكال الخاصة(الرموز) تكتب داخلها جمل قصيرة تصف العمليات التي ستنفذ على البيانات.
5-التركيب العام في لغات البرمجة:
أ-تركيب لغة البيسك (Basic):
إن قواعد كتابة البرنامج في لغة بيسك في غاية البساطة مقارنة باللغات الأخرى، وكما نعرف فإن البرنامج يتكون من مجموعة من الجمل و كل جملة لها رقم خاص بها، بمعنى أن الكمبيوتر عندما يبدأ في تنفيذ البرنامج سينفذ الجمل تبعاً لترتيب أرقامها.وللمبرمج الحرية في اختيار الترقيم الذي يرغبه، ولكن الشائع هو الترقيم 30-20-10…، وذلك لترك فرصة لإضافة جمل جديدة للبرنامج إذا رأى المبرمج ضرورة لإضافتها بعد كتابة البرنامج.
مثال: هذا برنامج لحساب حاصل جمع عددين وإظهار الناتج؟
10 INPUT a, b
20 LET m= a+ b
30 PRINT m
40 END
ب-تركيب لغة C++:
دائماً عند كتابة برامج لغة C++ يجب كتابة الأسطر التالية:
#Include<iostream.h>
main( )
{
الأوامر و المصطلحات;
return 0;
}
* شرح مكونات الصيغة العامة لبرنامج لغة C++:
1-include#يحتوي على): ونقوم بكتابتها في بداية برامج C++ لكي نذكر أسماء الملفات (Header Files) التي سوف يحتاجها البرنامج.
ملاحظة: يأتي برنامج لغة السي مزود بمجموعة من ملفات ( Header Files ) و هي تحتوي على مجموعة من مكتبات الأوامر التي نستخدمها في البرامج، مثل:
أ-iostream.h
ب-stdio.h
ج-conio.h
وستلاحظ في أسماء مكتبات الأوامر أنه عادة ما يأخذ القسم الثاني من أسماء الملفات ( Header Files ) الحرف h ( إشارة إلي header ).
2-<iostream.h>: وهي أحد أنواع ملفات ( Header Files ) هي عبارة عن مكتبة الأوامر الخاصة بوحدة الإدخال ( cin ) و وحدة الإخراج ( cout ).
3-main():وهي الدالة الرئيسية المكونة لجميع برامج لغة C++ وهي أهم دالة في البرنامج وأساس البرنامج. وتبدأ كل برامج لغة C++ التنفيذ بدءا من التابع main() ، ويجب أن يحتوي برنامج لغة C على تابع main() واحد فقط.
-ملاحظات هامة يجب مراعتها عند كتابة برامج لغة C++:
1-لا يمكن أن تستخدم علامات الترقيم أو علامات الاستفهام أو الكلمات المحجوزة مثل:for ضمن اسم المتغير، فمثلاً لاحظ الفرق بين أسماء المتغيرات في الأمثلة التالية:
1- int a,m,counter;
2- int a?,1999_age;
ستجد أن السطر الأول مسموح باستخدامه ولكن السطر الثاني غير مسموح باستخدامه لأنه يحتوي على علامة استفهام وعلامة ترقيم.
2-تذكر أنه لابد من وضع الفاصلة المنقوطة في نهاية أي دالة أو تعليمة أو أمر.
3-في لغة C++ الأوامر بشكل عام تكتب بحروف صغيرة مثل:cin –cout وذلك لأن لغة C++ لغة حساسة بالنسبة للحروف، فمثلاً كلمة for من الكلمات المحجوزة في لغة C++ التي لا يمكن استخدامها في اسم المتغير ولكن كلمة FOR تختلف تماماً عن كلمة for في لغة C++، حيث يمكننا استخدام كلمة FOR في كتابة أسماء المتغيرات في لغة C++
مثال1:هذا برنامج يقوم بإدخال عددين وحساب المتوسط الحسابي لهما وطباعة الناتج.
#include<iostream.h>
main()
{
float a,b,c;
cout<<"enter 2 number";
cin>>a>>b;
sum=a+b;
c=sum/2;
cout<<"sum="<<sum<<"\n average ="<<c;
ج-تركيب لغة الباسكال (Pascal):
تشبه لغة الباسكال في تركيبها تقريباً لغة C++ والتركيب العام لها هو:
Program <اسم البرنامج>;
[توضيحات/تعليقات]
< تعريف المتغيرات>;
Begin
المصطلحات والأوامر;
End.
-ملاحظات هامة على التركيب العام للغة الباسكال: 1-السطر الأول هو للتعريف باسم البرنامج ووسيلة الإدخال والإخراج
2-السطر الثاني يستخدم لكتابة الملاحظات والتعليقات التي يريد المستخدم كتابتها وهي إختيارية.
3-السطر الثالث يستخدم لتعريف المتغيرات
4-الجزء الممتد من Begin إلى End هو عبارة عن جسم البرنامج والأوامر بينها
5-السطر الأخير يحتوي على End متبوعة بنقطه وذلك للدلاله على نهاية البرنامج وسنلاحظ أن
بعد كل سطر هنالك نقطه فاصلة ( للدلالة على سطر آخر يليه
بعد كلمه End هنالك نقطة (.) للدلاله على أنه لا يوجد سطر بعد ذلك
-أوامر الإدخال والإخراج في لغة الباسكال:
1-الأمر Readln :
وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج ويستخدم هذا الأمر لإدخال البيانات من المستخدم وحفظها في متغيرات تناسب نوع البيانات المدخلة وله نوعان
الأول : Readln
وهو يقوم بقراءة البيانات من المستخدم وبعدها ينتقل المؤشر للسطر التالي
الثاني : Read
وهو مشابه للأمر Readln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد قراءة البيانات بل يكمل بنفس السطر
2-الأمر Writeln :
وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج ويستخدم هذا الأمر للطباعة وإخراج البيانات على الشاشة وله نوعان
الأول : Writeln
وهو يقوم بطباعة الجملة والانتقال بعدها إلى السطر الذي يليه مثل
الثاني : Write
وهو مشابه للأمر Writeln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد طباعة الجملة بل يكمل بنفس السطر
المتغيرات في برنامج الباسكال Var:
ويتم في هذا القسم من البرنامج التصريح عن نوع البيانات بالبرنامج قبل استخدامها ويتم التصريح حسب نوع البيانات إما Integer, Boolean , Char.
-الشروط الواجب توفرها في أسماء المتغيرات في لغة الباسكال:
1-أن يبدأ بحرف ( ولا تقبل الأسماء التي تبدأ بأرقام )
2-أن يحوي الاسم حروفا وأرقاما فقط
3-أن لا يكون الاسم من ضمن الكلمات المحجوزة بالذاكرة مثل (Integer, Boolean , Char )
4-عدم ترك مسافات بين الحرف والحرف الآخر أو بين الكلمة والكلمة.
ملاحظة: تعتبر لغة الديلفي هي لغة باسكال متطورة وتعتمد 90% على لغة الباسكال.
-مثال:أكتب برنامج يقوم بإدخال عددين وجمع العددين وإظهار النتيجة على الشاشة باستخدام لغة الباسكال؟
Program < Addition>
Variables
S, F ,TOT :Integer
Begin
Readln (F);
Readln (S);
TOT =F+S;
Writeln (TOT);
End.
-مقارنة البيانات في لغات البرمجة:
أ-البيانات في لغة البيسك (Basic):
تقسم البيانات في لغة البيسك إلي نوعين رئيسين وهما:
1-البيانات العددية: وهي البيانات التي لا تحتوي إلا على أرقام عددية فقط وغير مسموح باستخدام أي رموز معها إلا الإشارة (+) لتوضيح أن العدد موجب أو الإشارة (-) لتوضيح أن العدد سالب، وكذلك النقطة "الفاصلة العشرية" (.).
2-البيانات غير العددية(الحرفية): وهي البيانات التي قد تحتوي على أية رموز حرفية أو إشارات خاصة أو أرقام، ولكن للتميز بين اسم المتغير للبيانات العددية واسم المتغير للبيانات الحرفية يجب وضع علامة الدولار ($) دائماً في نهاية اسم المتغير غير العددي (الحرفي).
ب-البيانات في لغة C++:
تحتوي لغة C++ على خمسة أنماط من البيانات وهي:
1-اللبنة (Character)
2-الأعداد الصحيحة (Integer)
3-الأعداد الحقيقية (Floating-Point)
4-الأعداد الحقيقية مضاعفة الدقة (double Floating-Point)
5-عديمة القيمة (Void)
وسوف تلاحظ أن جميع الأنماط الأخرى مبنية أصلاً على واحدة من هذه الأنماط.
ج-البيانات في لغة الباسكال:
تشبه البيانات في لغة الباسكال البيانات الموجودة في لغة C++.
مثال عام: أكتب برنامج يقوم بإدخال رقمين وجمع هذين الرقمين و إظهار الناتج باستخدام جميع لغات البرمجة التي درستها؟
الرقم الأول F
الرقم الثاني S
الرقم الثالث TOT
لغات البرمجة
اعداد وداد الطيار
لمحة موجزة عن تاريخ لغات البرمجة
ظهر في النصف الثاني من القرن العشرين العديد من لغات البرمجة . في البداية كان على المبرمجين كتابة برامجهم بلغات معقدة وصعبة وهي لغة الآلة وهي لغة مركزة بالخانات الثنائية (0،1) يمكن للحاسوب فهمها وبرمجتها دون اللجوء إلى أية عملية تحويل أو ترجمة أو تفسير .
تمثل الخانات الثنائية فيها رموز العمليات ومواقع الذاكرة وقيم المتحولات , ولكن من العسير جداً كتابة البرامج فيها ADD ظهر بعد ذلك لغات التجميع التي سمحت للمبرمج بالتعبير عن العمليات برموز حرفية مثال وعلى الرغم أن البرمجة بلغات التجميع أبسط بكثير من البرمجة بلغة الآلة إلا إنها بقيت بعيدة عن اللغات الطبيعية التي يسهل على الإنسان التعامل معها بشكل أفضل .كما إن كل لغة تجميع ترتبط ارتباطاً وثيقاً بنوع المعالج الصفري الذي يميز العتاد المادي لأي حاسوب.
إذا هكذا ظهرت لغات البرمجة عالية المستوى (لغات الجيل الثالث)الأقرب إلى اللغات الطبيعية المحكية والمستقلة عن العتاد المادي للحاسوب.
وكانت أولى هذه اللغات لغة (فورتان) التي ظهرت في عام 1956م وكانت موجه نحو البرمجة العلمية والرياضية، ومازال العديد من البرامج الرياضية مكتوب هبها حتى الآن، لكنها كانت صعبة الاستخدام في المجالات الأخرى كالبرمجة الإدارية ، لذلك ظهرت لغة (كوبول) في عام 1960م وكانت كلماتها وقواعدها قريبة من اللغة الانجليزية ومناسبة جداً للتطبيقات الإدارية ، ولقد استخدمت استخداماً واسعاَ. بعد ذلك ظهرت لغة (باسك) وانتشرت انتشاراً واسعاً في المدارس والمعامل والمنازل والعديد من المجالات بسبب بساطتها الشديدة وسهولة تعلمها .
وفي فترة السبعينات ظهرت لغة (السي) الشهيرة ذات المرونة الكبيرة والتي تتركز تطبيقاتها في
برمجة نظم التشغيل والمترجمات
وبرمجيات التحكم بالمنظومات الصناعية ، بسبب كونها
لغة عالية المستوى تتضمن فاعلية لغة التجميع
ما هي لغات البرمجة؟
يقوم الحاسب الآلي عند أداء أي عمل من أعماله بتتبع مجموعة من التعليمات المتسلسلة والمترابطة التي تسمى البرنامج، ويسمى من يكتب هذه التعليمات بالمبرمج، ويعتمد تركيب الجمل والتعليمات على لغة البرمجة المستخدمة، ويتصل الإنسان بالحاسب لتوجيهه للقيام بالأعمال التي يريدها بواسطة لغات البرمجة.
لغةالآلة
وتسمى "اللغة الثنائية" حيث إنها تتكون من سلسلة من ٠ و ١، وهي اللغة الوحيد التي يفهمها الحاسب الآلي، حيث تحول جميع اللغات إلى لغة الآلة، حتى تتمكن معدات الحاسب الآلي من التفاهم معها، ولأنها تتكون من صفر وواحد، لذا فقد تميزت هذه اللغة بالصعوبة نظراً لما تتطلبه من حفظ ودقة في كتابة سلسلة طويلة من صفر وواحد بترتيب معين، مما ينتج عنه أخطاء كثيرة من الترميز، ويجب أن يحدد المبرمج آل شي، فكل خطوة يجب أن ينفذها البرنامج يجب أن ترمز، لذا فالمبرمج يجب أن يكون على علم بتركيب الحاسب الداخلي، والعنا وين الرقمية لمواقع التخزين، سواء للبيانات أو التعليمات، آما أن لكل جهاز لغة آلة تختلف عن الجهاز الآخر بحسب النوع والتركيب مما يعني أنه يجب كتابة البرنامج بشكل ككامل مره أخرى عن الرغبة في تنفيذه على جهاز آخر، ونتيجة لهذه الصعوبات فقد ظهرت طرق أخرى لتمثيل الترميز الثنائي، كالنظام الثماني والستة عشري بدلا من 1، ٠ فالنظام الستة عشرين يتكون من ستة عشر رمزاُ. مما يساعد على سهولة قراءة التعليمات المكتوبة وحفظها بهذه اللغة، فبدلا من كتابة ١ رقماً في سلسلة يمكن الاستعاضة عنها بأربعة رموز من رموز النظام التشغيل الستة عشري.
لغةالتجميع
ظهرت لغة التجميع بوصفها أو لغة ترميز، تستخدم الرموز للتعبير عن تعليمات لغة الآلة، وذلك لمواجهة صعوبة الترميز بلغة الآلة، ولغة التجميع لغة قريبة من لغة الآلة التي يفهمها الحاسب الآلي، وتسمى هذه اللغات بلغات المستوى البسيط.
ويتم استعمال مختصرات ورموز يسهل حفظها وكتابتها لكل تعليمة من تعليمات لغة الآلة، ولغة التجميع آما في لغة الآلة مصممة للعمل على حاسب معين، مما يوفر قدرة أكبر على استغلال موارد الحاسب الآلي ووحدة المعالجة المركزية بشكل أفضل، ويقوم البرنامج المسمى المجمع بترجمة البرنامج المكتوب بلغة المجمع إلى لغة الآلة .
اللغاتالعليا
سميت بهذا الاسم لأنه أصبح بإمكان المبرمج كتابة البرنامج دون معرفة تفاصيل كيفية قيام الحاسب بهذه العمليات، كمواقع التخزين وتفاصيل الجهاز الدقيقة، وتعبيرات لغات المستوى العالي هي تعبيرات شبيهة إلى درجة كبيرة باللغة الطبيعية التي يستخدمها الإنسان في حياته والتخاطب مع الآخرين .
ومن مميزات اللغات العليا التي تميزها من لغات المستوى البسيط، بالإضافة إلى ما سبق، أن هذه اللغات غير مرتبطة بجهاز معين . أي يمكننا تنفيذ البرنامج المكتوب بلغة من لغات المستوى العالي، كالفورتران أو الكوبول أو البيسك على أآثر من جهاز، آما يمكن استخدام أآثر من لغة ترجمة على حاسب معين . كذلك، فإن اكتشاف الأخطاء وتصحيحها أصبح أآثر سهولة بسبب سهولة قراءة البرامج وتتبعها وفهمه.
تسمى اللغات آالكوبول والفورتران والبيسك باللغات العليا الموجهة نحو إجراءات الحل ، ،وهي اللغات التي
يعطى فيها المبرمج التعليمات خطوة خطوة
لغة الكوبول
وقد طورت وصممت هذه اللغة من لدن لجنة من مصنعي أنظمة الحاسب الآلي ومطوريها عام ١٩٦٠ م تسمى لجنة CODASYL اختصاراً ل Conference of Data System Languages .
وقد قام المعهد الوطني الأمريكي للمعايير ANSI بتطوير نسخة معيارية من COBOL، مفسر كوبول يطابق المواصفات القياسية لهذا المعهد، وكان ذلك ف ي عام ١٩٦٨ م وسميث "ANSI 1968" وظهر بعدها ANSI 1974 و ANSI 80.
وينتشر استخدام لغة كوبول على نطاق واسع عالمياً حيث تستخدم في البنوك وفي المنظمات الحكومية، وتستخدم على حاسبات كبيرة أو على حاسبات شخصية . وتتميز لغة كوبول بقدرتها على التعامل مع الملفات؛ لذا اشتهرت بأنها لغة أعمال.
لغة الفورتران
وهي اختصار عبارة FORmula TRANSlation وتعد لغة FORmula TRANSlation أقدم اللغات ذات المستوى العالي، وقد ظهرت هذه اللغة في منتصف الستينات، حيث بدئ عام 1954 بالعمل على تطوير لغة برمجة تقبل برنامجا مكتوبا بلغة قريبة من لغة الإنسان، ويحوله إلى شفرة قابلة للتنفيذ على الحاسب الآلي، وبعد ٣ سنوات أي في عام 1957 م ظهر أول مفسر فورتران وفي تلك الفترة كان استخدام الحاسب الآلي يكاد . يكون حكراً على العلماء والمهندسين والرياضيين، ومن الطبيعي أن تكون هذه اللغة المطورة حديثاً قد جاءت لتواكب احتياجاتهم إذ تتميز لغة الفورتران بقدراتها على إجراء العمليات لغة البيسك
وهي اختصار للعبارة الإنجليزية Beginner's All Purpose Symbolic In struction Code أياللغةالمتعددالأغراضللمبتدئين،وتأتيكلمة بيسك التي تعنيالأساسلتحقيقالمعنىنفسه،فهذهاللغةونظراًلبساطةتعليماتهاومحدوديتهافإنها تعدلغةمناسبةللتعلممنقبلالمبتدئينفيعالمالحاسبالآليوالبرمجة،وتستخدمهذه اللغةفيمعظمالحاسباتالشخصية،ممايدلعلىالانتشارالواسعلها،وقدطورتهذه اللغة في كلية Dartmouth عام١٩٦٣ممنلدن John Demuy و Kurtz .
Thomas .
وتستخدم
لغة البيسك الحديثة في قطاع واسع. إذ تستخدم في مجال الأعمال لقدرتها على التعامل مع الملفات، وكذا في العمليات الرياضية من قبل العلماء والمهندسين
لامتلاكها كثيراً من الوظائف للقيام بمثل تلك العمليات المعقدة لغة الفيجوال بيسك
تاريخ لغة الفيجوال بيسك
أنتجت شركة مايكروسوفت أول إصدار من لغة البيسك عام 1975م، وسمي Basic والاسم يعتبر اختصاراً لكلمة لغة البرمجة العامة التسلسلية للمبتدئين (Beginner’s All-Purpose Symbolic Instruction Code)، وتوالت الإصدارات فظهر الإصدارات GW-BASIC, QuickBasic and QBasic، وكلهم يعملون في بيئة Dos، ومع انتشار بيئة ويندوز ظهرت فيجوال بيسك التي احتوت على كثير من أوامر QBASIC وأضيفت العديد من الوظائف التي جعلت من البرمجة بفيجوال بيسك يسرة وسهلة. هناك الآلاف من المواقع التعليمية للفيجوال بيسك ومنها Visual Basic Tutorials
في عام 2000 قامت مايكروسوفت بإنتاج النسخة المطورة VISUAL BASIC.NET والتي تعتمد على البرمجة الشيئية mezzo
ماهي لغة الفيجوال بيسك ؟هي بيئة تطوير ولغة برمجة من مايكروسوفت تستند إلى لغة البيسك الشهيرة. وهي تصنف ضمن لغات البرمجة الشيئية. منذ أن بدأت مايكروسوفت في اصدار الفيجوال بيسك وهي تلاقى نجاحا باهرا وشعبية لا بأس بها بين المبرمجين نظرا لسهولتها الشديدة في مقابل التعقيد الشديد الذي يواجهه أى مبرمج يسعى لبرمجة ويندوز باستخدام السي أو السي++. عموما تناسب الفيجوال بيسك تطبيقات قواعد بيانات والتطبيقات المخصصة للشركات الصغيرة وبرامج الحسابات وهي مريحة وسهلة وتؤدى الغرض بالإضافة إلى أنها تسمح للمبرمج بالتركيز على حل المشكلة فغالباً ما لا يواجه صعوبات فنية أثناء كتابة برنامج بالفيجوال بيسك. و لكن بقى أن نذكر أن برامج الفيجوال بيسك لا تتم ترجمتها كاملة إلى لغة الآلة مثل السي++ أو الدلفي وإنما تترجم إلى كود وسطى يتصل مع مكتبة ربط تسمى ب"Run Time library" واسمها MSVBM??.dll مع استبدال علامات الاستفهام برقم الإصدار.لغة البرمجة فيجوال بيسك هي لغة ذات تصميم مرئي واجهة رسومية بعكس بعض اللغات مثل الاسمبلي ذات الشاشة السوداء. حيث تحتوي هذه اللغة على العديد من الاوامر بداخلها ولغة سهلة التطبيق تم تطوير هذه النسخة من البرنامج عن النسخة القديمة basic والتي تعمل تحت بيئة dos إلى هذه النسخة التي تعمل تحت بيئة وندوز. تعتمد اللغة في تطوير تطبيقاتها على الكائنات فهي تشبه العديد من لغات البرمجة الحديثة من حيث اعتمادها على الديناميكية والأحداث. تعني الديناميكية في هذه اللغة القدرة على استدعاء اي اقتران أو اجراء اعتمادا على الحدث. الحدث هو اي عملية يقوم بها مستخدم التطبيق على التطبيق مثل الضغط بزر الفارة أو الضغط على أحد ازرار لوحة المفاتيح أو حتى تحميل نموذج
ومن مميزات لغه فيجوال بيسك :
* لغة سهلة وسريعة لإنشاء تطبيقات ويندوز.
* تدعم البرمجة الشيئية إلا أن ذلك ليس بشكل كامل.
* تجربة برامج الفيجوال بيسك سهلة وسريعة لاعتمادها على مكتبة الربط خلال وقت التشغيل.
* تعتبر لغة الفيجوال بيسك لغة كائنية المنحنى
* سهلة التعلم والفهم
* سهولة اكتشاف الأخطاء فيها
* اعتماده على HMI وذلك مما جعله سهل الاستعمال والفهم.
* عند كتابة اوامر صحيحة يقوم بإعطائك أمثلة ليؤكد لك على صحة كتابة الكود
اصداراتفيجوال بيسك
فيجوال بيسك 1
الإصدار الأول من كان محدود للغاية. ولم يكن موجه لتطوير التطبيقات الحقيقة لبيئة وندوزمع انه كان سهل الاستخدام ذو واجهة رسومية ولغة برمجة مرئية إلى انه كان يعتبر كلعبة مسلية للمبرمجين.
فيجوال بيسك 2
الإصدار الثاني من لم يظهر أي جديد باستثناء إضافة القليل من الخصائص ودعم أفضل لبيئة التطوير المتكاملة.
فيجوال بيسك 3
يعتبر الإصدار الثالث هو بداية طريق النجومية أو الشهرة حيث قدم دعم لقواعد البيانات وأصبح ذو نهاية مفتوحة بفضل الإضافات التي كنت تستطيع دمجها
فيجوال بيسك 4
كان الهدف الأساسي من الإصدار الرابع هو مرحلة انتقالية إلى وندوز 95 أو إن صح التعبير، القابلية لتطوير تطبيقات من نوع 32 البت
فيجوال بيسك 5
الإصدار الخامس كان بمثابة الإعلان الرسمي في أن لغة الفيجوال بيسك هي لغة برمجة لتطوير التطبيقات الحقيقية والتجارية. حيث أضاف العديد من أنواع المشاريع
فيجوال بيسك 6
الإصدار السادس لا يختلف عن الإصدار الخامس كثيرا لكن هناك العديد من التحسينات وعلاج للأخطاء التي كانت موجودة في الإصدار الخامس. من أهم الإضافات في الإصدار السادس هي الزيادة في أدوات قواعد البيانات
فيجوال بيسك.نت
تم إنتاج هذا الإصدار مع تغيير جذري عما سبقه من الإصدارات ولقد صدر في ظل هذه التقنية أربعة إصدارات إلى الآن
فيجوال بيسك.نت 2003
فيجوال بيسك.نت 2005
فيجوال بيسك.نت 2008
فيجوال بيسك.نت 2010
بختصار شديد : فيجوال بيسك أداة قوية وفعالة لتطوير تطبيقات متوافقة مع بيئة ويندوز. توفر لك بيئة تطوير متكاملة سهلة الاستخدام لإنشاء الحلول سواءً أكانت شخصية أم تجارية في وقت قياسي عن طريق فلسفة البرمجة المرئية. حيث تصمم الشاشات ونوافذ برنامجك عن طريق نقرات وتحريكات خفيفة بالفأرة كأنك ترسم مربعات ودوائر باستخدام برامج الرسم وغيرها.
عيوب فيجوال بيسك
* عدم مجانية برامجها ،أي أنك تحتاج غالبا للدفع للحصول على ملفات مفتوحة المصدر.
* لا يتم ترجمتها بشكل كامل إلى لغة الآلة.
* لا تدعم كافة أشكال البرمجة الشيئية.
* المترجم نفسه به بعض الشوائب والتي تظهر في البرنامج المكتوب حتى في حالة خلو البرنامج المصدر من الأخطاء.
* عيوب البرنامج من إمكانية تجميل برنامج حيث يحتوي على مربعات وازارير بدائية ولكي تحصل على الشكل المطلوب ادوات خارجية.
لغة باسكال
انتشرت هذه اللغة خصوصاً في الجامعات . إذ تدرس هذه في معظم جامعات العالم لطلاب علوم الحاسب، وتمتاز لغة باسكال بالسهولة، واختصار الكلمات فيها إلى حد كبير، وبنيتها التركيبية وقوة البرامج الفرعية، واستخدام المؤشرات ، وقد ظهرت نسخ جديدة من باسكال امتازت بتلافي العيوب في النسخ السابقة، ويعد تروب باسكال من البرامج المستخدمة بكثرة بين المبتدئين والمتخصصين في البرامج، وتستخدم هذه اللغة من قبل الطلاب والمهندسين، كما تستخدم في قطاع الأعمال التجارية.
لغةسي
هي تطوير لنسخة قديمه تسمى بي التي ظهرت عام ١٩٦٩ م . لذا سميت هذه النسخة اللاحقة ب سي
وتشتهر لغة السي باستخدامها كلغة برمجة نظم حيث تستخدم لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة وتمتاز بسرعتها الكبيرة، كما تملك مجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة السي من اللغات التركيبية
وازداد اهتمام محترفي البرمجة بلغة ال السي والنسخ المحسنة منها سي بلس بلس
المزايا: جيدة لكتابة البرامج الصغيرة و السريعة، ذات تصميم سهل و هي لغة قياسية لا تختلف من مترجم لآخر بشكل عام
العيوب: لا تدعم البرمجة الكائنية و الأوامر صعبة الفهم أحيانا.
لغة السي بلس بلس
لغة السي بلس بلسC++ من لغات البرمجة العالية المستوي وفي نفس الوقت قريبة من لغة التجميع ذات المستوي المحدود. وهي لغة ناشئة من لغة C الذي قام بتطويرها بيارن ستروستروب إلى C++..
تسهّل لغة ++C الأسلوب المهيكل والمنهجي لعملية تصميم البرامج،وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.
ومثلها مثل لغة السي، فان السي++ هى لغة متعددة الاستخدامات إلا إنها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدام السي++ ومنها نظام لينكس Linux / ويندوز
و يتجنب الكثير من المبرمجين لغة السي++ والسي نظرا لشهرتهما كلغات برمجة معقدة. وقد أدى ذلك إلى استخدام الكثيرين للغات مثل فيجوال بيسك ودلفي ثم جافا وسي شارب والأخيرتين هما مجرد تسهيل (و ليس تطوير) للغة السي++ وبدا في وقت معين أن لغات مثل الجافا سوف تستولى على سوق البرمجيات التجارية من السي++ مع هجرة عدد كبير من مبرمجى السي++ إلى جافا وسي شارب ، إلا أنه سرعان ما أدرك المبرمجون أن السي++ هى السبيل الوحيد لإنتاج برامج تجارية قوية وسريعة وتؤدى المطلوب منها بكفاءة وبأقل عدد من الأخطاء
لغةالجافا
هي لغة حديثة انتجت عام 1995م وهي تناسب تطبيقات الإنترنت حيث أصبحت هي قلب برمجة الإنترنت بما توفره من إمكانيات
وتتصف لغة الجافا بالصفات التالية
لغة برمجية تعمل بواسطة الأهداف
لها بيئة تشغيل خاصة بها
لها مكتبة فصائل
تقوم على لغة السي
تعمل على معظم نظم التشغيل
مميزات لغة الجافا
* لغة الجافا خالية من عيوب السي++ ((خصوصاً في التعامل مع الذاكرة))
* الجافا تعمل في كل أنظمة التشغيل .
* الجافا تستخدم مترجم ومفسر يعني ليس مترجم فقط مثل السي
* الجافا سريعة جداً باستخدام معالجة للمترجمات ولكن دون هذه المعالجة السي++ أسرع بكثير لأن الجافا تحول الكود الي بايت كود .
* الجافا حديثة من سنة 95 لكن أصبح لها انتشار كبير
*الجافا لغة سهلة وبسيطة وقوية في نفس الوقت.
* الجافا تعمل في كل المجالات
معلومة أخيرة الجافا أقوى لغة برمجة للموبايلات والأجهزة التفاعلية معظم الألعاب والبرامج, برامج التصوير والفيديو في الجوالات مبرمجة بالجافا
أول لغة برمجة عربية متكاملة ج
لغة ج هى لغة برمجة رفيعة المستوى تستخدم اللغة العربية قلباً وقالباً. ولعلها أول لغة برمجة عربية متكاملة تحتوي على كل خصائص لغات البرمجة الأجنبية رفيعة المستوى مثل السي و باسكال لقد أصبح بإمكانك الآن كتابة البرامج للحاسوب الشخصي باللغة العربية.
سميت هذه اللغة بهذا الاسم لأن الدكتور رأى أنه يوجد تشابه في جوانب عديدة من لغة برمجية معروفة وهي لغة البرمجة سي .
اللغة عديد من الخصائص ويوجد تشابه بينها وبين لغة (السي)، ومنها:
تدعم اللغة استدعاء الدالة نفسها .
تدعم التعامل مع الملفات من ناحية الكتابة والقراءة من الملف .
تدعم التعامل مع الرسومات و الألوان.
وجود الجمل المرطية و جمل التكرار وجمل الإنهاء القسري.
تدعم المركبات
تدعم المصفوفات.
لا يوجد شكل عام أو هيكلة يمكن كتابة البرنامج على ضوئها، فلا يوجد دالة عامة أو رئيسية مثل لغة السي بدالة Main، حيث يمكن البدء و الشروع في كتابة الأوامر مباشرة. لكن اللغة تكتب بسلسلة من الأوامر تبدأ كل منها بكلمة مفتاحية التي تعبر بدورها عن وظيفة هذه الجملة.
لغات البرمجة (تطورها,عيوبها,مميزاتها)
إعداد الطالبة / بشائر سعيد حسين العمري
أشراف الدكتورة/ شهيناز محمود
مقدمة
تعد البرمجة لغة التخاطب الوحيدة بين الإنسان والحاسوب والتي تتم من
خلال كتابة مجموعة من التعليمات (instructions) تمرر للحاسوب وتهدف لتنفيذ أمر معين، وتعرف هذه اللغة الخاصة باسم لغة
البرمجة.
ويوجد اليوم المئات من لغات البرمجة التي تختلف في أهدافها و وظيفتها،
وقد مرت هذه اللغات بمراحل طويلة من التطور حتى وصلت للشكل المتعارف عليه
اليوم.
يقوم الحاسب الآلي عند أداء أي عمل من أعماله بتتبع مجموعة من التعليمات المتسلسلة والمترابطة التي
تسمى البرنامج، ويسمى من يكتب هذه التعليمات بالمبرمج، ويعتمد تركيب
الجمل والتعليمات على لغة البرمجة المستخدمة، ويتصل الإنسان بالحاسب
لتوجيهه للقيام بالأعمال التي يريدها بواسطة لغات البرمجة .
ظهرت أولى لغات البرمجة قبل صناعة الحاسوب الحديث، وقد كانت في البداية عبارة عن شيفرات (codes).
في عام 1801م اخترع العالم جوزيف- ميري جاكارد ( Jacquard, Joseph-Marie) نولاً ميكانيكياً (آلة للحياكة)، يتمّ التّحكم به عن طريق البطاقات
المثقّبة (Punch Cards). والبطاقة المثقّبة عبارة عن بطاقة صغيرة الحجم مصنوعة من الورق
المقوّى، تحتوي على عدّة ثقوب مرتّبة بنسق معين. وتمثل هذه الثقوب "البيانات"
اللازمة لتغذية الآلة بالبرنامج المحدّد للحركة.
الكثير من مصنعي الحواسيب الأوائل أدركوا أهمية البطاقة المثقبة في تزويد آلاتهم بالأوامر
اللازمة للعمل، ففي عام1820م أو 1821م تبنّى العالم البريطاني تشارلز بابيج (Charles Babbabe) فكرة البطاقة المثقّبة لصناعة أول كمبيوتر ميكانيكي حقيقي عرفه
التاريخ يدار بواسطة محرّك بخاري. وقد أسماه الآلة التحليليّة(Analytical Engine).
كما صمم الأمريكي هيرمان هوليرث ( Herman Hollerith ) آلة خاصة لإجراء التعداد السكاني في العام1890م تتم تغذيتها بواسطة
بطاقة مثقبة بحجم ورقة الدولار، وتحوي البطاقة عددا من الثقوب يمثل فيها موضع الثقب
معلومة محددة عن الشخص كالجنس أو مكان الولادة إلخ...وقد ساعدت هذه الطريقة الحكومة
الأمريكية على إنهاء التعداد في عامين ونصف بدلا من السبعة أعوام ونصف التي احتاجها
التعداد السابق.
وقد استخدمت البطاقة المثقبة لفترة طويلة خلال القرن العشرين ( حتى
بداية السبعينات تقريباً ) كأداة أساسية لتغذية الحاسوب الحديث بالبيانات.
لغات البرمجة وتطورها
لغات الجيل الأول
تمد الأساس في تطور لغة البرمجة كما نعرفها اليوم لاستعمال نظام العد
الثنائي (Binary System)-(0,1) لتمثيل الأوامر والعميات الحسابية والمنطقية في الحاسوب الحديث (الذي
يدار بالطاقة الكهربائية)، وتلك تعد ثورة في عالم الحاسوب وأساس لنجاحه بعد فشل عدة
حواسيب تستخدم نظام العد العشري كحاسوب تشارلز بابيج.
وتعرف الأوامر المكتوبة بنظام العد الثنائي بلغة الآلة ( machine language ) أو الجيل الأول للغات البرمجة.
وفي البدايات البرمجية كان على المبرمج كتابة البرنامج كاملاً مستخدما
لغة الآلة، ولكن هذه العملية كانت صعبة ومرهقة وعرضة لكثير من الأخطاء.
لغات الجيل الثاني
ان لا بد من إيجاد طريقة لتمثيل الأوامر البرمجية (op-code) بعيداً عن تعقيد رموز لغة الآلة. وتمّ التفكير باستخدام شيفرة نصية
مكونة من عدة حروف ( من 1- 5 أحرف ) لكتابة هذه الأوامر ووصف مواقع الذاكرة، عرفت
باسم (mnemonics).
عند استخدام هذه التقنية في البداية كان المبرمج يستخدم الشيفرة
النصية لتصميم البرنامج على الورق، ومن ثم يقوم بترجمته إلى لغة الآلة عند إدخاله
إلى جهاز الحاسوب. ولكن، وبعد بعض الوقت، تم التوصل لطريقة تمكن الحاسوب من القيام
بعملية الترجمة بنفسه، حيث تم إنشاء برنامج خاص سمّي باسم المجمّع (assembler) مهمته تجميع الأوامر المكتوبة بلغة الآلة من الأوامر المكتوبة على شكل
شيفرة رمزية أو نصية (mnemonics).
هذا التطور في عملية ترميز البرامج وترجمتها أدّى لنشوء لغة برمجة
خاصة عرفت باسم لغة التجميع ( assembly language ) والتي تمثل الجيل الثاني من لغات البرمجة. واعتبرت هذه اللغة قفزة
عملاقة في عالم لغات البرمجة، وجعلت من تطوير تقنيات برمجية أفضل أمراً
ممكناً.
لغات الجيل الثالث
على الرغم من التميز الذي أظهرته لغات الجيل الثاني على لغة الآلة،
إلا إنها عانت بعض العقبات. فالبرنامج المكتوب بها تتم كتابته ليتناسب مع خصائص
الآلة (الحاسوب) التي سيتم تطبيقه عليها. بمعنى أن البرنامج المكتوب بلغة التجميع
معتمد على الآلة التي يتم تنفيذه عليها ولا يمكن استخدامه على آلة أخرى، إلا بعد
إعادة كتابته ليتلاءم مع تكوين هذه الآلة الجديدة ( مثل أسماء المسجلات ومواقع
الذاكرة..).
عقبة أخرى تتمثل في عملية تصميم البرنامج والذي يتطلب من المبرمج
التفكير بدقائق البرنامج جميعها، من حيث تعريف اسم المسجل (register) وأسماء مواقع الذاكرة التي سيتم تطبيق أمر معين عليها، وهذا يعني أن
على المبرمج أن يبني البرنامج خطوة خطوة من مستوى أدنى لمستوى أعلى.
تشبه المسألة عملية وضع مخطط لبناء منزل. فلغة التجميع تماثل وضع مخطط
للبناء يبدأ من المسامير والألواح والطوب (من الأسفل) صعودا حتى تصميم الغرف
(للأعلى)، في حين أنه يكون من الأسهل لو تم البدأ بتصميم المنزل أولاً على شكل غرف
ونوافذ وأبواب (من مستوى أعلى)، ومن ثم يلي ذلك التفكير بالأشياء الأكثر تحديداً (
مستوى أدنى).
أي أن التصميم يكون أسهل لو تم التفكير به من مكونات كلّية (major
features) ومن ثم يتم تقسيم الكليات لمكونات أكثر
تفصيلا.
اعتماداً على هذه الفكرة تم التوجه نحو تطوير لغات برمجة تمكّن
المبرمج من بناء برنامج معتمداً على النظرة الكلية (high-level) ومن ثم تحويلها
لمكونات أدنى (low-level). ونتج عن ذلك جيل ثالث من لغات البرمجة عرفت باسم لغات البرمجة عالية
المستوى (high-level languages) واستخدمت هذه اللغات على لغة الإنسان الطبيعية-اللغة الإنجليزية- و
رموز رياضية ومنطقية معروفة، في حين اكتسبت لغة التجميع مسمى لغات البرمجة متدنية
المستوى(low level
languages).
وبذلك تخطت لغات الجيل الثالث كل عقبات الجيل الثاني، من حيث سهولة
التصميم وعدم اعتماد أوامرها على آلة بحد ذاتها.
من أشهر لغات البرمجة عالية المستوى والتي ظهرت في مرحلة
مبكرة:
·
لغة كوبول والتي كانت مخصصة للأغراض التجارية والأعمال (COBOL- COmmon Business Oriented
Language).
·
لغة فورتران والتي كانت مخصصة للأغراض العلمية والتطبيقات الهندسية (FORTRAN- FORmula
TRANslator).
وقد تم تزويد لغات البرمجة عالية المستوى ببرنامج مترجم (compiler) ليقوم بتحويل الأوامر البرمجية من المستوى الأعلى إلى المستوى
الأدنى - لغة الآلة - ليتمكن الحاسوب من تنفيذه
لغات الحاسب
1ـ لغة الآلة
لغة الآلة (بالإنجليزية: Machine Language) هياللغة البرمجية الوحيدة التي يفهمها وينفدها الحاسوب مباشرة. وهي من لغات البرمجة المتدنية المستوى حيث (أي يحتوي قاموسها على الكثير من الايعازات (Instruction Set)).
تعتبر أكثرية لغات البرمجة الشائعة مثل C++وفيجول بيسك ذات مستوى تخصصي عالي ولهذا السبب تستخدم عند كتابة البرامج فتحول هذه
الأوامر إلى لغة التجميع الخاصة بالمعالج (Microprocessor) ومن ثم إلى لغة الآلة حتى يتم تنفيدها.
لكل نوع من أنواع المعالجات لغة آلة أو طاقم تعليمات خاصة به . ويتم
كتابة تعليمات وإيعازات لغة الآلة على هيئة أرقام بنظام العدد الثنائي ليتم تنفيدها مباشرة. أو بنظام العد الثماني ثم يتم تحويله إلى النظام الثنائي لتنفد.
توجد لكل عملية حسابية أو منطقية تكتب بلغة الآلة شفرة (code) خاص بها. ويتم كتابة عناوين الذاكرة الحقيقية في البرامج المكتوبة بلغة الآلة
وتسمى *اللغة الثنائية* حيث إنها تتكون من سلسلة من 0 و 1، وهي اللغة
الوحيد التي يفهمها الحاسب الآلي، حيث تحول جميع اللغات إلى لغة الآلة، حتى تتمكن
معدات الحاسب الآلي من التفاهم معها، ولأنها تتكون من صفر وواحد، لذا فقد تميزت هذه
اللغة بالصعوبة نظراً لما تتطلبه من حفظ ودقة في كتابة سلسلة طويلة من صفر وواحد
بترتيب معين، مما ينتج عنه أخطاء كثيرة من الترميز، ويجب أن يحدد المبرمج كل شي،
فكل خطوة يجب أن ينفذها البرنامج يجب أن ترمز، لذا فالمبرمج يجب أن يكون على علم
بتركيب الحاسب الداخلي، والعنا وين الرقمية لمواقع التخزين، سواء للبيانات أو
التعليمات، كما أن لكل جهاز لغة آلة تختلف عن الجهاز الآخر بحسب النوع والتركيب مما
يعني أنه يجب كتابة البرنامج بشكل ككامل مره أخرى عن الرغبة في تنفيذه على جهاز
آخر، ونتيجة لهذه الصعوبات فقد ظهرت طرق أخرى لتمثيل الترميز الثنائي، كالنظام
الثماني OCTAL والستة عشري HEX-ADECIMAL بدلا من1، 0 فالنظام الستة عشرين يتكون من
ستة عشر رمزاُ هي : 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 A.B,C,D,E,F .
مما يساعد على سهولة قراءة التعليمات المكتوبة وحفظها بهذه اللغة،
فبدلا من كتابة 16 رقماً في سلسلة يمكن الاستعاضة عنها بأربعة رموز من رموز النظام
التشغيل الستة عشري
2ـ لغة التجميع
ظهرت لغة التجميع بوصفها أو لغة ترميز، تستخدم الرموز SYMBOLIC CODE
للتعبير عن تعليمات لغة الآلة، وذلك لمواجهة صعوبة الترميز بلغة الآلة، ولغة
التجميع لغة قريبة من لغة الآلة التي يفهمها الحاسب الآلي، وتسمى هذه اللغات بلغات
المستوى البسيط
ويتم استعمال مختصرات
ورموز يسهل حفظها وكتابتها لكل تعليمة من تعليمات لغة الآلة، ولغة التجميع كما في
لغة الآلة مصممة للعمل على حاسب معين، مما يوفر قدرة أكبر على استغلال موارد الحاسب
الآلي ووحدة المعالجة المركزية بشكل أفضل، ويقوم البرنامج المسمى المجمع ASSEMBLER
بترجمة البرنامج المكتوب بلغة المجمع إلى لغة الآلة .
فيعلوم الحاسوب، لغة التجميع (بالإنكليزية: Assembly language) هي الصيغة السهلة القراءة للبشر المقابلة للغة الآلة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما. فلغة الآلة عبارة عن
تتابع من البتات (bits) تمثل عملية حاسوبية أو أمر للحاسوب، تصبح أسهل للقراءة عندما تستبدل
برموز تعبر عنها.
ولكلمعالج لغة تجميع خاصة به كما أن له "لغة آلة Machine Language" خاصة به. وتحتاج لغة التجميع ما يسمى "المجمـِّع" (بالإنكليزية: Assembler) وهو الذي يقوم بتحويل لغة التجميع التي يستطيع البشر قراءتها والتعديل
فيها إلى لغة الآلة التي يستطيع المعالج تنفيذها. وتستخدم هذه اللغة الآن من قبل
البشر وذلك لبرمجة أجزاء من نظم التشغيل أو للتاكد من سرعة وكفاءة تنفيذ بعض البرامج التي يحتاج فيها الكفاءة كبرامج المحاكاة والألعاب.
و تتكون اسطر برامج التجميع من ثلاثة أجزاء:
·
العلامة (Label) وهو ما يتم به الإشارة لسطر ما في سطور أخرى.
·
الأمر (Instruction) وهو يكون مناظر في الغالب لأمر في المعالج وهو ما سيقوم المعالج
بتنفيذه عند الوصول لهذا السطر أثناء تنفيذ البرنامج.
·
المعامل (Operand) وهو المتغير الذي سيتم تطبيق الأمر عليه.
تنقسم الأوامر إلى أربعة حقول :
·
الاسم
·
المعامل
·
العملية
·
التعليق
أمثلة على الأوامر :
·
في المثال حقل الاسم هو START:
·
العملية والمعامل MOV CX,5
·
التعليق ;initialize
counte
3ـ اللغات العليا:
سميت بهذا الاسم لأنه أصبح بإمكان المبرمج كتابة البرنامج دون معرفة
تفاصيل كيفية قيام الحاسب بهذه العمليات، كمواقع التخزين وتفاصيل الجهاز الدقيقة،
وتعبيرات لغات المستوى العالي هي تعبيرات شبيهة إلى درجة كبيرة باللغة الطبيعية
التي يستخدمها الإنسان في حياته للتواصل، والتخاطب مع الآخرين .
ومن مميزات
اللغات العليا التي تميزها من لغات المستوى البسيط، بالإضافة إلى ما سبق، أن هذه
اللغات غير مرتبطة بجهاز معين . أي يمكننا تنفيذ البرنامج المكتوب بلغة من لغات
المستوى العالي، كالفورتران أو الكوبول أو البيسك على أكثر من جهاز، كما يمكن
استخدام أكثر من لغة ترجمة على حاسب معين . كذلك، فإن اكتشاف الأخطاء وتصحيحها أصبح
أكثر سهولة بسبب سهولة قراءة البرامج وتتبعها وفهمها .
تسمى اللغات كالكوبول والفورتران والبيسك باللغات العليا الموجهة نحو
إجراءات الحل ، PROCEDURE - ORIENTED LANGUAGES ، وهي اللغات التي يعطي فيها
المبرمج التعليمات خطوة خطوة.
ويمر البرنامج المكتوب بلغات المستوى العالي بثلاث مراح قبل أن يكون
جاهزاً للتنفيذ .
الترجمة TRANSLATION : تحويل البرنامج المكتوب بلغة المستوى العالي
إلى لغة الآلة .
ـ الربط LINKING : ربط الروتينات المكتبية الكائنة بالمكتبة،
والتعليمات الضرورية بالبرنامج .
3ـ التحميل LOADING : يقوم البرنامج بتحميل
شفرة الهدف والروتينات المكتبية، والتعليمات على الذاكرة الرئيسة بغرض
التنفيذ.
وكانت اللغات تصنف حسب قوتها إلى لغات أعمال، أو لغة علمية أو لغات
مبتدئين ـ وفي وقتنا الحاضر ـ فإن معظم اللغات يمكن استخدامها بكفاءة في تطبيق
أنواع التطبيقات كافة، ومن أشهر لغات المستوى العالي :
لغة الكوبول COBOL :
وكلمة COBOL هي اختصار للعبارة الإنجليزيةCommon Business Oriented
Language ، وقد طورت وصممت هذه اللغة من لدن لجنة من مصنعي أنظمة الحاسب الآلي
ومطوريها عام 1960م تسمى لجنة CODASYL اختصاراً لـConference of Data System
Languages .
وقد قام المعهد الوطني الأمريكي للمعايير ANSI بتطوير نسخة معيارية
من COBOL ، مفسر كوبول يطابق المواصفات القياسية لهذا المعهد، وكان ذلك ف ي عام
1968م وسميت*ANSI 1968* وظهر بعدها ANSI 1974 و ANSI 80 وينتشر استخدام لغة كوبول
على نطاق واسع عالمياً حيث تستخدم في البنوك وفي المنظمات الحكومية، وتستخدم على
حاسبات كبيرة أو على حاسبات شخصية .
وتتميز لغة كوبول بقدرتها على التعامل مع
الملفات؛ لذا اشتهرت بأنها لغة أعمال .
لغة الكوبول (COBOL اختصار Common Business-Oriented Language أي اللغة الشائعة الاستخدام في النواحى التجارية) لغة برمجيةمتعددة الاستخدام تخدم النواحى التجارية وخاصة مجال البنوك وغيره. وهي لغة توثيقة تتكون من أربعة أقسام هم:
·
القسم البيئى أو التعريف (Environment Division) وهو القسم الذي يتم تعريف اسم البرنامج به واسم المبرمج والغرض من البرنامج والجهة صاحبة هذا البرنامج.
·
قسم الإدخال والإخراج (Input Output
Division)
·
قسم البيانات (Data Division)
·
قسم الإجراءات (Proceduبرامج الكوبول تستخدام عالميا في الوكالات الحكوميه والعسكرية، في
مشاريع تجارية، وعلى أنظمة التشغيل مثل اي بي ام، مايكروسوفت ويندوز، وعائلات posix (يونيكس / لينكس الخ). وفي عام 1997، أفادت مجموعة غارتنر ان 80 ٪ من
الاعمال التجارية في العالم تنفذ باستخدام كوبول مع أكثر من 200 مليار ايعاز مع وجود ما يقدر ب 5 مليارات من الإيعازات المدونه الجديدة
سنويا.
·
قرب نهاية القرن العشرين مشكلة عام 2000 كانت محورا هاما لجهد برمجه الكوبول، وأحيانا من قبل نفس المبرمجين
الذين صمموا الأنظمة قبل عدة عقود
مثال
IDENTIFICATION DIVISION.
Program-Id. Hello-World.
*
ENVIRONMENT DIVISION.
*
DATA
DIVISION.
*
PROCEDURE
DIVISION.
Para1.
DISPLAY "Hello, world.".
*
Stop Run.
لغة الفورتران ORTRAN:
وهي اختصار عبارة FORmula TRANSlation ، وتعد لغة FORTRAN أقدم اللغات
ذات المستوى العالي، وقد ظهرت هذه اللغة في منتصف الستينات، حيث بدئ عام 1954
بالعمل على تطوير لغة برمجة تقبل برنامجا مكتوبا بلغة قريبة من لغة الإنسان، ويحوله
إلى شفرة قابلة للتنفيذ على الحاسب الآلي، وبعد 3 سنوات أي في عام 1957م . ظهر أول
مفسر فورتران.
وفي تلك الفترة كان استخدام الحاسب الآلي يكاد يكون حكراً على العلماء
والمهندسين والرياضيين، ومن الطبيعي أن تكون هذه اللغة المطورة حديثاً قد جاءت
لتواكب احتياجاتهم إذ تتميز لغة FORTRAN بقدراتها على إجراء العمليات الحسابية
المعقدة وحل المعادلات الرياضية . فورتران (بالإنجليزية: Fortran) هي لغة برمجةمتعددة الاستخدام واختصار لكلمتين في الإنجليزية معناها ترجمة المعادلات (FORmula
TRANslation)في عام 1954 خرج جون باكوس John Backus مع مجموعة من شركة IBM بلغة الفورتران وكانت أولي لغات البرمجة ذوات المستوى العالي وتستخدم أساسا في التحليلات العدديةوفي الحوسبة العلمية.وتتميز هذه اللغة بالبساطة والإيجاز ولقد ظهرت العديد من صور تلك
اللغة آخرها Fortran 2003. تحتوي آخر إصدارات للغة الفورتران علي مجموعة من الأوامر
التي تفسر نفسها بنفسها مثل أقرأ READ وأكتب WRITE وإذهب إلي GO
TO وتوقفSTOP وتنفذ برامج الفورتران تبعا لتسلسل الجمل بها. ولكن تكمن
صعوبتها في تحديد الخطأ عند حدوثه حيث من يستوجب عليك تتبع الكود من اوله مما يزيد
الامر صعوبة.
مثال
program
average
! Read in some numbers and take the
average
! As written, if there are no data
points, an average of zero is returned
! While this may not be desired
behavior, it keeps this example simple
implicit
none
real, dimension(:), allocatable ::
points
integer
:: number_of_points
real
:: average_points=0., positive_average=0.,
negative_average=0.
write (*,*) "Input number of points to
average:"
read (*,*)
number_of_points
allocate
(points(number_of_points))
write (*,*) "Enter the points to
average:"
read (*,*) points
! Take the average by summing points
and dividing by number_of_points
if (number_of_points > 0)
average_points = sum(points) / number_of_points
! Now form average over positive and
negative points only
if (count(points> 0.) > 0)
then
positive_average =
sum(points, points > 0.) / count(points > 0.)
end if
if (count(points< 0.) > 0)
then
negative_average =
sum(points, points < 0.) / count(points < 0.)
end if
deallocate
(points)
! Print result to
terminal
write (*,'(a,g12.4)') 'Average = ',
average_points
write (*,'(a,g12.4)') 'Average of
positive points = ', positive_average
write (*,'(a,g12.4)') 'Average of
negative points = ', negative_average
end
program average
لغة البيسكBASIC LANGAUGE :
وهي اختصار للعبارة الإنجليزية Beginer's All Purpose Symbolic In
struction Code أي اللغة المتعدد الأغراض للمبتدئين، وتأتي كلمة BASIC التي تعني
الأساس لتحقيق المعنى نفسه، فهذه اللغة ونظراً لبساطة تعليماتها ومحدوديتها فإنها
تعد لغة مناسبة للتعلم من قبل المبتدئين في عالم الحاسب الآلي والبرمجة، وتستخدم
هذه اللغة في معظم الحاسبات الشخصية، مما يدل على الانتشار الواسع لها، وقد طورت
هذه اللغة في كلية Dartmouth عام 1963م من لدن John Demuy و Thomas Kurtz .
وتستخدم لغة Basic الحديثة في قطاع واسع . إذ تستخدم في مجال الأعمال
لقدرتها على التعامل مع الملفات، وكذا في العمليات الرياضية من قبل العلماء
والمهندسين لامتلاكها كثيراً من الوظائف للقيام بمثل تلك العمليات المعقدة .
لغة البيسيك (BASIC) هي لغة متعددة الأغراض للمبرمجين المبتدئين واسمها اختصار لـ"Beginners All
Purposes Symbolic Instruction Code".تم تطويرها سنة
1964 م وكانت تستند بشكل كبير على لغة الفورتران.
أكثر ما تميزت به لغة البيسيك هو سهولتها ويدين معظم المبرمجين
ببداياتهم إلى لغة بيسيك. اشتهرت بيسك بأنها لغة مُفسرَةوليست مترجمة ويعتقد الكثيرون أنها بدأت مفسرة ولم تتم كتابة مترجمات
لها إلا حديثا وذلك خطأ شائع لأن لغة بيسيك بدأت أساسا كلغة
مترجمة.
و قد تطورت لغة بيسيك كثيرا منذ بدايتها إلى اليوم وبعد أن كانت لغة
للمبتدئين وكتابة البرامج القصيرة أصبحت لغة احترافية يمكن استخدامها لكتابة برامج
تجارية معقدة وعالية المستوى.
و يعود السبب الأساسي لانتشار بيسيك الكبير إلى اعتمادها كلغة
الحواسيب المنزلية التي ازدهرت في الثمانينات. أما سبب تطورها واعتمادها كلغة
احترافية فيعود بالأساس إلى مايكروسوفت ومترجمها كويك بيسيكQuickBASIC الذي أدخل
البيسيك في مرحلة جديدة. وتطورت البيسيك بعد ذلك وكانت حجر الزاوية لمترجم Visual
Basic الذي يعد الآن من أكثر الطرق شعبية لكتابة برامج ويندوز.(إلا أنه ليس
أفضلها).
لغة باسكالPASCAL :
وسميت باسم العالم الفرنسي الرياضي الفذBlaise Pascal ، وصممت هذه
اللغة من قبل العالم السويسري Niklaus Wirth ، وطرحت عام 1971م، وقد انتشرت هذه
اللغة خصوصاً في الجامعات . إذ تدرس هذه في معظم جامعات العالم لطلاب علوم الحاسب،
وتمتاز لغة PASCAL بالسهولة، واختصار الكلمات فيها إلى حد كبير، وبنيتها التركيبية
وقوة البرامج الفرعية، واستخدام المؤشرات Pointers ، وقد ظهرت نسخ جديدة من Pascal
امتازت بتلافي العيوب في النسخ السابقة، ويعدTurboPascal من شركة Borland من
البرامج المستخدمة بكثرة بين المبتدئين والتخصصين في البرامج، وتنافس هذه اللغة لغة
Basic في كثرة المستخدمين لتوافر كثير من المميزات فيها، وتستخدم هذه اللغة من قبل
الطلاب والمهندسين، كما تستخدم في قطاع الأعمال
التجارية.
باسكال هي لغة برمجةمتعددة الاستخدام تعتمد على الأوامر. وهي معروفة بوضوحها وقوتها وسهولة إنشاء البرامج
عن طريقها. وهو ما يجعل من باسكال اللغة البرمجية الأكثر استعمالا في
التدريس حتى وقت قريب.
و بالإضافة إلى سهولتها وقوتها، تمتاز لغة باسكال بعدة قواسم مشتركة
مع لغة الـسي.غير أن باسكال كان قد صمم في البداية لأسباب تعليمية بحتة وكان
مقتصرا على خاصيّات محدودة جدا (فعلى سبيل المثال لم يكون هناك وجود لسلاسل
الأحرف)؛ وبالإضافة لكل ذلك فإن كل النسخ المستعملة لباسكال خارج العالم التعليمي
هي نسخ معدلة مثل تربو باسكال، دلفي، أوبجكت باسكال.
و في المقابل، فإنه من المعروف أن باسكال فد مكّن من تصميم برامج
شهيرة مثل تخ وجزء من أوائل أنظمة التشغيلالخاصة بماكينتوش. وقد تم اقتباس هذه اللغة في لغات أخرى مثل أدا، مودولا-2 (ثم مودولا-3)، أوبرتون.
اختُرِعت لغة باسكال (التي اتخذت اسمها من عالم الرياضيات
الفرنسي (بليز باسكال)عن طريق نيكولاس ويرذ خلال السبعينيات من القرن العشرين. وقد تم تصميمها لتفيد في تعليم
البرمجة بطريقة سهلة ولكن صحيحة، في محاولة لمجابهة تعقيدات ألغول 68. وهذه اللغة من بين اللغات التي ساعدت على تعليم البرمجة المنظمة. وباعتبار أنه من غير المنصوح به استعمال الـ goto أو القفز داخل البرنامج فإن باسكال يعتمد على الشروط (if,
case...) والتكرارات (while, for, repeat...) والتي
تمتلك كل واحدة منها مدخلا ومخرجا حتى يتم تسهيل التحكم، مما يؤدي إلى برنامج أكثر
سرعة وتنظيما.
وتعد هذه اللغة كذلك صارمة في ما يخص تعريف المتغيرات، بمعنى أن كل
متغير يجب أن يعرف بنزع عند التجميع. وفي المقابل فإن عدم تأقلمه لتمكين التنقل من
النوع حرف إلى النوع سلسلة حروف يعد من نقاط ضعفه.
وقد تمكنت لغة باسكال من التغليل بشكل كبير في الميدان التعليمي ومجال
الأبحاث (الجامعات)، وبصفة أقل في المبدان الصناعي.
وقد تم نشر ملفات المجمع P4 المصدرية في الجامعات، بسعر مخفض جدا.
وهذا المجمع ينشئ الـ P-Code، وهو كود لجهاز افتراضي. ولذلك يمكن القول أن البرامج"الباسكالية"
كانت سهلة النقل على الأجهزة.
وكان لمجمع UCSD Pascal (UCSD = University of California at San
Diego)، نجاح كبير خاصة على الأجهزة من نوع أبل II والتي كانت شديدة الانتشار.
و لكن "التوربو" كان من عمل شركة بورلاند الحديثة، والتي أنشأت سنة 1983 والتي قامت بتسويق المجمع توربو باسكال بسعر غاية في التخفيض (49 $ حينها مقابل 500 $ سعر مجمع باسكال من
شركة مايكروسوفت والذي لم يكن يمتلك محررا مدمجا حتى).
قام بكتابة تربو باسكال أنديرس هيلزبيرغ (و قد كان اسمه قبل TP، كومباس باسكال ثم بولي باسكال). وقد كان ينشئ
لغة الآلة (x86 تحت DOS) وبسرعة نظرا لخفته (12 ك.ب.) واعتماده شبه التام على الرام ولم يعد
ينشئ بالتالي الـ P-Code. و قد كان مرفقا مع بيئة متكاملة(محرر نصوص ومساعدة عن
بعد). وما فتئ الباسكال يشهد التحسين تلو الآخر ففي عام1987 ظهرت النسخة 4 التي
احتوت على بيئة برمجة مدمجة متكاملة وفي عام 1989 ظهرت النسخة 5.5 التي امتازت
بدمجها لمفهوم الشيء (Object)، وفي عام 1990، مكنت النسخة6 من برمجة نوافذ (تحت
صندوق الأوامر DOS). ثم في عام 1993، ظهرت آخر نسخة، وهي النسخة السابعة لنظام
تشغيل دوس ولنظام ويندوز. و قد أصدرت شركة بورلاند سنة 1995لغة دلفي للتأقلم مع
البرمجة المرئية التي أطلقتها مايكروسوفت مع فيجوال ستوديو وكان الدلفي مجمعا
حقيقيا ينشئ لغة الآلة. و في سنة 2001 أطلقت شركة بورلاند كيليكس، وهو المرادف لدلفي الخاص بمنظومة لينوكس وكان بسكال يعمل بلغة الالة
التي كانت منذ عام 1962 وكانت هذة اللغة هي (الاسمبلى) ونجد اننا نحن عاجزين على
معرفة ودراسة هذة اللغة أو نقوم باختراع لغة أخرى شبيهة بلغة الالة فيجب علينا ان
ندرس هذة اللغة لأولادنا في المدارس كى يكونو على دراية بالجوانب الخاصة بالبرمجيات
والسوفت وير حتى يقودو المستقبل بالعلم الحديث.
بعد توقف تيربو باسكال عن الإنتاج والانتقال إلى الدلفي قام فريق
فري باسكالبإنتاج بديل لتيربو باسكال مجاني مفتوح المصدر منافس للغة السي++ وهو
متوافق مع لغة دلفي ويوجد في عدد كبير من المنصات مثل لينكس، وندوز، ماكنتوش، وآرم،
وغيرها الكثير. وقد صدر الإصدار الأول منه في منتصف عام 2000، والإصدار الأخير منه
الآن هو 2.4 وتوجد له بيئة متكاملة توجد في عدد من المنصات تسمى لازاراس وهي مصممة
بواسطة فري باسكال نفسه، وهي مشابهة لبيئة تطوير دلفي 7 إلا أنها ما زالت في حالة
التطوير ولم تصل بعد إلى نسخة رقم 1. آخر نسخة رسمية من لازاراس هي: 0.9.28. ويوجد
عدد كبير من البرامج تم تطويرها باستخدام لازاراس وفري باسكال حتى قبل صدور النسخة
رقم 1 من لازاراس.
مثال
Program
HelloWorld(output);
begin
writeLn('Hello,
World!');
end.
- برنامج جدول الضرب :
program
MultiplicationTable;
{$APPTYPE
CONSOLE}
uses
SysUtils;
var
X, I:
Integer;
begin
Write('Please input a number:
');
Readln(X);
for I = 1 to 12 do
Writeln(X، ' * ', I، ' = ', x * i);
end.
- برنامج المضروب:
program
Factorial;
{$APPTYPE
CONSOLE}
uses
SysUtils;
var
Num, i:
Integer;
Fac:
Integer;
begin
Write('Please enter a number:
');
Readln(Num);
Fac = 1;
for I = Num downto 2
do
Fac = Fac *
I;
Writeln('Factorial of ', Num, ' is ',
Fac);
end.
لغة سي C :
طورت هذه اللغة في معامل Bell من قبل Dennis Ritchie وهي تطوير لنسخة
قديمه تسمى B من لغة BCPL التي ظهرت عام 1969م . لذا سميت هذه النسخة اللاحقة
بـ
وتشتهر لغة C باستخدامها كلغة برمجة نظمsystem software حيث تستخدم
لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة، وتشبه إلى حد كبير لغة
التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مخجموعة جيدة من التعليمات،
كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة C
من اللغات التركيبية Structured Language .
وازداد اهتمام محترفي البرمجة بلغة
الـC ، والنسخ المحسنة منها C+ , C++ . إذ إن معظم التطبيقات تكتب
بها.
سي هي لغة برمجة، مقننة وعالمية، صممها وطوّرها في أوائل السبعينيات كن تومسون، براين كرنيغان، ودينيس رتشي. و قد صممت في الأصل لتستعمل في تطوير والعمل تحت نظام التشغيل
يونكس، ثم لقيت انتشارا واسعا منذ ذلك الحين وتواصل إلى اليوم ويظهر ذلك من
خلال شعبيته لدى أغلب مبرمجي الحاسوب ومن خلال استعمالاته العديدة والمتنوعة. و لغة
السي هي لغة بنيت عليها عديد من اللغات الحديثة مثل ال سي بلس بلسوالجافا
تم تصميم السي في مختبرات بيل ما بين 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. و بتقنين اللغة تمت إضافة أجزاء وتنقيح أخرى لتفادي السلبيات التي
ظهرت في السابق ولتهيئة أداة أفضل وأقوى بالنسبة للمبرمج
و لولا ظهور لغة السي وتجربتها التي فاقت الثلاثين سنة لما كان ممكنا
ظهور اللغات الحديثة والشيئية مثل السي بلس بلس أو على الأقل لما أصبحت كما تعرف عليه اليوم أسس تطويرها كل من شركة
مايكروسوفت وشركة اي بي ام معاً ولذالت الاساسيات العامه لأسلوب كتابتها يستخدم
للآن وفي العديد من اللغات المتطورة والمنشأة من خلالها حتي اخر لغات السي وهي لغة
السي شارب والتي تعتبر احدث التطويرات للغة السي ويوجد اصدارات عديده منها بدأ من
سنة 2001 حتي اصدار 2010
لغات الجيل الرابع : Fourth-Generation language (4GL)
:
سميت بهذا الاسم نسبة إلى الجيل التي ظهرت فيه، مثل هذه اللغات التي
تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ، فما كان يتطلب مئات
الأسطر من لغة بيسك أو الآلاف من لغة كوبول باستخدام عدد بسيط من الأسطر في هذه
اللغات
تمتاز هذه اللغات بعدة مزايا
1ــ إنها لغة موجهة للنتائج أي إن المبرمج يهتم بطلب ما يريده من
الكمبيوتر، دون أن يوجهه لكيفية القيام بذلك
2ــ زادت من الإنتاجية؛ لأن كتابة البرامج وصيانتها أكثر سهولة .
3ــ سهلة الاستخدام، وتتطلب قليلاً من التدريب على استخدامها، سواء
كان للبرمجة أو غيرها
4ــ لم يعد المستخدم بحاجة إلى التفكير في الأجهزة أو هيكلية البرنامج
.
وقد بدأت لغات الجيل الرابع بالانتشار بين المبرمجين، وبشكل كبير جداً
لما توفره لغات البرمجة هذه من سهولة في معاملة الملفات، وربط هذه الملفات بعضها مع
بعض بغرض التحديث أو طباعة التقارير
كما توفر هذه اللغات قوة في المشاركة في الموارد البرمجية وخصوصاً
الملفات، ومن أمثال هذه اللغات لغة Dbase من Borland ، ولغة Foxpro من Microsoft ،
و Oracle من Ingress، وتستخدم لغة الاستفسار المهيكلةSQL Structured Query Language
في عمليات بناء قواعد المعلومات وتحديثها، وتوفير الحماية اللازمة لها
ما هي SQL ؟
SQL هي اختصار للعبارة الإنجليزية Structured Query Language أي لغة
الاستفسار المهيكلة، وهي عبارة عن مجموعة من التعليمات القريبة من اللغة الطبيعية
التي توجه نظام إدارة قواعد البيانات DBMS للقيام بعمليات بناء قواعد البيانات،
وتحديثها والبحث فيها، وعمل قواعد الحماية للبيانات.
وتمتاز لغة الاستفسار SQL بالآتي :
1ــ لغة قريبة من اللغة الطبيعية
2ــ تستطيع الحصول على
أية بيانات من قاعدة البيانات . إذ يمكن الحصول على بيانات ملف كامل أو بعض الحقول
من ملف أو مجموعة ملفات .
3ــ يهتم المستخدم بتعريف احتياجه What you want، ولا يهتم بكيفية
الحصول على أو من أين ؟ How or Where? .
اللغات الطبيعية Natural Language أو لغات الجيل الخامس
:
ويقصد بها لغة الإنسان أي إيجاد لغة مبرمجة نستطيع بها توجيه الحاسب
للقيام بما نريد من أعمال، وذلك باستخدام التعبيرات الشائعة ((اطبع تقريراً يحوي
اسم الطالب والدرجة))،فالمستخدم ما عليه سوى طباعة الأمر أو إملائه للحاسب الذي
يلبي الطلب .
فالمستخدم يستطيع إملاء النص وكتابته بعبارات متعدد تحمل المعنى نفسه،
كأن يقول ((اطبع الاسم والدرجة لجميع الطلاب)) أو ((اطبع اسم الطالب ودرجة الاختبار
للجميع))، فالطلبان لهما المعنى نفسه، وإن اختلفا في الصياغة، فلغات البرمجة هذه
قادرة على فهم تراكيب الجمل المختلفة، وإن اختلفت اللهجات أو كان هناك أخطاء لغوية،
وإذا لم يفهم الحاسب المقصود يقوم بتقديم أسئلة لمزيد من الوضوح والوصول إلى الهدف
.
والأبحاث في مجال اللغات الطبيعية هو من المجالات التي يبحثها علم
الذكاء الاصطناعي . A.I إذ إن فهم اللغة الطبيعية يحتاج إلى كثير من الخبرات
والعلاقات في ربط الجمل وتحليل كل جملة لاستنتاج المعنى الصحيح، ومن ثم تقديم رد
الفعل المناسب .
لغات الإنترنت :
لغة HTML :
وهي إحدى اللغات المستخدمة لإنشاء صفحات الويب www .
إن
(Hypertext Morkup Language) عبارة عن لغة تحوي مجموعة من الأوامر تؤدي إلى تكوين
صفحات الويب، إن إنشاء صفحة بواسطة تركيبة Ascii على منسق الكلمات يمكن أن تحول إلى
صفحة على الويب بإضافة بعض أوامر Html .
إن أوامر Html تمكن المستخدم من تنفيذ عدد من العمليات على صفحات
الويب منها :
ـــ تحديد حجم النص وطريقة عرضه .
ـــ إنشاء الروابط مع الوثائق والمستندات الأخرى .
ـــ إنشاء نماذج تفاعلية مع الصفحة .
ـــ توفير الدعم للوسائط المتعددة كالفيديو والصوت والصورة .
إلى أنها تعمل على أنظمة تشغيل متعددة مثل لينكس
وويندوز.
في اتش بي (بالإنجليزية: PHP: Hypertext Preprocessor) هي لغة نصية (لغة سكريبت) برمجية صُممت أساساً من أجل استخدامها لتطوير وبرمجة تطبيقات الوِب.كما يمكن استخدامها لإنتاج برامج قائمة بذاتها وليس لها علاقة بالوب
فقط.
بي اتش بي لغة مفتوحة المصدر يتم يطورها فريق من المتطوعين تحت رخصة PHP، تدعم البرمجة كائنية التوجه وتركيبها النحوي يشبه كثيراً التركيب النحوي للغة السي هذا بالإضافة ظهرت phpأولاً في سنة 1995 على يد راسموس ليدروف (Rasmus Lerdorf) كانت تسمى وقتها بـ PHP/FI وفي الحقيقة لم تكن لغة
برمجه وقتها وانما كانت مجموعه من التطبيقات التي كُتبت باستخدام لغة Perl أطلق راسموس اسم Personal Home Page Tools على هذه التطبيقات، لانه
احتاج فيما بعد إلى تطبيقات أكثر فائده قام راسموس بكتابة تطبيق أكبر باستخدام لغة
Cحيث أصبحت قادرة على الاتصال بقواعد البيانات كما أنها كانت تسمح
للمستخدمين تطوير تطبيقات مواقع ديناميكيه بسيطه، اختار راسموس ان تكون الشيفرة
المصدريه الخاصة بـPHP/FI متوفره للجميع لذا كان يمكن لأي شخص ان يستخدمها ويقوم
بتحسينها والمشاركة في حل اخطاءها ومشاكلها.
كانت PHP/FI وقتها تحوي على بعض الوظائف المتوفرة بالإصدارات الحاليه
من اللغه، كما أن المتغيرات كانت تشبه متغيرات Perl، وكانت تركيبها النحوي يشبه Perl بالرغم من بساطتها ومحدودياتها.
في عام 1997 تم إطلاق الإصدار 2.0 من PHP/FI، حيث بلغ عدد مستخدميها آنذاك 50,000
نطاق، وكان هناك مجموعه من الأشخاص الذين يشاركون في التطوير، وتم الإطلاق الإصدار
الرسمي من 2.0في شهر نوفمبر من نفس العام بعد العديد من الإصدارات التجريبيه بيتا.
في عام 1997 تم إعادة كتابة PHP/FI على يد Zeev Suraskiوأندي جتمانز بعدما وجدوا ان PHP/FI 2.0 ليست قويه بما فيه الكفايه من أجل كتابة تطبيق تجاره إلكترونية والذي
كانوا يعملون عليه كـ مشروع تخرّج لجامعتهم، كان هناك تعاون بينهم وبين مؤسس اللغه
Rasmus Lerdorf على ان تكون PHP 3.0 هي النسخة الرسميه بعد PHP/FI.
أحد أهم الميزات التي تميزت بها PHP 3 عن سابقتها انها أصبحت قابله للتوسّع وتوّفر مع هذا الإصدار العديد من
المكتبات والدوال، وادّت قابلية التوسّع إلى إقبال العديد من المطورين على تطوير
المكتبات الجديدة واضافتها مع اللغه، ويقال ان هذا هو السبب الأساسي للنجاح الذي
حققه هذا الإصدار، ومن الميزات الأخرى التي تم اضافتها في هذا الإصدار هي البرمجة
كائنية التوجة OOP.
و في هذا الإصدار تم تغيير اسم اللغه ووضعها تحت اسم جديد
وهو PHP (بدون FI) والذي كان يحمل اختصاراً لمعنى جديد مختلف عن الإصدار السابق والمعنى
هو "PHP: Hypertext
Preprocessor".
تم إطلاق PHP 3.0 في يونيو 1998 بعد 9 أشهر من الاختبارات.
في عام 1998، وبعد الانطلاق الرسمي لـPHP 3.0 بقليل بدأ Zeev SuraskiوAndi
Gutmans بإعادة كتابة أساس لغة PHP وكان الهدف من ذلك هو تحسين الأداء للبرامج المُعقدة والضخمة وتحسين
قابلية اللغه للتوسّع.
المحرك الجديد الذي ظهر بعد إعادة الكتاب تم تسميته بـ محرك ZEND واسم ZEND مأخود من أوائل حروف أسماء مطوريه، ونجحوا في تحقيق اهدافهم عن طريق
هذا المحرّك، وتم الإعلان عنه في عام 1999.
تعتمد PHP 4.0 على هذا المحرك وتم الإعلان عن هذا الإصدار منPHP في مايو 2000، بالإضافه إلى تحسين الأداء في هذا الإصدار
احتوى كذلك على مجموعه جديده من الميزات مثل دعمه لعدد أكبر من خوادم الوِب، الجلسات، طرق آمنه جديده لمعالجة دخل المستخدم وغيرها.
وقد تم إعلان إيقاف تطوير ودعم PHP 4 في 13 يوليو، 2007
غالباً ما تعمل لغة بي إتش بي على خادم وِب، كما يمكن استخدامها كـ واجهة سطر اوامر أو استخدامها لتطوير برامج ذات واجهه رسوميه تعمل على حاسوب المستخدم، يمكن استخدام بي اتش بي تحت معظم خوادم الوِب كما أنها تعمل على معظم نظم التشغيل، كما أن فريق تطويرها يزوّد شيفرتها المصدريه كامله حيث يمكن
للمستخدمين بناءها وتطويرها بما يناسب احتياجاتهم.
تقوم بي اتش بي أساساً بأخذ الملف الذي يحتوي على اوامر البي اتش بي
(ملفات.php) كـ مُدخل وتقوم بإخراج بيانات قابله للعرض.
في الإصدار الرابع من بي اتش بي، تقوم بتحويل الملفات المكتوبة
باستخدام البي اتش بي إلى bytecode لمعالجتها عن طريق محرك ZEND,وفي الاصدار الخامس تقدمت لغة ال php بتقنيات عالية جدا وكان اخر اصدار من النسخة الخامسة هو
5.3.8
في الحقيقة صُممت بي اتش بي من أجل استخدامها من ناحية الخادم وبناء
تطبيقات وِب تفاعليه، وقد أصبح بناء LAMP مشهوراً جداً في صناعة الوِب كطريقة برمجيات وِب آمنة، غير مكلفة،
ويمكن الاعتماد عليها. بي إتش بي مشار إليها كحرف P في LAMP كـ لغة برمجه، بجانب لينكس (L) كـ نظام تشغيل، اباتشي (A) كـ خادم وِب وماي اس كيو ال (M) كـ نظام إدارة قواعد بيانات. وقد ظهرت أيضاً بناءات أخرى ك WAMP مستبدلة لينكس بـ ويندوز (W)، وMAMP مستبدلهلينكس بـ ماك أو اس (M).
يمكن استخدام بي إتش بي مع عدد كبير من أنظمة إدارة قواعد البيانات، وبما انها متوفرة على عدد من نظم التشغيل جعل لها مرونة مكنت بي إتش بي من الانتشار.
تُوفر بي اتش بي كذلك واجهة سطر اوامر، لذا يمكن استخدامها لتطوير مجموعه من البرامج التي تسهّل المهام
الإداريه لمدراء النُظم.
تُوفر بي اتش بي مكتبات واجهات مستخدم رسوميه مثلGTK (عن طريق PHP-GTK) وQt (عن طريق PHP-Qt) مما يجعل تطوير البرامج غير المتعلقة بالوِب امراً
مُمكناً.
لغة جافا Java :
وهي من اللغات المستخدمة للانترنت ولصفحات الويب في www وتهدف لغة
البرمجة هذه إلى إضافة الحيوية إلى صفحات الويب عبر النصوص المتحركة والرسوم التي
تتحرك بشكل تفاعلي والوسائط المتعددة .
ولغة جافا طورت من قبل شركة Sun
Microsystems على غرار لغة C++ وتقوم الوثائق المنشئة بلغة الترميز النصي Html
باستدعاء برامج جافا كما يكن تشغيلها بصورة منفردة .
جافا سكريبت (بالإنجليزية: JavaScript) هي لغة برمجة وتأتي كلمة جافا من الإنجليزية وتعني جزيرة جاوة وهي جزيرة
إندونيسية، ولا علاقة لمنشأ اللغة باسمها. طورت جافاسكريبت من قبل شركة نيتسكيب (بالإنجليزية: Netscape) وصن مايكروسيستمز (بالإنجليزية: Sun Microsystems). تختلف الجافا سكريبت عن لغة الجافا من شركة
صن مايكروسيستمز والتشابه في الاسم لا يرجع لأنهما مثل بعضهما، وفائدة هذه اللغة هي
بثّ الحياة إلى شبكة الإنترنت، حيث تستخدم لإنشاء صفحات إنترنت أكثر تفاعلية
(ديناميكية).
يوجد نمطين للغة جافا سكريبت من حيث التنفيذ لدى العميل ولدى الخادم،
الأول يقوم بتحميل الكود مع صفحة HTML ومن ثم تصبح العمليات التي يطلبها المستخدم
تنفذ على جهازه أي ضمن المتصفح الخاص به والثانية تجبر المتصفح على الاتصال مع
الخادم من أجل تنفيذ الأوامر وإعطاء النتيجة إلى العميل ليقوم بعرضها. ويعيب الأولى
بطء تحميل الصفحة للمرة الأولى ومن ثم سرعة التنفيذ أثناء الجلسة ولكن الثانية
تتميز بسرعة التحميل للمرة الأولى والبطئ في الاستجابة بسبب عملية الاتصال مع
المخدم لدى كل طلب من الزبون
تزايد الاهتمام بالجافاسكريبت خاصة بعد انتشار تقنية الاجاكس AJAX والتي أدت إلى سرعة في التفاعل مع
المستخدم.
وقد أنشئت هذه اللغة لتعمل بالكامل من خلال المتصفح، لذلك فلا يمكن
استخدامها لإنتاج برامج تعمل وحدها دون المتصفح، وهي في ذلك مثلها مثل لغات الشبكة
الأخرى كـ HTML وغيرهما.
في الاونة الأخيرة مع إطلاق وندوز 8 أصبح بإمكان المطورين برمجة
تطبيقات Metro Style App بواسطة الجافاسكربت والـ HTML5بدمجها مع واجهة برمجة
التطبيقات الجديدة WinRT إلا انها لا تنفذ على متصفحات الويب وتعمل كتطبيقات
Standalone تحت نظام Windows8 والأجهزة المتوافقة معه.
الكائنات Objects مثلا هي الصور والأزرار والصفحات والبيانات وكل ما في ذاكرة الحاسب من
أشياء يتم التعامل معها كأنها كائنات. وكل كائن له خصائص تميزه وطرق (Methods) ووظائف (Functions) تستخدم للتعامل مع كل كائن للقيام بالوظائف الخاصة به.
تعتبر كذاكرات تحفظ قيما وتحمل اسما معينا ويمكن استرجاع القيمة أو
تعديلها أئناء التشغيل الفعلي للكود (Run time)، كما أنه في لغة جافاسكربت يمكن تعديل نوع
البيانات (Data Type) المخزنة في هذا المتغير أيضا أثناء التشغيل الفعلي للكود وتسمى هذه
الخاصية تغيير النوع التفاعلي (Dynamic typing). و تقوم بأنشائ المتغيرات عن طريق هذا الكود:: var nameOfVariable;
و تسمى أيضا وظائف.
وهي تجمع عدة تعليمات (Instructions) تحت اسم مرجعي واحد. فمثلا لطلب أن يقوم المتصفح بإظهار رسالة معينة
للمستخدم ثم تلقي الإجابة منه نقوم بجمع هذه التعليمات في دالة (وظيفة) واحدة،
وكلما تطلب الأمر تنفيذ نفس التعليمات السابقة نقوم باستخدام هذه الدالة فورا دون
الحاجة لكتابة التعليمات مرة أخرى.
مكن من تنفيذ مجموعة تعليمات بطريقة تكرارية أو دورية.
ومنها:
·
تكرارية for
·
تكرارية while
·
تكرارية do while
·
تكرارية case
·
تكرارية foreach
الشرطيات
مجموعة تعليمات تنفذ في حالة تحقق شرط معين.
ومنها:
·
شرطية if
·
شرطية switch
كن دعم جافا سكربت ضمن صفحة HTM لإنشاء دوال تفاعلية مع الصفحة وهذا ما تستخدمه العديد من الشركات
امثال ياهوو وهوتميل.هنا مثال بسيط لصفحة وب محتوية على كود جافا سكربت: ايميز استخدام هذه اللغة في الوب هو مرونتها
حتى في إعادة تعريف الدوال والمتغيرات بأحرف مرمزة بلغة أخرى مثل العربية وأبرز
مثال هو برنامج المعالج الرياضي (حاول فتح الارتباط في صفحة جديدة كي لاتفقد هذه الصفحة! كما يجب أن
يكون الترميز لديك هو العربية) الذي تم انشاؤه في إحدى صفحات Freewebs.com
المجانية. مع انه لايفضل استخدام لغات غير الإنكليزية إلا أن الغرض هو اظهار مرونة
هذه اللغة ووتبسيط الدوال للطلبة الناشئين (التي لاتسمح أعمارهم بفهم الدوال
بـالانكليزية).
فمثلا يمكن إعادة تعريف دوال الجيب وجيب التمام الموجودة اصلا في
مكتبة الجافا سكربت بالكلمات sin و cos لتصبح بالعربية جا وجتا كما
يلي:
= sin;جا
.
=
cos; جتا
وبالتالي إعادة استخدام الدوال في البرنامج كما في المثال
التالي:
جا(1)-3/2*جتا(1-جا(1.2));
المراجع
محمد شيخومعمو.2010.فيجوال بيسك للمبتدئ. الجزء الثاني. دار شعاع للنشر
والتوزيع.
المرجع الكامل في لغهMQL4.2012. .MetaQuotes Software
أحمد معتوقي.2010.تطوير البرامج باستخدام C# 4.0. دار شعاع للنشر
والتوزيع.
محمد شيخو معمو.2009.أسس اختبار البرمجيات.درا
شعاع.
بشير على القايد.2011 .اساسيات البرمجة.ط2.دار
الحكمة.
تطور لغات البرمجة وظهور البرمجة المرئية - إعداد الطالبة: عبير أحمد يونس - 30 مارس 2012
تطور لغات البرمجة وظهور البرمجة المرئية
تطورت برمجيات الحاسوب عبر السنوات الماضية بشكل كبير من لغة الآلة المعتمدة على الأرقام الثنائية (0,1) والتي كانت تشكل صعوبة للمستخدم في فهمها ولكنها سهلة الفهم للحاسب. فمنذ الأيام الأولى لظهور الحاسب, بدأ المبرمجون بالتفكير في إنتاج برمجيات تسهل عليهم التعامل معه, ونجم عن ذلك ظهور لغات البرمجة الراقية مثل لغة فورتران وكوبول وبيسك لتحل محل لغات البرمجة المتدنية مثل لغة التجميع (Assembly).
ثم بدأ التفكير بتطوير هذه اللغات لتقدم للمبرمجين طرقاً أسهل وأقوى من شأنها أن توفر الكثير من وقت البرمجة, فظهرت لغات البرمجة المرئية
(Visual Programming Language) [1].
تعريف البرمجة المرئية:
وهي عبارة عن أسلوب حديث نسبياً للبرمجة, تستخدم فيه برامج مساعدة لتصميم واجهة استخدام رسومية (الأزرار والنصوص...) وربطها بالشيفرة البرمجية (Code), وتسمى هذه البرامج المساعدة ببيئة التطوير المتكاملة ويستخدم هذا النوع من البرمجة تعبيرات مرئية (Visual Expression) في عملية البرمجة بحيث تدعم التفاعل المرئي بين المستخدم والحاسوب [2].
من أشهر بيئات التطوير الرسومية:
Visual C++, Visual J++, Visual Basic, Visual Basic.Net, Delphi, Java Builder… وغيرها الكثير, وتستخدم هذه البرامج نسخاً محسنة من لغا تالبرمجة العادية وتدمجها في بيئة التطوير الخاصة بها, لذلك فإن دلفي مثلاً هي بيئة تطوير تستخدم نسخة محسنة من باسكال تتميز باستخدام الكينونات (Objects) وميزات أخرى.
من أهم مزايا البرمجة المرئية:
· أفكار البرمجة فيها أقل من غيرها.
· التماسك الكبير بين أجزائها.
· العلاقة بين أجزائها تظهر بشكل واضح.
· مشاهدة النتائج المرئية بشكل فوري وسريع.
· لا يشترط تصور البرامج فيها بشكل متسلسل.
· يمكن الاستغناء عن خطوات أو مراحل وسطية.
· اهتمام أقل بالأمور القواعدية.
· هيكلة البرامج قابلة للاستعراض (Navigatable).
· يمكن تنفيذ أجزاء محددة من البرامج.
· وجود مكونات قابلة لإعادة الاستخدام, حيث تدمج مع غيرها لإنتاج نظام تطبيقي كامل.
سلبيات البرمجة المرئية:
· حاجة البرنامج لمساحة كبيرة لعرض أجزائها الرسومية.
· وجود إشكالية في المسميات لبعض الأجزاء الرسومية كأن نختار في تسمية الجزء
(Stop) على أنه إجراء (Action) أمر بالتوقف, أو أنه كائن (Object) لإشارة التوقف.
تصنيف لغات البرمجة المرئية:
أ- اللغات المستندة إلى النماذج
(Form- Based): يستخدم في التعامل مع الجدال الالكترونية, وتستخدم للتأثير على مجموعة من الخلايا المترابطة, ومثال ذلك لغة Forms/3.
ب- اللغات الخليطه النصية
(Textual) والمرئية (Visual): تمزج بين النص والصورة, ومثال ذلك لغة C Reaheresal World, C++.
ج- لغات البرمجة بالمثال
(Programming by Example): من خلالها يزود المستخدم النظام بكيفية أو آلية أداء مهمة محددة, ومثال ذلك Rehearsal World , ولغة Pygmalion.
د- لغات البرمجة المرئية البحتة أو الكاملة
(Pure Visual): يدعم هذا النوع من اللغات عملية البرمجة بالصور بشكل كامل, مثال ذلك برمجيات (Lab View, Prograph, PICT/D Cube). والبرنامج هنا ينتج كاملاً من خلال معالجة الأيقونات ورسومات أخرى, وتتم ترجمته مباشرة من خلال التمثيل المرئي, ويرتبط بها هنا مصطلح ( الرسوم التنفيذية).
يمكن القول بأن لغات مثل (Visual Basic, Visual C++) لا تعتبران في الأغلب بأنها لغات نصية معرفة ومنظمة بشكل جيد, تدعم الرسومات وتستخدم واجهة رسومية لتنتج برمجة منسقة ومريحة للمبرمج والمستخدم.
بعض من لغات البرمجة المرئية:
لغة دلفي:Delphi
هي لغة برمجة كانت من إنتاج شركة بورلاند سابقا وتطورها الآن شركة (Embarcadero Technologies).بنيت هذه اللغة على لغة باسكال الكائنية حيث تعتبر تطويراً للغة باسكال القديمة, وهي لغة شائعة ومنتشرة حيث أنها لغة مرئية وهي من اللغات العالية الإنتاجية. وتعتبر من اللغات القوية والسهلة معا.
تاريخها:
تم إنشاء هذه اللغة في سنة 1995م, وقد كانت تعرف قبل إطلاقها (AppBuilder). حيث كان يجري تطويره كمشروع سري في شركة بورلاند وعندما أطلقت Novell لأول مرة (Visual Appbuilder) في حينها تخلت بورلاند عن تطوير التطبيق. وقد اختار داني ثورب (Danny Thorpe) اسم رمز المشروع بدلفي في الوقت الذي كانت أوراكل المصدر الرئيسي للبيانات وجدول الأعمال الرئيسي لدلفي لخلق التواصل بين المبرمجين. وقد سميت بذلك بعد ما نشر مقال في صحيفة Windows Tech Journal عن مسمى المنتج الذي سيغير حياة المبرمجين. واعتبر اندرسون هجلبيرغ (Anders Hejleberg) المهندس الرئيسي للغة دلفي [5] [6].
خصائصها [6] [7] [9]:
· أدوات البرمجة المرئية : حيث تحتوي على أدوات تجعل البرمجة المرئية سهلة في بيئة ويندوز.
· ترجمة الشيفرات: تعتبر ترجمة الشيفرات للغة برمجة دلفي سريعة.
· كائنية المنحنى: تحافظ على الكائنات البسيطة ومنظمة, ومحمية.
· إمكانية تشغيل برنامج دلفي على نظامي ويندوز ولينكس لاحتوائها على دوال داخلية.
· تساعد في تطوير التطبيقات السريعة فهي تعتبر أسرع أداة تطوير برامج تحت بيئة الويندوز
(Rapid Application Development, RAD).
· بالرغم من أنها من لغات البرمجة العالية النابعة من باسكال إلا أنها تدعم لغات البرمجة المتدنية.
· توفرها على أدوات تسمى بـ
(Visual Component Library, VCL)
وهي تحوي على قاعدة بيانات بحيث تسهل الوصول لكم هائل من الأدوات بحيث لا نحتاج لتزيل أدوات أخرى.
· المصفوفات في دلفي هي ليست أساليب فقط وإنما بإمكانها أن تكون مجردة
(Abstract).
· تسمح بالعديد من الدوال والمشغلات بأن تكون مثقلة من خلال السجل البياني.
· الدعم الكامل للواجهات وهو ما يسمى بـ
Full Support Interfaces.
إصداراتها [8]:
· هناك نسختان من هذه اللغة، النسخة الأولى خاصة بنظام التشغيل مايكروسوفت ويندوز وهي دلفي، والثانية خاصة بنظام التشغيل لينكس تم إنشاؤها عام 2001 وتحمل الاسم كايليكس (Borland Kylix) وقد تم إصدار دلفي للعمل تحت إطار عمل .Net ومنها النسختين Delphi. Net8, Delphi .Net9
أحدث إصداراتها الحالية:
Delphi XE2 Starter
Delphi XE2 Professional
Delphi XE2 Enterprise
Delphi XE2 Ultimate
Delphi XE2 Architect
لغة الفيجوال بيسك:Visual Basic
لغة الفيجوال بيسك هي من لغات البرمجة العالية المستوى تسند إلى البيسك. وهي لغة ذات واجهة رسومية بحيث تتيح للمستخدم التعامل مع التطبيقات المختلفة بطريقة تفاعلية وسهلة الاستخدام. تقدم الفيجوال بيسك بيئة تطويرية متكاملة تسمى (IDE) Integrated Development Environment تتضمن العديد من الخدمات مثل: التنقيح, تحرير القوائم, تعديل وإنشاء قواعد البيانات, التحكم بالواجهات الرسومية وتصميمها, وكتابة أكوادها [3].
تم تطوير هذه النسخة من البرنامج عن النسخة القديمة basic والتي تعمل تحت بيئة dos إلى هذه النسخة التي تعمل تحت بيئة وندوز. تعتمد اللغة في تطوير تطبيقاتها على الكائنات فهي تشبه العديد من لغات البرمجة الحديثة من حيث اعتمادها على الديناميكية والأحداث. تعني الديناميكية في هذه اللغة القدرة على استدعاء أي اقتران أو إجراء اعتمادا على الحدث. وهو أي عملية يقوم بها مستخدم التطبيق مثل الضغط بزر الفارة أو الضغط على أحد أزرار لوحة المفاتيح أو تحميل نموذج.
تاريخها:
يعود تاريخ الفيجوال بيسك عندما أطلق أول إصدار لها (Visual Basic 1.0) عام 1991م. والتي بنيت على أساس لغة البيسك(BASIC) التي كانت أكثر لغات البرمجة شيوعاً في عام 1980م.
طور ألن كوبر (Alan Cooper) واجهة السحب والإفلات في عام 1980م. تقربت منه شركة مايكروسوفت وطلبت من شركته Tripod تطوير المفهوم من خلال بناء تطبيق الصيغة أو الشكل (Form Build Application) . وطورت تريبود (Tripod) المشروع لصالح مايكروسوفت. واطلق على المشروع روبي (Ruby) والتي كانت مزودة بواجهة مرئية, إلا أنها لا تحمل أي لغة برمجة آنذاك. فقررت مايكروسوفت حزمها بلغة برمجة بيسك وأصبحت فيجوال بيسك (Visual BASIC).
ومنذ أن أصدرت فيجوال بيسك لأول مرة بعد ذلك تلتها العديد من التحسينات والتعديلات فأصدرت العديد من النسخ إلى أن أطلقت فيجوال بيسك 6.0 [10, 4] .
من أهم مميزاتها [2][4]:
· احتواء اللغة على أساسيات البرمجة الموجودة في أهم اللغا من ناحية وجود تراكيب تحكم متنوعة ومتطورة, وأنواع واسعة من البيانات الواسعة.
· إمكانية استخدامها في حل مسائل من حقول علمية كثيرة ومتنوعة.
· إمكانية معالجة السلاسل الرمزية, والرسومات والوسائط المتعددة, وبرامج شبكية للخادم والمخدوم (Client/Server).
· لغة سهلة التعلم والاستخدام لاستخدامها واجهه رسومية تفاعلية.
· سهولة اكتشاف الأخطاء عند كتابة الأكواد بشكل خاطئ.
· عند كتابة أوامر صحيحة, يقوم البرنامج بإعطاء أمثلة كخيارات لما يتم وضعه, فيؤكد على صحة الكود.
· إمكانية استخدام خاصية تقنية السحب والإفلات (Drag & Drop) لوضع بعض أدوات التحكم مثل الـ Text Box, Command Buttons...
· إمكانية فيجوال بيسك لإنشاء الملفات التنفيذية التي تسمى بـ (EXE files), عناصر تحكم (ActiveX) أو ملفات DLL.
· انطلاق مفاهيمها وتصميمها من شركة مايكروسوفت, مما أضاف إليها مزايا مثل بناء تطبيقات ضمن بيئة نوافذ (Microsoft Windows), تنفيذ تطبيقات مبنية على الإنترنت.
· توظيفها لإمكانات لغة (VB Script) التي تمكن من استعراض شبكة www. والتعامل مع وثائقها بمرونة.
أهم إصداراتها:
- Visual Basic 6.0 في منتصف عام 1998
من أهم الإضافات في الإصدار السادس هي الزيادة في أدوات قواعد البيانات والمبنية على
ADO. كذلك تحسن في أدوات التحكم. وهناك العديد من التطوير في لغة البرمجة كدعم أنواع البيانات المعرفة من قبل المستخدم UDT والزيادة في الدوال Functions. وإضافة المزيد من الويزارد Wizards ودعم لتطبيقات الإنترنت.
لغات مشتقة من الفيجوال بيسك:
في عام 2000م قامت مايكروسوفت بإنتاج النسخة المطورة والتي تعتمد على البرمجة الشيئية
Visual Basic.NET
وهو عبارة عن دمج بين مميزات الفيجوال بيسك وبرمجية .Net الصادرة عن مايكروسوفت التي تتميز بوجود أداة التحويل الآلي
Automated Conversion Tool.
وصدر عنها عدة إصدارات أهمها:
Visual Studio 2003
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
الخلاصة
سهلت البرمجة المرئية العديد من المشكلات والصعوبات التي واجهت المبرمجين والمستخدمين العاديين سابقاً للتعامل مع البرمجة بكل سهولة وأريحية ووضوح. وفتحت مجالات واسعة لخلق العديد من التطبيقات والبرمجيات الحديثة سهلة التعامل. وباستخدام أحد لغات البرمجة المرئية كدلفي أو لغة فيجوال بيسك يمكن إنشاء العديد من التطبيقات المكتبية أو قواعد البيانات والبرامج التعليمية والحسابية أو الألعاب... وغيرها.
المراجع
1- الحلبي, يحيى صبري, والزعبي, أحمد بلال. (2006). فيجوال بيسك 6. دار وائل للنشر, عمَان, الأردن.
2- حسن, محمد الحاج, وأبو السعود, صالح. (2010). البرمجة المرئية. الشركة العربية المتحدة للتوريدات والتسويق, القاهرة. مصر.
3- العسيري, تركي. (2002). الفيجوال بيسك نحو برمجة كائنية التوجه.
4- Plant, Robert T., Murrell, Stephen (2007). An Executive's Guide to Information Technology. Cambridge University Press. p. 343. ISBN 9780521853361. "Summary of Positive Issues: Visual Basic is Easy to Learn and Widely Available" http://www.scribd.com/doc/68180792/VB6-0.
5- http://delphi.about.com/cs/azindex/a/dhistory_2.htm
6- http://www.altiusdirectory.com/Computers/delphi-programming-language.php
7- http://groups.engin.umd.umich.edu/CIS/course.des/cis400/delphi/delphi.html
8- http://www.embarcadero.com/products/delphi/product-editions
9- http://edn.embarcadero.com/article/34324
10- http://www.max-visual-basic.com/history-of-visual-basic.html