الأربعاء، 24 يونيو 2009

مقدمة الى البايثون

تعريف البايثون

قبل البدء في تعريف البايثون سوف نعرف اولا ما معنى البرمجة. ببساطة البرمجة هي اعطاء اوامر او تعليمات لجهاز الحاسب و لاي جهاز اخر، لتوجيهه و اعلامه لكيفية التعامل مع البيانات...

تكو البرمجة خاضعة لعدة قواعد حسب اللغة المختارة مثلا في لغة السي يجب ان ينتهي كل سطر بعلامة ";" و هكدا حسب كل لغة و من هنا نستنتج ان لكل لغة خصائصها و موجباتها و سلبياتها اما نحن فسوف ندرس لغة البيثون.

لغة البيثون (Python) هي لغة برمجة من المستوى العالي و نحن اخترنا هده اللغة عن باقي اللغات الاخرى لانها تتميز بعدة مميزات ندكر منه :

  • سهول البرمجة : تجدر هنا الاشارت الى ان البرمجة بلغة البيثون اسهل حيث انها تتطلب كودا اقل للقيام بنفس الشئ الدي تقوم به اللغات الاخر كلغة السي، اي ان البرمجة بالبيثون تكون في وقت اقل و كدلك الكود يكون اقل، كما ان الكود يكون سهلا في الكتابة و لا يخضع لقواعد ملزمة، فمثلا في السي او السي++ يجب ان ينتهي كل سطر بعلامة ; و ان لم تضعها عند نهاية السطر يحدث خطأ في البرنامج، لايوجد هذا المشكل في لغة البيثون.



  • سهولة تعلم اللغة : البيثون سهلة في التعلم، لقد كُتبَة هذه اللغة لتجمع بين سهولة الاستعمال و استعمال "التقنيات" الحديثة كالبرمجة الكائنية الموجهة (POO) طبعا سوف نرى ماذا تعني لاحقا و عندها سترون قوة هذه اللغة.

  • امكانية استخدام المكتبات : مما يزيد من قوة هذه اللغة هو امكتنية استخدام مكتبات كثير ندكر منها PyQt و PyGame.

  • مفتوحة المصدر : لا يمكننا ان ننسا انها لغة مفتوحة المصدر اي مجانية فان كنت تريد ان تبرمج بلغة البيثون لن تضطر الى دفع اي شئ و مايهم اكثر في كونها مفتوحة المصدر هو ان اي شخص يمكنه المساهمة في تطويرها...

  • تشتغل على جميع انظمة التشغيل : ان كنت على الويندوز او اللينوكس او الماك او... يمكنك البرمجة بهذه اللغة و مايهم اكثر هو ان برامجك سوف تشتغل على جميع الانضمة دون الحاجة لاعادة كتابة الكود لكل نظام تشغيل لنأخد مثلا برنامج Blender يرنامج الثلاثي الابعاد المفتوح المصدر فهو يشتغل على كل انظمة التشغيل.

  • امكانية استخدام اللغة في انشاء مواقع الانترنيت : يمكن برمجة المواقع بواسطة هذه اللغة، فهي تجمع بين القوة و السهولة.

هذه المميزات قلما تجدها في لغة اخر، لكن هذه المميزات لها ثمن.



الحاسوب جهاز معقد يتكون من العتاد(Hardware) و البرنامج(Software) الحاسوب لا يفهم الا لغة واحدة اللغة الثنائية(binary) وهي تتكون من الاصفار و الواحدات "0110101100110110" نحن لا نفهم هذه اللغة ادن لكي نبرمج اي نعطي الحاسب التعليمات لكيفية معالجة البيانات... يجب ان نكتب هذه البيانات بلغة نفهمها نحن و الحاسب ايضا : لكن هذا مستحيل لان الحاسب جهاز غبي جدا لا يعرف الى الاصفار و الاحاد، ونحن الجنس البشري لا نفهم الا الاشياء المنطقية التي يتقبلها عقلنا ويسهل عليه حفظها.
المهم فكر العلماء في هذا المشكل ووجدوا الحل لهذه المعضل : يقتضي الحل بانشاء لغة نفهمها نحن وفي هذه الحالة هي لغات البرمجة و بعد ان نكتب الكود بهده اللغةالتي نفهمها نحن و الحاسوب لا يفهمها نحولها او نترجمها الى لغة الحاسوب بواسطة برنامج يسمى المترجم او المجمع يقوم هذه البرنامج بتحويل كود نفهمه نحن "يتكون من جمل و ارقام و علامات" الى كود يفهمه الحاسوب "001101010010011001".

ما يهمنا نحن هو عملية التحويل او الترجمة، في الواقع هنالك طريقتان للقيام بترجمة الكود الى لغة الالة :
  • المجمع (compilateur) : هده الطريقة تقريبا هي الاكثر شهرة و هي تقوم على تحويل الكود المصدري الى كود ثنائي ويتم وضعه في ملف يسمى ملف تنفيذي ( في الويندوز يكون امتداده exe.) حيث انه بمجرد الضغط عليه يحمل الكود الى الداكرة العشوائية (ram) و ينفذ. من ايجابيات هذه الطريقة هو انه يمكنك تشغيل البرنامج على كل الاجهزة دون الحاجة الى تنصيب برنامج ما.

  • المترجم (interpréteur) : هذه الطريقة هي المستخدمة في لغة البايثون فهي لا تقوم على تحويل الكود المصدري الى ملف تنفيذي انما يتم وضع الكود في ملف مصدري و عند الضغط عليه يمر من برنامج يسمى python ثم يحويله الى صيغة الحاسب و يتم تنفيده في كل مرة. طبعا هنالك بعض السلبيات هو انه لن يشتغل البرنامج الى في جهاز يكون python مثبا فيه و لكن هنالك بعض الايجابيات ايضا سنرها فيما بعد. فقط للاشارت هنالك برامج تحول الكود المصدر للبيثون الى ملف تنفيدي.

يمكنن وضع مثال لفهم المثاليين هو ان الطريقة الاولى مثل برنامج تعطيه الوصفة و يجمعها في قطعة حلوى و يمكنك اكل هذه الحلوى اينما دهبت، وفي الطريقة الثانية فهي كبرنامج تعطيه الوصفة و يعطيك مطبخ !!! وفي كل مرة حنما "تشغل" هذا المطبخ يعطيك حلوة !

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

و بعد كل شئ تبقى البايثون الاختيار الانسب.

ليست هناك تعليقات:

إرسال تعليق