باسكال (لغة برمجة)

من ويكيبيديا، الموسوعة الحرة
(بالتحويل من Pascal (programming language))
باسكال
معلومات عامة
التصنيف
التنميط
ظهرت في
1970 عدل القيمة على Wikidata
صممها
التطوير
المطور
الإصدار الأول
1970 عدل القيمة على Wikidata
التأثير
متأثرة بـ
متفرقات
امتدادات الملفات
pp — p[1] — pas[1] عدل القيمة على Wikidata

باسكال هي لغة برمجة متعددة الاستخدام تعتمد على الأوامر.[2][3][4] وهي معروفة بوضوحها وقوتها وسهولة إنشاء البرامج عن طريقها. وهو ما يجعل من باسكال اللغة البرمجية الأكثر استعمالا في التدريس حتى الأوقات الحالية.

و بالإضافة إلى سهولتها وقوتها، تمتاز لغة باسكال بعدة قواسم مشتركة مع لغة الـسي.غير أن باسكال كان قد صمم في البداية لأسباب تعليمية بحتة وكان مقتصرا على خاصيّات محدودة جدا (فعلى سبيل المثال لم يكون هناك وجود لسلاسل الأحرف)؛ وبالإضافة لكل ذلك فإن كل النسخ المستعملة لباسكال خارج العالم التعليمي هي نسخ معدلة مثل تربو باسكال، دلفي، أوبجكت باسكال.

و في المقابل، فإنه من المعروف أن باسكال فد مكّن من تصميم برامج شهيرة مثل تخ وجزء من أوائل أنظمة التشغيل الخاصة بماكينتوش. وقد تم اقتباس هذه اللغة في لغات أخرى مثل أدا، مودولا-2 (ثم مودولا-3أوبرون.

التقديم والتاريخ[عدل]

اختُرِعت لغة باسكال (التي اتخذت اسمها من عالم الرياضيات الفرنسي (بليز باسكال) عن طريق نيكولاس ويرث خلال السبعينيات من القرن العشرين. وقد تم تصميمها لتفيد في تعليم البرمجة بطريقة سهلة ولكن صحيحة، في محاولة لمجابهة تعقيدات ألغول 68. وهذه اللغة من بين اللغات التي ساعدت على تعليم البرمجة المنظمة. وباعتبار أنه من غير المنصوح به استعمال الـ goto أو القفز داخل البرنامج فإن باسكال يعتمد على الشروط (if, case...) والتكرارات (while, for, repeat...) والتي تمتلك كل واحدة منها مدخلا ومخرجا حتى يتم تسهيل التحكم، مما يؤدي إلى برنامج أكثر سرعة وتنظيما.

وتعد هذه اللغة كذلك صارمة في ما يخص تعريف المتغيرات، بمعنى أن كل متغير يجب أن يعرف بنزع عند التجميع. وفي المقابل فإن عدم تأقلمه لتمكين التنقل من النوع حرف إلى النوع سلسلة حروف يعد من نقاط ضعفه.

وقد تمكنت لغة باسكال من التغليل بشكل كبير في الميدان التعليمي ومجال الأبحاث (الجامعات)، وبصفة أقل في الميدان الصناعي.

وقد تم نشر ملفات المجمع P4 المصدرية في الجامعات، بسعر مخفض جدا. وهذا المجمع ينشئ الـ شيفرة البايت، وهو كود لجهاز افتراضي. ولذلك يمكن القول أن البرامج «الباسكالية» كانت سهلة النقل على الأجهزة.

وكان لمجمع UCSD Pascal (UCSD = University of California at San Diego)، نجاح كبير خاصة على الأجهزة من نوع أبل II والتي كانت شديدة الانتشار.

و لكن «التوربو» كان من عمل شركة بورلاند الحديثة، والتي أنشأت سنة 1983 والتي قامت بتسويق المجمع توربو باسكال بسعر غاية في التخفيض (49 $ حينها مقابل 500 $ سعر مجمع باسكال من شركة مايكروسوفت والذي لم يكن يمتلك محررا مدمجا حتى).

تربو باسكال[عدل]

قام بكتابة تربو باسكال أندريس هيلزبيرغ (وكان اسمه قبل TP، كومباس باسكال ثم بولي باسكال). كان ينشئ لغة الآلة (إكس 86 تحت DOS) وبسرعة نظرا لخفته (12 ك.ب.) واعتماده شبه التام على الرام، لم يعد ينشئ بالتالي الـ P-Code.

وقد كان مرفقا مع بيئة متكاملة (محرر نصوص ومساعدة عن بعد). وما فتئ الباسكال يشهد التحسين تلو الآخر، ففي عام 1987 ظهرت النسخة 4، التي احتوت على بيئة برمجة مدمجة متكاملة. وفي عام 1989 ظهرت النسخة 5.5، التي امتازت بدمجها لمفهوم الشيء (Object). وفي عام 1990، مكنت النسخة 6 من برمجة نوافذ (تحت صندوق الأوامر DOS). ثم في عام 1993، ظهرت آخر نسخة، وهي النسخة السابعة لنظام تشغيل دوس لنظام ويندوز.

أصدرت شركة بورلاند سنة 1995 لغة دلفي للتأقلم مع البرمجة المرئية التي أطلقتها مايكروسوفت مع فيجوال ستوديو وكانت دلفي مجمعا حقيقيا ينشئ لغة الآلة.

عام 2001 أطلقت شركة بورلاند كيليكس، وهو المرادف لدلفي الخاص بمنظومة لينكس. وكان بسكال يعمل بلغة الآلة المنشأة منذ عام 1962 وكانت هذه اللغة هي (الاسمبلي).

فري باسكال[عدل]

بعد توقف تيربو باسكال عن الإنتاج، والانتقال إلى لغة دلفي، قام فريق فري باسكال بإنتاج بديل لتيربو باسكال مجاني مفتوح المصدر منافس للغة السي++، وهو متوافق مع لغة دلفي، ويعمل على عدد كبير من المنصات مثل لينكس، ويندوز، ماكنتوش، وآرم، وغيرها الكثير. وقد صدر الإصدار الأول منه منتصف عام 2000، والإصدار الأخير منه الآن هو 2.4. وتوجد له بيئة متكاملة في عدد من المنصات تسمى لازاروس وهي مصممة بواسطة فري باسكال نفسه، وهي مشابهة لبيئة تطوير دلفي 7 وقد صدر الإصدار الأول منه بعد تطوير اجتمع عليه خبراء من مختلف الدول.

أمثلة[عدل]

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.

انظر أيضاً[عدل]

مراجع[عدل]

  1. ^ أ ب وصلة مرجع: https://salsa.debian.org/debian/mime-support/blob/debian/3.61/mime.types.
  2. ^ About Microsoft's "Delegates"نسخة محفوظة 2012-06-27 على موقع واي باك مشين. at java.sun.com.
  3. ^ "netlabs.org - Project: Open Sibyl". مؤرشف من الأصل في 2016-03-04. اطلع عليه بتاريخ 2016-04-03.
  4. ^ TechMetrix Research (1999). "History of Java" (PDF). Java Application Servers Report. مؤرشف من الأصل (PDF) في 2010-12-29. اطلع عليه بتاريخ 2017-12-18. The project went ahead under the name "green" and the language was based on an old model of UCSD Pascal, which makes it possible to generate interpretive code

وصلات خارجية[عدل]