السلام عليكم و رحمة الله و بركاته
بسم الله الرحمن الرحيم
1- مقدمةعن لغات البرمجة
تنقسم لغات البرمجة إلى لغات عالية المستوى high-level language و هناك لغات منخفضة المستوى low-level languages .
اللغات العالية المستوى مثل الــ c/c++ , Java , Python , Ruby
و لغة عالية المستوى تعنى أن لغتها أقرب إلى لغة الإنسان, فلغة البرمجة عبارة عن لغة تخاطب بين الحاسب الآلى و الإنسان ,و اللغة التى يفهمها الحاسب الآلى هى لغة الآلة و هى عبارة عن 010100 المشهورة بإسم النظام الثنائى .
فاللغات العالية المستوى دورها ترجمة اللغة -مثلا بايثون أو سى- إلى لغة الآلة ,
و بسبب هذه العملية تقل سرعة البرامج المكتوبة بالغات العالية المستوى ,
أما اللغات المنخفضة المستوى فتكون برامجها أسرع من اللغات المنخفضة المستوى ,
لغات منخفضة المستوى مثل machine languages or assembly languages
دعونا نتكلم عن اللغات العالية المستوى ..
هناك نوعان من اللغات العالية المستوى
أولا : لغة تفسيرية
ثانيا : لغة هيكلية أو تصنيفية
اللغات التفسيرية مثل Python و Java و Ruby و php
اللغات التفسيرية تعتمد على مفسر interpreter
يقوم المفسر أو المترجم هذا بترجمة البرنامج أمراً أمراً إلى الحاسب الآلى مباشرة
و يسمى الكود المصدرى لهذه اللغة script
و يقوم بترجمة أو تفسير البرنامج كل مرة أمراً أمراً ..
و لهذا يحتاج البرنامج المكتوب بلغة تفسيرية وجود المفسر على النظام .
مثل البايثون .. فكى تعمل برامج البايثون لابد من تنصيب المفسر على نظام التشغيل
غالبا يكون مفسر لغة البايثون موجود فى نظام التشغيل لينكس . أما عن الويندوز فتحتاج تنزيلها من موقع لغة البايثون Python و تنصيبه .
اللغات التصنيفية تعتمد على مجمع compiler
و من هذه اللغات COBOL , C , FORTRAN
يقوم المجمع compiler بقراءة البرنامج ثم يقوم بترجمته كاملا إلى لغة الآلة قبل أن يعمل البرنامج
و فى هذه الحالة يسمى الكود المصدرى للبرنامج بإسم source code
و البرنامج الذى تمت ترجمته إلى لغة الآلة يسمى object code or the executable
و هنا يكون البرنامج المكتوب بلغة هيكلية أو تجميعية أو تصنيفية أسرع من البرنامج المكتوب باللغة التفسيرية ,فيكون كأنه كتب بلغة منخفضة المستوى .
هناك طريقة ثالثة تستخدمها بعض اللغات الراقية مثل بايثون و جافا ” نقلتها من كتاب لينكس الشامل “
و فيها المفسر ينقل الكود إلى صيغة مكثفة compiled script تختزل بعض عمليات الإعراب ولكن لا يتحول النص إلى لغة الآلة بل إلى ملف ثنائي يسمى byte code وهو عبارة عن سلسلة من تعليمات بلغة الآلة الإفتراضية (آلة وهمية) VM ويكون هناك مفسر يسمى الآلة الإفتراضية يتم استدعاؤه في كل مرة يتم تنفيذ البرنامج فيها حيث يقوم بالتحويل من الآلة الفتراضية إلى الحقيقية. ويكون تنفيذ هذا byte code أسرع من النص script ويعتبر تتبع الأخطاء في اللغات التفسيرية أمرا سهلا لأنها تنفذ سطرا فسطر و الأشهر فى هذه الطريقة هى لغة الجافا - إنتهى ..
2 - معنى برنامج :
البرنامج هو عمل سلسلة من الخطوات لحل مشكلة ما ..
يعنى ببساطة.. لو لدينا مكعب و نريد حساب حجمه ..فنقوم بعمل برنامج يضرب الطول فى العرض فى الإرتفاع ..و يكون هذا حل عام لكل مكعب فيتم كتابة البرنامج فيطلب منك الثلاث متغيرات و يعطيك الناتج لأى مكعب .فمكونات البرنامج هى
مدخلات و عمليات حسابية و حالات حسايبية” كأكبر من و يساوى و أصغر من و التكرار ” و مخرجات
لغة البايثون Python : ” من الويكى بيديا ”
بايثون لغة برمجة ، من لغات المستوى العالي، تتميز ببساطة كتابتها وقرآءتها، سهلة التعلم، تستخدم أسلوب البرمجة الكائنية (OOP) ، مفتوحة المصدر، وقابلة للتطوير. تعتبر لغة بايثون لغة تفسيرية، متعددة الأغراض وتستخدم بشكل واسع في العديد من المجالات، كبناء البرامج المستقلة باستخدام الواجهات الرسومية المعروفة وفي عمل برامج الويب، بالاضافة إلى استخدامها كلغة برمجة نصية للتحكم في أداء بعض من أشهر البرامج المعروفة او في بناء برامج ملحقة لها. وبشكل عام يمكن استخدام بايثون لبرمجة البرامج البسيطة للمبتدئين، ولإنجاز المشاريع الضخمه كأي لغة برمجية أخرى في نفس الوقت. غالباً ما يُنصح المبتدئين في ميدان البرمجة بتعلم هذه اللغة لأنها من بين أسرع اللغات البرمجية تعلماً.
نشأت بايثون في مركز CWI (مركز العلوم والحاسب الآلي) بأمستردام على يد جويدو فان رُزوم في أواخر الثمانينات من القرن المنصرم، وكان أول إعلان عنها في عام 1991. تم كتابة نواة اللغة بلغة C. أطلق فان رُزوم اسم “بايثون” على لغته تعبيرًا عن إعجابه بفِرقَة مسرحية هزلية شهيرة من بريطانيا، كانت تطلق على نفسها اسم مونتي بايثون (بالإنجليزية: Monty Python). تتميز بايثون بمجتمعها النشط ، كما أن لها الكثير من المكتبات البرمجية ذات الأغراض الخاصة والتي برمجها أشخاص من مجتمع هذه اللغة ، مثلاً مكتبة PyGame التي توفر مجموعه من الوظائف من اجل برمجة الالعاب. ويمكن لبايثون التعامل مع العديد من أنواع قواعد البيانات مثل MySQL وغيره. - إنتهى -
3 - لماذا لغة البايثون ؟
لإنها لغة سهلة و بسيطة و قوية ..
تستخدم بايثون فى وكالة ناسا NASA
http://www.python.org/about/success/usa/
فلماذا تم إختيار لغة البايثون ليستخدمها علماء الفلك الغير متخصصين فى البرمجة ؟
الإجابة لسهولة اللغة و لقوتها ..
و كما أنها تستخدم فى الموقع الشهير YouTube.com ..فهى متعددة الأغراض
فهى تنافس ال php أيضا ..فالبايثون لغة تطوير ويب ممتازة .
كما أنها تستخدم كلغة المصممين .. مستخدمى برامج الجرافك ..
ليسوا بمتخصصين فى البرمجة و لكنها أختيرت كأفضل لغة لبرامج التصميم
فهى موجود فى أقوى و أشهر برامج التصميم العالمية
تستخدم كلغة برمجة نصية Scripting Language
برنامج مايا Mayaلعمل التصاميم ثلاثية الأبعاد.
برنامج المايا هو من أقوى برامج الجرافك العالمية و هو الأشهر فى عالم الخدع البصرية
و صناعة الأفلام الثلاثية الأبعاد .. تستخدمه الشركة العملاقة Pixar Animation Studios كما أن بيكسار تستخدم نظام التشغيل لينكس و توزيعة REDHAT
برنامج بلندر Blenderلعمل التصاميم ثلاثية الأبعاد.
هو البرنامج الأشهر فى عالم المصادر الحرة ..و هو ينافس البرامج العملاقة فى مجاله بقوة
Softimage XSI لعمل التصاميم ثلاثية الأبعاد.
Real Flow عملاق محاكاة السوائل الشهير .
Civilization IV اللعبة الاستراتيجية المعروفة.
Stackless Python عمل سكربتات لأشهر الألعاب الالكترونية المعروفة مثل EVE Online, Civilization IV, Second Life.
ArcGIS برنامج لعمل الخرائط الجغرافية.
OpenOffice.org حزمة برامج مكتبية مفتوحة المصدر.
PyMol عمل تصاميم ثلاثية الأبعاد لأغراض علمية.
GIMP برنامج رسوميات مفتوح المصدر.
كما تستخدم بايثون فى كثير من توزيعات لينكس و على رأسها REDHAT فبرنامج التنصيب و التحكم أناكوندا مكتوب بلغة البايثون و كثير من تطبيقات توزيعة Ubuntu مكتوبة بلغة البايثون ..بإختصار لغة البايثون هى لغة المبتدئين و المحترفين .. أبدأ و توكل على الله .
4 - أول برنامج :
إن كنت تستخدم لينٌكس فهذه اللغة تكون منصبة على النظام
أما إن كنت على ويندوز فعليك بتنزيلها Download
طبعا كما عرفت فى المقال أن لغة البايثون لغة تفسيرية ..
يعنى تحتاج إلى مفسر . لتنصيب مفسر مخصص للغة البايثون
هو idle
لو على أى توزيعة ديبيانية
apt-get install idle
طبعا لو على اليوبنتو و شبيهاتها إستخدم الأمر sudo
ستجد مفسر لغة البايثون فى قائمة Applications
إن كنت مستخدم لواجهة جنوم .. أو بكل بساطة أضغط Alt + F2
ستظهر لك هذه النافذة ..هذا الأمر فى جنوم أو كيدى أو أى واجهة رسومية آخرى

و أكتب فيها idle و راعى أن تكون الحروف كلها صغيرة Small
و سيظهر لك هذا المفسر

فلنبدأ بأول برنامج
أكتب
كود:
print “ Hello Linux-ar”
شرح هذا البرنامج البسيط ..
كلمة print هى أمر لإظهار الناتج …
فمثلا قم بوضع x=2 هكذا أنت وضعت قيمة ل x
قم بعدها بكتابة print x سيكون الناتج 2 و لكن لو وضعت
x بين علامات تنصيص فسيطبعها كنص X
هذه هى طريقة إستخدام المفسر مباشرة و لكن هذا للتدريب فقط
و هناك الطريقة الثانية و هى حفظ البرنامج فى ملف ..
سنستخدم فى هذه الطريقة أى محرر نصوص ..
هناك فى بيئة الجنوم gedit من alt + f2 و أكتب gedit
أو فى بيئة الكيدى kate أو kedit
قم بفتح المحرر ثم أكتب فيه
x = 2
print x
print “this my first program”
ثم قم بحفظ الملف بإمتداد .py مثلا بإسم first.py

ثم أحفظه فى أى مكان ..مثلا على سطح المكتب
ستلاحظ أن بعد حفظ الملف قام البرنامج بتلوين النصوص
هذه الألوان تساعد فى كتابة الكود ..يمكنك تظبيطها قبل البدأ فى الكتابة
من قائمة View>Highlight Mode>scripts>Python
و أفتح سطر الأوامر terminal و أذهب إلى مكان حفظ الملف
و بعد الذهاب إلى سطح المكتب بالأمر cd Desktop
أكتب python first.py
كود:
sherif@ubuntu:~$ cd Desktop
sherif@ubuntu:~/Desktop$ python first.py
2
My first program
sherif@ubuntu:~/Desktop$
و ننتهى إلى هنا و ننتظر إستفساراتكم و إقتراحتكم و نكمل فى المرة القادمة بإذن الله تعالى
و السلام عليكم و رحمة الله و بركاته
شكرا
Hi