باسكال (برمجة)
لغات برمجة | |
لغات كائنية | |
سي++ ++C |
سي شارپ #C |
دلفي (لغة برمجة) Delphi |
ادا 95 Ada |
جاڤا Java |
سمولتوك Smalltalk |
روبي Ruby |
اوبجكت پاسكال Object Pascal |
لغات تقليدية | |
بيسيك Basic |
سي C |
باسكال Pascal |
كوبول COBOL |
فورتران FORTRAN |
أسمبلي Assembly |
لغات وظيفية | |
ليسپ Lisp |
پرولوگ Prolog |
پايثون Python |
پاريس Paris |
هندسة برامج | |
باسكال لغة برمجة تعتمد على الأوامر. وهي معروفة بوضوحها وقوتها وسهولة إنشاء البرامج عن طريقها. وهوما يجعل من باسكال اللغة البرمجية الأكثر استعمالا في التدريس حتى وقت قريب.
وبالإضافة إلى سهولتها وقوتها، تمتاز لغة باسكال بعدة قواسم مشهجرة مع لغة الـسي.غير حتى باسكال كان قد صمم في البداية لأسباب تعليمية بحتة وكان مقتصرا على خاصيّات محدودة جدا (عملى سبيل المثال لمقد يكون هناك وجود لسلاسل الأحرف)؛ وبالإضافة لكل ذلك فإن جميع النسخ المستعملة لباسكال خارج العالم التعليمي هي نسخ معدلة مثل توربوباسكال، دلفي، أوبجكت باسكال...
وفي اللقاء، فإنه من المعروف حتى باسكال فد مكّن من تصميم برامج شهيرة مثل 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 ظهرت النسخة أربعة التي احتوت على بيئة برمجة مدمجة متكاملة وفي عام 1989 ظهرت النسخة 5.5 التي امتازت بدمجها لمفهوم الشيء (Object)، وفي عام 1990، مكنت النسخةستة من برمجة نوافذ (تحت صندوق الأوامر DOS). ثم في عام 1993، ظهرت آخر نسخة، وهي النسخة السابعة لنظام تشغيل دوس ولنظام ويندوز. وقد أصدرت شركة بورلاند سنة 1995 لغة دلفي للتأقلم مع البرمجة المرئية التي أطلقتها مايكروسوفت مع فيجوال ستوديووكان الدلفي مجمعا حقيقيا ينشئ لغة الآلة. وفي سنة 2001 أطلقت شركة بورلاند كيليكس، وهوالمرادف لدلفي الخاص بمنظومة لينوكس.
فري باسكال
بعد توقف تيربوباسكال عن الإنتاج والانتنطق إلى الدلفي قام فريق فري باسكال بإنتاج بديل لتيربوباسكال مجاني مفتوح المصدر منافس للغة السي++ وهومتوافق مع لغة دلفي ويوجد في عدد كبير من المنصات مثل لينكس، وندوز، ماكنتوش، وآرم، وغيرها الكثير. وقد صدر الإصدار الأول منه في منتصف عام 2000، والإصدار الأخير منه الأن هو2.4 وتوجد له بيئة متكاملة توجد في عدد من المنصات تسمى لازاراس وهي مصممة بواسطة فري باسكال نفسه، وهي مماثلة لبيئة تطوير دلفيسبعة إلا أنها ما زالت في حالة التطوير ولم تصل بعد إلى نسخة رقم 1. آخر نسخة رسمية من لازاراس هي: 0.9.28. ويوجد عدد كبير من البرامج تم تطويرها باستخدام لازاراس وفري باسكال حتى قبل صدور النسخة رقم 1 من لازاراس.
- مسقط فري باسكال :
- مسقط لازاراس :
مثال على برنامج باسكال : Hello world الشهيرة
program Hello(output); begin writeln('Hello world! end.