شرح شهادة ITF Plus الفصل الثاني والعشرين بعنوان Compare and Contrast Programming Language Categories الجزء الأول

Safely LocK
0

 الفصل : 22 


الجزء الأول : #1




قارن وقارن بين فئات لغات البرمجة (Compare and Contrast Programming Language Categories):


في هذا الفصل، ستتعلم عن الهدف مقارنة ومقابلة مفاهيم لغات البرمجة. ستتعرف على فئات لغات البرمجة مثل اللغات المفسرة (
interpreted) (اللغات النصية scripting، النصية المكتوبة scripted، ولغات التوصيف markup languages)، اللغات المترجمة (compiled programming languages لغات الاستعلام (query languages)، ولغة التجميع (assembly language). يُقصد من هذا الفصل أن يكون مقدمة، ولاستكشاف لغة معينة بشكل أعمق، يمكنك زيارة المواقع المدرجة في هذا الفصل.

اللغات المفسرة (Interpreted)

ما هي لغة الحاسوب المفسرة؟ لغة الحاسوب المفسرة هي التي يتم تشغيلها مباشرة من تعليمات البرنامج. يمكن القول إنها تُشغّل سطرًا بسطر. وهذا يتناقض مع لغة البرمجة المترجمة (
compiled programming language) التي يتم تحويلها إلى لغة الآلة (binary 0,1) المستخدمة من قبل وحدة المعالجة المركزية (CPU) قبل أن يتم تشغيلها.

لغات النصوص البرمجية (Scripting Languages):

يشير مصطلح 
Scripting Languages إلى اللغات المفسرة التي تُستخدم بشكل متكرر لإنشاء نصوص برمجية تُشغل من داخل بيئة تطوير متكاملة (IDE)، وتحتوي الـ IDE على محرر نصوص لكتابة أوامر اللغة ومفسر لاختبار البرنامج. بعد كتابة البرنامج واختباره، يمكن حفظه كنص برمجي لإعادة استخدامه (إذا رغبت بذلك).


الأساسيات (
BASIC):


الـ BASIC (رمز التعليمات الرمزي الشامل للمبتدئين) تم تطويره في عام 1964 في كلية دارتموث بولاية نيوهامبشاير، وأراد المطوران المشاركان John Kemeny و Thomas Kurtz  إنشاء لغة برمجة تساعد الأشخاص غير التقنيين على إنشاء برامج. أي لغة تحتوي على اسم BASIC (أو Basic) هي منحدرة من لغة BASIC الأصلية، مثل GW-Basic،  و Visual Basic و QuickBASIC،و  TrueBASIC، و QBasic، والعديد من الآخرين.

الجدول الاول من الفصل
هو قائمة ببعض الكلمات المفتاحية في لغة BASIC. لمزيد من الكلمات المفتاحية، قم بزيارة الرابط التالي من هنا.




الجدول الأول من الفصل


العديد من إصدارات BASIC هي برامج حاسوبية مفسرة. إليك مثال بسيط على برنامج BASIC مفسر:


10 PRINT "This is a simple BASIC program" 20 END 




يقوم البرنامج بطباعة This is a simple BASIC program على الشاشة ثم ينهي عمله. الإصدارات الأحدث من BASIC تبدو مختلفة كثيرًا لأن أرقام الأسطر تم حذفها. إليك مثالاً مشابهاً باستخدام QuickBASIC:

 

? "This is a simple BASIC program"

لغة البرمجية (Perl): 

يشير Perl إلى عائلة من لغتين برمجيتين مفسرتين مختلفتين: Perl 5 و Perl 6 (حيث يمثل Perl 6 إعادة كتابة كبيرة لـ Perl 5). يجمع Perl ميزات من عدة لغات، بما في ذلك BASIC، وغالبًا ما يُستخدم كلغة "ربط" لتوصيل الأنظمة المختلفة معًا أو لإجراء تحليل بيانات سريع. لعرض العبارة This is a simple Perl program باستخدام Perl، يمكن إدخال العبارة التالية في مفسر Perl shell:  



print "This is a simple Perl program\n";



للحصول على محرر
Perl، مفسر، وبرامج داعمة أخرى، يمكنك تنزيل Padre Perl IDE المجاني لأنظمة Windows و macOS و Linux من الموقع:  

يمكنك استخدام 
IDE لتنفيذ أوامر Perl بشكل تفاعلي أو لحفظ الأوامر في سكريبت. للحصول على مقدمة رائعة عنPerl، يمكنك زيارة الموقع التالي من هنا.

اللغة البرمجية (
JavaScript):
 
الـ JavaScript
هي لغة برمجة تُستخدم في معظم صفحات الويب بالإضافة إلى العديد من التطبيقات غير القائمة على الويب. عادةً ما يتم حفظ السكريبتات باستخدام الامتداد js. ويمكنك إدخال أوامر JavaScript، تشغيلها، وحفظها باستخدام JS.do online JavaScript Editor من خلال الرابط التالي من هنا.  في المثال التالي، نستخدم الكلمة المفتاحية var في JavaScript لإنشاء ثلاث متغيرات لتخزين نصوص ستعرض العبارة: "This...is...JavaScript"، لاحظ أن المتغير **text_2** قد تم استخدامه مرتين. قمنا بإضافة تعليقات باستخدام صيغة التعليقات القياسية في **JavaScript** **//**:



<script>
var text_1 = 'This'; // declares the variable text_1 and assigns to
it a string containing "This"
var text_2 = '...'; // declares the variable text_2 and assigns to it
a string containing "..."
var text_3 = 'is'; // declares the variable text_3 and assigns to it
a string containing "is"
var text_4 = 'JavaScript'; // declares the variable text_4 and
assigns to it a string containing "JavaScript"
document.write(text_1 + text_2+text_3+text_2+text_4);
</script>


وبالنسبة الى JSON:

جزء فرعي من JavaScript يُعرف باسم JavaScript Object Notation (JSON) يُستخدم لتبادل البيانات بين لغات مثل XML و JavaScript، ولمعرفة المزيد عن JSON، يمكنك زيارة من هنا.



اللغة البرمجيه (
Python): 

Python هي لغة برمجة مصممة لتكون سهلة الفهم، قابلة للتوسعة بشكل كبير، وسهلة الاستخدام مع لغات البرمجة الأخرى. الموقع الرسمي للغة Python هو هذا الموقع، والذي يوفر إصدارات لأنظمة التشغيل Windows، و macOS، و Linux، و IOS ، وغيرها من المنصات.  

يُعتبر موقع  codetheblocks واحدًا من بين العديد من المواقع التي يمكن للمستخدمين من خلالها تجربة 
Python بشكل تفاعلي لإنشاء سكريبتات. إليك مثالًا لاستخدام Python لإنشاء تسلسل Fibonacci (حيث تمثل الأحرف ">>>" مطالبات مفسر Python)، بناءً على مثال من موقع Python.org، في تسلسل Fibonacci، كل رقم بعد الرقمين الأولين هو ناتج جمع الرقمين السابقين له (مثل: 1، 1، 2، 3، 5، 8، وهكذا).  



>>> def fib(n):  
>>>     a, b = 0, 1  
>>>     while a < n:  
>>>         print(a, end=' ')  
>>>         a, b = b, a+b  
>>>     print()  
>>> fib(400)

النتيجة: 


0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 





اللغة البرمجية (
Ruby):

تم تصميم Ruby من الأساس كلغة موجهة للكائنات وأصبحت شائعة جدًا منذ تطوير Ruby on Rails، وهو إطار عمل ويب تم إنشاؤه باستخدام لغة Ruby، وتتوفر Ruby لأنظمة Windows وmacOS و Linux من الموقع الرسمي ruby-lang  وهناك تطبيقات أخرى متاحة. يمكنك تجربة Ruby عبر الإنترنت على الموقع ruby.github.io ، فيما يلي إجراء بسيط:  




2.times do  
      print 'This '  
      print 'is '  
      print 'Ruby '  
end 



الإخراج الخاص بالبرنامج:  


This is Ruby This is Ruby




لغة
PowerShell: 

PowerShell هو لغة scripting مخصصة لنظام Windows (Windows PowerShell)، ويتوفر PowerShell بشكل افتراضي في أنظمة Windows 7 والإصدارات الأحدث، في عام 2016، تم تقديم PowerShell Core كإصدار متعدد المنصات للاستخدام مع Windows و macOS و Linux، يمكن تحميله من الرابط التالي من هنا.

 

يتضمن PowerShell أسماء مستعارة (aliases) تُسهّل إعادة استخدام السكربتات الخاصة بـ Windows Command Prompt و Unix shell (Linux shell). على سبيل المثال، الأمر Get-Childitem الذي يعرض الملفات والمجلدات في المجلد الحالي له أسماء مستعارة مثل gci وdir  وls. Dir يعادل الأمر في Windows Command Prompt، بينما ls يعادل الأمر في Unix/Linux.  

فيما يلي أمر يعرض أول خمس خدمات تعمل حاليًا على النظام الحالي:  



PS C:\Users\Mark E. Soper> get-service | where { $_.Status -eq "running"} | select-object -first 5


الإخراج الخاص بالبرنامج:  






لغات (Scripted):

لغة Scripted هي لغة برمجة تحتوي على مترجم أوامر مدمج، ويقوم مترجم الأوامر بتنفيذ الأوامر المخزنة في الكود المصدر أو bytecode، والكود المصدر هو كود يمكن قراءته بواسطة البشر (راجع الأمثلة المذكورة سابقًا في هذا الفصل).


Bytecode هو كود كائني يمكن تشغيله بواسطة Virtual Machine (VM) الخاصة باللغة. Java هي المثال الأكثر شيوعًا، ويقوم Java بتحويل الكود المصدر إلى Bytecode، مما يسمح بتشغيل نفس برنامج Java بدون تعديل على أنظمة Java المثبتة على أنواع مختلفة من أجهزة الكمبيوتر، بدءًا من Windows PCs إلى macOS و Linux والأجهزة المحمولة.


تقوم عملية Compilation بتحويل الكود المصدر للبرنامج إلى كود الآلة (machine code)، وهو تعليمات محددة لنظام التشغيل والمعالج المستخدم في الكمبيوتر الذي سيتم تشغيل البرنامج عليه. يمكن للغات مثل CPP أو C# إنشاء برامج لأنواع مختلفة من أجهزة الكمبيوتر وأنظمة التشغيل، ولكن في كل حالة، يجب استخدام Compiler لإنشاء نسخة خاصة بالنظام من التطبيق.



لغات Markup:


لغات Markup تُستخدم لتوضيح المستندات باستخدام علامات (Tags) يمكنها تحديد خصائص مثل الخطوط والألوان والروابط التشعبية وغير ذلك. عادةً ما تستخدم لغات Markup الأقواس الزاوية لكتابة العلامات. أكثر لغات Markup شيوعًا هما HTML وXML.




لغة (HTML):


لغة Hypertext Markup Language (HTML) تُستخدم من قِبل كل من فتح صفحة ويب. بخلاف اللغات الأخرى التي ناقشناها في هذا الفصل، لا يتم استخدام HTML بشكل تفاعلي. يتم كتابة أوامر HTML باستخدام محرر نصوص بسيط مثل Notepad ويتم حفظها بامتداد .htm أو .html. يُفتح الملف في متصفح ويب.

تحدد علامات HTML كيفية عرض المحتوى في صفحة ويب: على سبيل المثال، لون الخط المستخدم، والخلفية، والروابط التشعبية لأجزاء أخرى من الصفحة أو صفحات أخرى على الويب، وغير ذلك الكثير. تقريبًا جميع علامات HTML تأتي في أزواج. على سبيل المثال: 


<a href=https://www.pearson.com>Pearson website</a>



ستُظهر النص "Pearson website" كارتباط تشعبي قابل للنقر. العلامة التي تبدأ بـ </ تُعتبر علامة إغلاق (مثل </a>).

تُطوَّر HTML وتُدار بواسطة مجتمع WHATWG عبر الرابط: التالي، ويمكن دمج HTML مع لغات أخرى في صفحات الويب. المثال التالي هو كود HTML بسيط يعرض نصوصًا بألوان مختلفة ويتضمن رابطًا لصفحة HTML الخاصة بـ W3 Schools:  



<!DOCTYPE html>
<html>
<head>
<title>HTML Example</title>
</head>
<body>
<h1 style="color:blue;">This is a blue heading</h1>
<p style="color:red;">This is a red paragraph.</p>
<a href="https://www.w3schools.com/html/">Visit W3 Schools HTML</a>
</body>
</html>



السكريبت ومخرجاته موضحة في الشكل الأول #1، استخدمنا موقع الآتي وخيار "Try it Yourself" (المعروف بـ "Tryit") لهذا المثال.



الشكل الأول من الفصل #1



لغة البرمجية (XML): 

لغة Extensible Markup Language (XML) تتيح تخزين ملفات البيانات بطريقة تكون قابلة للقراءة من قبل البشر والحواسيب على حدٍ سواء. تعتبر XML الأساس لتنسيقات ملفات Open XML التي اعتمدتها Microsoft Office منذ إصدار 2007 وما بعده، بالإضافة إلى تنسيقات ملفات OpenOffice.org XML التي تدعمها OpenOffice 1.0 و StarOffice 6 و 7، وتنسيق OpenDocument المستخدم في Apache OpenOffice و LibreOffice وغيرها من حزم البرامج المكتبية.  

مثل HTML، تعتمد XML على نظام الوسوم وتستخدم "</" كبداية للوسم الختامي، لكن وسوم XML يمكن استخدامها لتحديد أنواع المعلومات (كما هو موضح في الشكل الثاني #2)، باستخدام أداة COUNTWORDSFREE Online XML Viewer المتاحة عبر الرابط

يمكنك عرض XML في وضع Tree View (كما هو موضح في الشكل 22-3) بالإضافة إلى وضع النص. ويمكن أيضًا تحويل XML إلى JSON لاستخدامها في JavaScript.



الشكل الثاني من الفصل #2





الشكل الثالث من الفصل #3



لغات البرمجة المجمعة (COMPILED PROGRAMMING LANGUAGES):

على عكس لغات البرمجة المفسرة التي يتم تنفيذها سطرًا بسطر، ولغات العلامات التي تعمل وسمًا وسمًا، تقوم لغة البرمجة المُجمعة بتحويل البرنامج بالكامل (الشيفرة المصدرية) إلى شيفرة قابلة للقراءة من قبل الآلة (المعروفة أيضًا بالشيفرة الكائنية). خلال العملية، يتوقف المُجمع إذا كانت هناك أي أخطاء. على الرغم من أن المجمعات تكون مخصصة للمعالج ونظام التشغيل، إلا أن اللغات المُجمعة يمكن استخدامها عبر معالجات وأنظمة تشغيل مختلفة، على الرغم من أن التعديلات قد تكون ضرورية في بعض الحالات.

توفر الأقسام التالية أوصافًا قصيرة لبعض من أشهر لغات البرمجة.



لغة الـ (C):

تم تطوير لغة البرمجة C في الأصل للاستخدام مع نظام
Unix، ولكنها مدعومة من قبل معظم بنى المعالجات وأنظمة التشغيل الكبرى. تشير ANSI C و ISO C و Standard C إلى المعايير المتتالية للغة البرمجة C التي نشرتها المعهد الوطني للمعايير الأمريكية (ANSI) و المنظمة الدولية للتوحيد القياسي (ISO)، وهناك العديد من المواقع التي تقدم عينات من الشيفرات التعليمية والدروس مثل Cprogramming و  TutorialPoints موقع Jdoodle  هو واحد من العديد من المواقع التي تقدم مجمعات C و CPP عبر الإنترنت (انظر الشكل الرابع #4).




الشكل الرابع من الفصل #4



اللغة البرمجية (CPP):

لغة CPP هي لغة مبنية على C، وتضيف ميزات إضافية مثل البرمجة الموجهة للكائنات والفئات لجعل اللغة أكثر قوة.

ملاحظة:

في البرمجة الموجهة للكائنات، الفئة هي قالب لإنشاء نوع معين من الكائنات البرمجية.



النسخة الحالية من CPP تعرف رسميًا باسم ISO/IEC 14882:2017 أو C++17، موقع لغة C/CPP في Imagix يقدم روابط للعديد من الموارد من هنا 



الجدول الثاني: يقارن بين أكواد C و C++ لأداء نفس الحساب.




اللغة الشائعة الموجهة للأعمال (COBOL) : 


اللغة الشائعة الموجهة للأعمال (COBOL) تم تطويرها في عام 1959 وهي تُستخدم حاليًا بشكل رئيسي لصيانة التطبيقات الموجودة. تستخدم صياغة شبيهة بالإنجليزية للمساعدة في جعلها توثيقًا ذاتيًا إلى حد كبير:



DIVISION IDENTIFICATION.  
PROGRAM-ID. HELLO-WORLD.  
DIVISION PROCEDURE.  
DISPLAY 'Welcome to COBOL'.  
STOP RUN.



هناك العديد من النسخ المختلفة لـ COBOL، تم إنشاؤها في الغالب لدعم أنظمة الـ midrange و mainframe المختلفة، والنسخة المجانية والمفتوحة المصدر من COBOL لأنظمة التشغيل المكتبية الشهيرة هي GnuCOBOL، المتوفرة على الرابط souceforgel. يمكنك أيضًا تجربة COBOL عبر الإنترنت في .jdood و ، compileonline، والعديد من المواقع الأخرى.

ملاحظة:

يتضمن موقع Compile Online  مترجمات ومفسرات عبر الإنترنت لمعظم اللغات وأدوات البرمجة النصية المغطاة في هذا الفصل (بالإضافة إلى العديد من اللغات الأخرى التي يجب عليك تجربتها)، بما في ذلك Assembly، Bash Shell، C++، Free Basic، Fortran، Java، Pascal، Perl، Python، Ruby، والعديد غيرها. يمكنك رؤية مثال في الشكل 22-6.


لغة (java):

تستخدم Java بشكل شائع لإنشاء تطبيقات ويب عميل-خادم، بالإضافة إلى برمجة الهواتف المحمولة، وبطاقات الذاكرة الذكية (smart cards)، والعديد من أجهزة الإنترنت للأشياء (IoT)، وفقًا لموقع Java، يتم تشغيل Java على أكثر من 15 مليار جهاز، وتقدم Oracle أدوات تطوير Java والدعم بالإضافة إلى دعم Java وقت التشغيل المتاح على الرابط التالي، ويمكنك تجربة Java عبر الإنترنت في المواقع المذكورة سابقًا في هذا الفصل. هنا هو مثال بسيط لبرنامج Java:  

 



public class HelloWorld{
  public static void main(String []args){
    System.out.println("Welcome to Java");
  }
}



لغة (Visual Basic for Applications):

ؤ Visual Basic for Applications هي تقنية من Microsoft Office يمكن استخدامها لإنشاء تطبيقات قوية يمكنك تشغيلها كـ macro أو من خلال ربطها بزر قائمة أو اختصار لوحة مفاتيح ، كما يتم تضمين VBA في بعض التطبيقات الخارجية مثل WordPerfect ، و AutoCAD، و LibreOffice.

يتم تضمين محرر VBA في Microsoft Excel و Microsoft Word  والتطبيقات الأخرى التي تدعم VBA، يوضح الشكل الخامس من الفصل #5 تصحيح الأخطاء في macro باستخدام محرر VBA في Microsoft Excel.



#5 الشكل الخامس من الفصل



يمكن استخدام VBA بشكل خبيث، لذا من الجيد تعطيل VBA بشكل افتراضي وتمكينه فقط عند العمل مع مستندات تمكين VBA من مصادر موثوقة. في Microsoft Office، افتح مركز الثقة وقم بتعطيل جميع الـ macros، ستطلب منك تطبيقات Microsoft Office عند فتح ملف يحتوي على macros، حتى تتمكن من تحديد ما إذا كنت ترغب في تمكين الـ macros في ذلك الملف.



لغات الاستعلام (QUERY LANGUAGES):

لغة الاستعلام هي لغة مصممة لإدارة البيانات المخزنة في نوع معين من الهياكل، مثل قواعد البيانات relational أو ملف XML، وتُعرف لغات الاستعلام أيضًا باللغات الموجهة للبيانات.

لغة الأستعلام (SQL):

إحدى لغات الاستعلام الأكثر شيوعًا هي SQL (لغة الاستعلام الهيكلية، أحيانًا يُنطق "سيكويل"). على الرغم من أن SQL أصبحت معيارًا من ISO في عام 1987، إلا أن هناك العديد من الاختلافات التي تم تطويرها، بحيث غالبًا ما يتعين تعديل برنامج SQL لاستخدامه مع قواعد بيانات مختلفة. تدعم SQL الامتدادات التي تسمح باستخدام Java و .NET و Perl و Python وغيرها من اللغات للوصول إلى المعلومات المخزنة في قواعد بيانات SQL.

بعض من موردي SQL الرائدين يشملون Microsoft SQL Server و MySQL و Oracle و SAS و SQLite. وعلى عكس الآخرين، تم تصميم SQLite لاستخدامه في الإنترنت للأشياء (IoT) ومواقع الويب ذات الحركة المنخفضة إلى المتوسطة، وتحليل قواعد البيانات.

لتعلم المزيد عن SQLite، انظر تستطيع زيارة الموقع الأتي


يمكنك تنزيل نسخة SQL Server 2017 Express المجانية (حد الملف 10 جيجابايت) من Microsoft ، ونسخة MySQL من Oracle متوفرة في نسخ مفتوحة المصدر لأنظمة التشغيل Windows و Linux من الموقع التالي، وتقدم TutorialsPoint درسًا تفصيليًا عن SAS على الرابط  التالي ،  يمكنك تنزيل أدوات SQL Developer الخاصة بـ Oracle لأنظمة التشغيل Windows و macOS و Linux ومنصات أخرى من هنا.

إليك جملة SQL بسيطة باستخدام الكلمات الرئيسية
SELECT و FROM و WHERE، باستخدام ميزة TrySQL عبر الإنترنت في هذا الموقع لـ w3schools



SELECT LastName, FirstName, Notes FROM [Employees]
WHERE Lastname='West';



إليك المخرجات:

LastName: West  
FirstName: Adam  
Notes: An old chum


لغة الأستغلام (XQuery):

XQuery هي لغة استعلام يمكنها البحث في XML وأنواع أخرى من البيانات الهيكلية وغير الهيكلية، وهي مشروع من مجموعة العمل الخاصة بـ XML Query في World Wide Web Consortium (W3C)، المنظمة المسؤولة عن معايير الويب. توفر صفحة XML Query على الرابط التالي  ، الوصول إلى التنفيذات والملاحظات الفنية وغيرها من الدعم. لتعلم المزيد عن XML و XQuery وبرامج XML الأخرى، انظر هنا.


لغة التجميع  (ASSEMBLY LANGUAGE):

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

تتأثر لغة التجميع بنوع المعالج والمجمع المستخدم، وتشمل المجمعات الشائعة للمعالجات 32 بت و 64 بت التي تعمل بنظام Windows كلاً من MASM (مجمّع مايكروسوفت ماكرو) و NASM (مجمّع نت وايد)، مجمّع GAS هو المجمع الخاص بـ GNU (نظام تشغيل مشابه لـ Unix يشبه Linux) ولـ Linux، ويستخدم MASM و NASM صيغة Intel، بينما يستخدم GAS صيغة AT&T التي كانت تستخدم في الأصل لبرمجة مكونات Unix. لعرض أمثلة على كيفية اختلاف هذه المجمعات، راجع  
هذا المرجع

الشكل السادس من الفصل #6 هو برنامج بسيط بلغة تجميع 32 بت (المعروفة أيضًا باسم x86 أو i386) باستخدام ترميز NASM،

تم إنشاء هذا المثال على موقع Compile Online على الرابط  




#6 الشكل السادس من الفصل




الجدول الثالث من الفصل



النهاية: 

 وهكذا انتهى الفصل 22 ، بالطبع أريد أن أشير ان هذه الشهادة هي للمبتدأين تماماً في الحاسوب الذين ليس لديهم علم مبدأي بهذا المجال تستطيع الأنضمام الى مجتمعنا من خلال الروابط الخاصه بتلجرام


إرسال تعليق

0تعليقات

إرسال تعليق (0)

#buttons=(موافق!) #days=(20)

يستخدم موقعنا ملفات تعريف الارتباط لتحسين تجربتك. تاكد الان
Ok, Go it!