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

(بالتحويل من باسكال (برمجة))

باسكال

ملف:Nologo.svg
التصنيف: مهيكلة
ظهرت في: ۱۹٧۰
صممها: نيكلاوس ويرث Niklaus Wirth
متأثرة بـ: ألجول
أثرت في: أدا، أوبجكت باسكال، أوبرتون، أوبرتون-2، جافا، مودولا، مودولا-2، باسكال التكوينية
نظام التشغيل: إتش بي - يو إكس، جنو ومايكروسوفت ويندوز
امتدادات الملفات: .pas


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

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

و في المقابل، فإنه من المعروف أن باسكال فد مكّن من تصميم برامج شهيرة مثل تخ وجزء من أوائل أنظمة التشغيل الخاصة بماكينتوش. وقد تم اقتباس هذه اللغة في لغات أخرى مثل أدا، مودولا-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 من لازاراس.

أمثلة

<source lang="pascal"> Program HelloWorld(output); begin

 writeLn('Hello, World!');

end. </source>

  • برنامج جدول الضرب :

<source lang="pascal"> 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. </source>

  • برنامج المضروب:

<source lang="pascal"> 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. </source>

انظر أيضاً

وصلات خارجية

af:Pascal (programmeertaal) an:Luengache de programación Pascal az:Pascal bar:Pascal (Programmiersprach) bat-smg:Pascal be:Pascal be-x-old:Pascal bg:Паскал (език за програмиране) bs:Pascal programski jezik ca:Pascal (llenguatge de programació) cs:Pascal (programovací jazyk) cv:Паскаль (компьютер чĕлхи) da:Pascal (programmeringssprog) de:Pascal (Programmiersprache) el:Pascal (γλώσσα προγραμματισμού) Pascal (programming language)]] eo:Paskalo (programlingvo) es:Pascal (lenguaje de programación) et:Pascal eu:Pascal (programazio lengoaia) fa:پاسکال (زبان برنامه‌نویسی) fi:Pascal (ohjelmointikieli) fr:Pascal (langage) gl:Linguaxe Pascal he:פסקל (שפת תכנות) hr:Pascal (programski jezik) hu:Pascal (programozási nyelv) id:Pascal (bahasa pemrograman) is:Pascal (forritunarmál) it:Pascal (linguaggio) ja:Pascal kab:Pascal kk:Паскаль тілі ko:파스칼 (프로그래밍 언어) la:Pascal lt:Pascal lv:Pascal (programmēšanas valoda) mk:Паскал (програмски јазик) ms:Pascal (bahasa pengaturcaraan) nl:Pascal (programmeertaal) nn:Programmeringsspråket Pascal no:Pascal (programmeringsspråk) pl:Pascal (język programowania) pt:Pascal (linguagem de programação) ro:Pascal (limbaj de programare) ru:Паскаль (язык программирования) sh:Pascal (programski jezik) simple:Pascal sk:Pascal (programovací jazyk) sl:Programski jezik paskal sr:Паскал (програмски језик) sv:Pascal (programspråk) ta:பாசுக்கல் நிரலாக்க மொழி th:ภาษาปาสกาล tl:Pascal (programming language) tr:Pascal (programlama dili) uk:Pascal vi:Pascal (ngôn ngữ lập trình) yo:Pascal (programming language) zh:Pascal (程式語言)