مستخدم:Motaz.mslah/ملعب

من ويكيبيديا، الموسوعة الحرة

لغة بايثون[عدل]

المقدمة[عدل]

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

نشأت بايثون[عدل]

[1] نشأت بايثون في مركز CWI (مركز العلوم والحاسب الآلي) بأمستردام، في عام ١٩٩٠ م على يد Guido van Rossum ، [2]أطلق جويدو ڤان روسام (Guido van Rossum) -مؤلف لغة بايثون- عليها هذا الاسم على اسم عرض هيئة الإذاعة البريطانية "سيرك مونتي للثعابين الطائرة"(Monty Python's Flying Circus). فهو ليس معجبا بالثعابين التي تقتل الحيوانات لتتغذى عليها عن طريق تصفية جسدها بالالتفاف حولها ثم سحقها. وقد استقى هذه اللغة من عدة لغات سابقة من أمثال: Icon و ABC و Modula- و .++C و C .

مميزات بايثون[عدل]

وتعتبر بايثون من اللغات النصية التي لا تحتاج إلى بناء لتشغيل [3]البرنامج المكتوب بها البرنامج المكتوب بها، وهي من اللغات السهلة و المنظمة بشكمل صارم مما أهلها أن تكون الخيار الأول في صنف اللغات الأكاديمية التي تعتمد في الجامعات،ومن مميزات هذه اللغة ما يلي:

  • بسيطة

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

  • سهلة التعلم

بايثون سهلة للغاية لتبدا بها في تعلم البرمجة،بايثون تحتوي تراكيب سهلة وعادية.

  • حرة ومفتوحة المصدر

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

  • لغة برمجة رفيعة المستوى

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

  • محمولة

نظرا لطبيعة البرامج المفتوح المصدر،تم جعل بايثون لغة محمولة أي تم جعلها تعمل على العديد من المنصات. كل ما تكتبه من برامج بايثون يمكن أن يعمل على أي من هذه المنصات دون أن يتطلب ذلك أي تغييرات على الإطلاق إذا كنت دقيقا بما فيه الكفاية لتجنب أي خصائص تعتمد على نظام بعينه. يمكنك استخدام بايثون على لينكس، ويندوز، فري بي‌إس‌دي، ماكينتوش، سولاريس، OS/2، Amiga، AROS، AS/400، BeOS، OS/390، z/OS، Palm OS، QNX، VMS، Psion، Acorn RISC OS، VxWorks، PlayStation، Sharp Zaurus، Windows CE وحتى الحاسوب الكفي.

  • كائنية التوجه

تدعم بايثون البرمجة الإجرائية (procedure-oriented) وكذلك البرمجة الكائنية (object-oriented). في اللغات إجرائية التوجه، يتمحور البرنامج حول الإجراءات أو الدوال التي ليست سوى قطع من البرامج يمكن إعادة استخدامها. وفي اللغات كائنية التوجه، يتمحور البرنامج حول الكائنات (objects) التي تجمع بين البيانات والوظائف. وبايثون طريقة قوية جدا ولكن تبسيطية لعمل البرمجة الكائنية خاصة عند مقارنتها بلغات مثل سي++ أو جافا.

  • قابلة للامتداد (Extensible)

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

  • قابلة للتضمين

يمكنك تضمين بايثون ضمن برامج ++C/C لاعطاء قدرات ال'Scripting' لمستخدمي برنامجك. وأهم مميزاتها[4] أنها سهلة التعلم ، وهذا ما ستلحظه أثناء تعلمك لها مع قوتها في آن واحد مما جعلها الخيار الأمثل لكثير من الشركات، وسنذكر مجموعة منها: Yahoo Maps,Yahoo Groups,Google,Ultraseek,Jasc Software, Paint Shop Pro, National Weather Service,NASA,Red Hat,SGI, Inc,IBM,Real Networks,

ما مجالات لغة بايثون[5] ؟[عدل]

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

  • مجال الأدوات التي تتعامل مع النظام مباشرة
  • مجال برمجة الإنترنت
  • مجال برمجة واجهات المستخدم الرسومية
  • مجال برمجة قواعد البيانات
  • مجال البرمجة الموزعة

ماذا قال المبرمجون عن بايثون ؟[6][عدل]

ربما من المهم ان تقرا ما يقوله عظماء الهاكر عن بايثون . Eric S.Raymond : مؤلف كتاب 'The cathedral and the bazaar' وهو ايضا الشخص الذي وضع مصطلح المصادر المفتوحة. يقول:"لقد اصبحت بايثون هي لغة البرمجة المفضلة لدي"

Bruce perens : هو أحد المؤسسين ل opensource.org ومشروع userlinux. userlinux هدف لعمل توزيعة قياسية من لينكس مدعومة من بائعين متعددين ،وقد ضرب بايثون المتنافسين مثلما فعلت بيرل وروبي لتصبح لغة البرمجة الرئيسية التي التي ستكون مدعومة من قبل userlinux.

استخدامات[عدل]

تستخدم بايثون على نطاق واسع في جوجل وناسا، كما أنها قد استخدمت في برمجة أحد المشاريع العملاقة هو مشروع زوب Zope، كما تستخدم في العديد من المشاريع والتطبيقات المنتشرة عالمياً مثل مشروع بلندر blender وهو أحد برامج التصميم ثلاثية الأبعاد الشهيرة، وأيضا في جزء من مشروع موزيلا فيرفكس. لقد ادمجت بايثون بنجاح كلغة برمجة في العديد من التطبيقات والحزمات. وهي تستخدم بكثرة في تطبيقات التصميم ثلاثي الأبعاد مثل مايا Maya، سوفت اميدج إكس إس آي Softimage|XSI، وبالطبع بليندر Blender. كما أنها تستخدم في أنظمة التشغيل المختلفة مثل أغلب توزيعات لينكس ونظام ماك أو إس إكس.


الصيغة النحوية[عدل]

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


امثلة[عدل]

مثال لطباعة الجملة: Hello World!

  • ("print ("Hello world

مثال لاستخراج المضروب Factorial :

num = 1

('x = raw_input('Insert the number please

(x = int(x

while x> 1

num *= x

x = x-1

(print(num

المراجع

  1. ^ http://www.geek4arab.com/less/lesson-1205-1.html
  2. ^ http://www.khaledhosny.org/byte-of-python/introduction.html
  3. ^ http://www.ar-python.com/
  4. ^ http://www.arageek.com/2014/02/13/python-programming-language.html
  5. ^ http://www.arageek.com/2014/02/13/python-programming-language.html
  6. ^ http://www.linuxac.org/forum/memfiles/byteofpython_arabic.pdf