تاريخ لغة بايثون



تم ابتكار لغة البرمجة بايثون في أواخر ثمانينيات القرن العشرين، [ 1 ] وبدأ تطويرها في ديسمبر 1989 [ 2 ] على يد غيدو فان روسوم في مركز CWI بهولندا ، كخليفة للغة ABC ، قادرة على معالجة الاستثناءات والتفاعل مع نظام التشغيل Amoeba . [ 3 ] كان فان روسوم المؤلف الرئيسي للغة بايثون، ولعب دورًا محوريًا في تحديد مسارها (كما يتضح من اللقب الذي أطلقه عليه مجتمع بايثون، " الديكتاتور الخير مدى الحياة " [ 4 ] [ 5 ] )، إلى أن تنحى عن منصبه كقائد في 12 يوليو 2018. [ 6 ] سُميت بايثون تيمنًا ببرنامج مونتي بايثون الطائر الذي عُرض على قناة BBC . [ 7 ]
تم إصدار بايثون 2.0 في 16 أكتوبر 2000، مع العديد من الميزات الجديدة الرئيسية، مثل فهم القوائم ، وجامع القمامة الذي يكشف عن الحلقات ، وحساب المراجع ، وإدارة الذاكرة ، ودعم يونيكود ، إلى جانب تغيير في عملية التطوير نفسها، مع التحول إلى عملية أكثر شفافية ومدعومة من المجتمع. [ 8 ]
صدرت بايثون 3.0، وهي إصدار رئيسي غير متوافق مع الإصدارات السابقة، في 3 ديسمبر 2008 [ 9 ] بعد فترة طويلة من الاختبار. كما تم نقل العديد من ميزاتها الرئيسية إلى إصدارات بايثون 2.6 و2.7 المتوافقة مع الإصدارات السابقة [ 10 ] حتى توقف دعم بايثون 2 نهائيًا في بداية عام 2020. تتضمن إصدارات بايثون 3 حتى 3.12 2to3أداةً تُسهّل ترجمة كود بايثون 2 إلى بايثون 3. [ 11 ]
اعتبارًا من يونيو 2026يُعدّ Python 3.14.6 أحدث إصدار مستقر. يتلقى هذا الإصدار حاليًا تحديثات كاملة لإصلاح الأخطاء وتحسينات الأمان، بينما سيستمر Python 3.13 - الذي صدر في أكتوبر 2024 - في تلقي إصلاحات الأخطاء حتى أكتوبر 2026، وبعد ذلك سيتلقى فقط تحديثات الأمان حتى نهاية عمره الافتراضي في عام 2029. يُعدّ Python 3.10 أقدم فرع مدعوم من Python (مع أنه في مرحلة "دعم الأمان"). [ 12 ] [ 13 ]
التاريخ المبكر
نشر فان روسوم الكود لأول مرة (لإصدار بايثون 0.9.1) على موقع alt.sources في فبراير 1991. [ 14 ] [ 15 ] كانت العديد من ميزات اللغة موجودة بالفعل في هذه المرحلة، من بينها الفئات ذات الوراثة ، ومعالجة الاستثناءات، والدوال، وأنواع البيانات الأساسية المختلفة مثل list` dict<T>` و`<T>` و` < strT>`. احتوى الإصدار الأولي أيضًا على نظام وحدات مُستعار من Modula-3 ؛ ويصف فان روسوم الوحدة بأنها "إحدى وحدات البرمجة الرئيسية في بايثون". [ 1 ] كما تشابه نموذج استثناءات بايثون مع نموذج Modula-3، مع إضافة elseعبارة `<T>`. [ 3 ] في عام 1994 ، تم إنشاء منتدى نقاش بايثون الرئيسي ، comp.lang.python . [ 1 ]
الإصدار 1
وصلت لغة بايثون إلى الإصدار 1.0 في يناير 1994. وشملت الميزات الجديدة الرئيسية في هذا الإصدار أدوات البرمجة الوظيفية lambda lambdaو reduce() mapو filter() filterو reducemap(). وذكر فان روسوم أن "بايثون اكتسبت lambda وreduce() وfilter() وmap() بفضل مبرمج لغة ليسب الذي افتقدها وقدم تصحيحات برمجية تعمل ". [ 16 ]
كان آخر إصدار تم إصداره أثناء وجود فان روسوم في CWI هو Python 1.2. في عام 1995، واصل فان روسوم عمله على Python في مؤسسة مبادرات البحوث الوطنية (CNRI) في ريستون، فيرجينيا، حيث أصدر عدة إصدارات.
بحلول الإصدار 1.4، اكتسبت لغة بايثون العديد من الميزات الجديدة. ومن أبرزها وسائط الكلمات المفتاحية المستوحاة من لغة Modula-3 (والتي تشبه أيضًا وسائط الكلمات المفتاحية في لغة Common Lisp ) ودعم مدمج للأعداد المركبة . كما تتضمن شكلاً أساسيًا لإخفاء البيانات عن طريق تغيير الأسماء ، مع أنه يمكن تجاوز ذلك بسهولة. [ 17 ]
خلال فترة عمل فان روسوم في مركز أبحاث علوم البحار الكندي (CNRI)، أطلق مبادرة "برمجة الحاسوب للجميع" (CP4E)، بهدف جعل البرمجة في متناول شريحة أوسع من الناس، من خلال امتلاكهم معرفة أساسية بلغات البرمجة، على غرار مهارات القراءة والكتابة الأساسية باللغة الإنجليزية والرياضيات التي تتطلبها معظم جهات العمل. لعبت لغة بايثون دورًا محوريًا في هذا المشروع: نظرًا لتركيزها على بناء الجملة الواضح، فقد كانت مناسبة بالفعل، كما أن أهداف CP4E كانت مشابهة لأهداف سابقتها، ABC. وقد مولت وكالة مشاريع الأبحاث الدفاعية المتقدمة (DARPA) المشروع . [ 18 ] اعتبارًا من عام 2007مشروع CP4E غير نشط، وعلى الرغم من أن لغة بايثون تسعى إلى أن تكون سهلة التعلم وغير معقدة في تركيبها ودلالاتها، إلا أن التواصل مع غير المبرمجين ليس من أولوياتها. [ 19 ]
كن منفتحًا
في عام 2000، انتقل فريق تطوير بايثون الأساسي إلى BeOpen.com [ 20 ] لتشكيل فريق BeOpen PythonLabs. [ 21 ] [ 22 ] طلب المركز الوطني للبحوث البحرية (CNRI) إصدار النسخة 1.6، التي تلخص تطوير بايثون حتى مغادرة فريق التطوير للمركز. ونتيجةً لذلك، تداخلت مواعيد إصدار النسختين 1.6 و2.0 بشكل كبير. [ 8 ] كانت بايثون 2.0 هي الإصدار الوحيد من BeOpen.com. بعد إصدار بايثون 2.0 من BeOpen.com، انضم غيدو فان روسوم ومطورو PythonLabs الآخرون إلى شركة Digital Creations .
تضمن إصدار بايثون 1.6 ترخيصًا جديدًا من CNRI أطول بكثير من ترخيص CWI المستخدم في الإصدارات السابقة. وتضمن الترخيص الجديد بندًا ينص على خضوعه لقوانين ولاية فرجينيا . جادلت مؤسسة البرمجيات الحرة بأن بند اختيار القانون يتعارض مع رخصة جنو العمومية (GPL) . تفاوضت BeOpen وCNRI ومؤسسة البرمجيات الحرة على تعديل ترخيص بايثون للبرمجيات الحرة ليصبح متوافقًا مع رخصة جنو العمومية. يُعد بايثون 1.6.1 مطابقًا تقريبًا لبايثون 1.6، مع بعض إصلاحات الأخطاء الطفيفة، ومع الترخيص الجديد المتوافق مع رخصة جنو العمومية. [ 23 ]
الإصدار 2
قدمت لغة بايثون 2.0، التي صدرت في أكتوبر 2000، [ 8 ] ميزة "فهم القوائم" ، وهي ميزة مستعارة من لغتي البرمجة الوظيفية SETL وهاسكل . يتشابه بناء جملة بايثون لهذا البناء إلى حد كبير مع بناء جملة هاسكل، باستثناء تفضيل هاسكل لعلامات الترقيم وتفضيل بايثون للكلمات المفتاحية الأبجدية. كما قدمت بايثون 2.0 جامعًا للقمامة قادرًا على جمع دورات المراجع. [ 8 ]
كانت لغة بايثون 2.1 قريبة من بايثون 1.6.1، وكذلك من بايثون 2.0. وقد أُعيد تسمية ترخيصها إلى ترخيص مؤسسة برمجيات بايثون . جميع الأكواد والوثائق والمواصفات المُضافة، منذ إصدار النسخة التجريبية الأولى من بايثون 2.1، مملوكة لمؤسسة برمجيات بايثون (PSF)، وهي منظمة غير ربحية تأسست عام 2001، على غرار مؤسسة برمجيات أباتشي . [ 23 ] تضمن الإصدار تغييرًا في مواصفات اللغة لدعم النطاقات المتداخلة، كما هو الحال في لغات البرمجة الأخرى ذات النطاق الثابت . [ 24 ] (كانت هذه الميزة مُعطلة افتراضيًا، وغير مطلوبة، حتى إصدار بايثون 2.2).
صدرت بايثون 2.2 في ديسمبر 2001؛ [ 25 ] وكان من أبرز ابتكاراتها توحيد أنواع بايثون (الأنواع المكتوبة بلغة C ) وفئاتها (الأنواع المكتوبة بلغة بايثون) في تسلسل هرمي واحد. وقد جعل هذا التوحيد نموذج كائنات بايثون كائني التوجه بشكل كامل ومتسق. [ 26 ] كما أُضيفت مولدات مستوحاة من مكتبة Icon . [ 27 ]
صدرت لغة بايثون 2.5 في سبتمبر 2006 [ 28 ] وقدمت withعبارة `require`، التي تُحيط كتلة برمجية داخل مدير سياق (على سبيل المثال، الحصول على قفل قبل تشغيل كتلة التعليمات البرمجية وتحرير القفل بعد ذلك، أو فتح ملف ثم إغلاقه)، مما يسمح بسلوك مشابه لسلوك الحصول على الموارد أثناء التهيئة (RAII) ويحل محل عبارة `try/finally` الشائعة. [ 29 ]
صدرت بايثون 2.6 بالتزامن مع بايثون 3.0، وتضمنت بعض ميزات ذلك الإصدار، بالإضافة إلى وضع "التحذيرات" الذي يُبرز استخدام الميزات التي أُزيلت في بايثون 3.0. [ 30 ] [ 10 ] وبالمثل، صدرت بايثون 2.7 بالتزامن مع بايثون 3.1 وتضمنت ميزات منها، [ 31 ] والتي صدرت في 26 يونيو 2009. ثم توقفت إصدارات 2.x و3.x المتوازية، وكانت بايثون 2.7 آخر إصدار في سلسلة 2.x. [ 32 ] في نوفمبر 2014، أُعلن أن دعم بايثون 2.7 سيستمر حتى عام 2020، ولكن تم تشجيع المستخدمين على الانتقال إلى بايثون 3 في أقرب وقت ممكن. [ 33 ] انتهى دعم بايثون 2.7 في 1 يناير 2020، بالتزامن مع تجميد كود فرع تطوير 2.7. صدر الإصدار الأخير، 2.7.18، في 20 أبريل 2020، وتضمن إصلاحات لأخطاء حرجة وعوائق تعيق الإصدار. [ 34 ] وقد مثّل هذا نهاية دعم بايثون 2. [ 35 ]
الإصدار 3
صدرت لغة بايثون 3.0 (المعروفة أيضًا باسم "بايثون 3000" أو "Py3K") في 3 ديسمبر 2008. [ 9 ] صُممت هذه النسخة لتصحيح عيوب تصميمية جوهرية في اللغة ، حيث لم يكن من الممكن تطبيق التغييرات المطلوبة مع الحفاظ على التوافق التام مع الإصدارات السابقة من سلسلة 2.x، مما استلزم إصدار رقم إصدار رئيسي جديد. وكان المبدأ التوجيهي لبايثون 3 هو: "تقليل تكرار الميزات عن طريق إزالة الطرق القديمة لتنفيذ المهام". [ 36 ]
طُوِّرت لغة بايثون 3.0 بنفس فلسفة الإصدارات السابقة. ومع ذلك، ونظرًا لتراكم طرق جديدة ومتكررة لبرمجة نفس المهمة في بايثون، ركّزت بايثون 3.0 على إزالة البنى والوحدات النمطية المكررة، تماشيًا مع مبدأ بايثون الأساسي : "يجب أن تكون هناك طريقة واحدة - ويفضل أن تكون واحدة فقط - واضحة لإنجاز المهمة".
ومع ذلك، ظلت لغة بايثون 3.0 لغة متعددة الأنماط . كان بإمكان المبرمجين اتباع أنماط البرمجة الكائنية والهيكلية والوظيفية ، من بين أنماط أخرى، ولكن ضمن هذه الخيارات الواسعة، كان من المفترض أن تكون التفاصيل أكثر وضوحًا في بايثون 3.0 مما كانت عليه في بايثون 2.x.
التوافق
أدى إصدار بايثون 3.0 إلى كسر التوافق مع الإصدارات السابقة، ولذا فإن الكثير من أكواد بايثون 2 لا تعمل دون تعديل على بايثون 3. [ 37 ] وقد جعل نظام الكتابة الديناميكي في بايثون، بالإضافة إلى خطط تغيير دلالات بعض طرق القواميس، على سبيل المثال، الترجمة الآلية الكاملة من بايثون 2.x إلى بايثون 3.0 أمرًا بالغ الصعوبة. تقوم أداة تُسمى " 2to3" بأجزاء الترجمة التي يمكن إجراؤها تلقائيًا. وقد 2to3بدت هذه الأداة ناجحة إلى حد ما، على الرغم من أن مراجعة مبكرة أشارت إلى وجود جوانب في الترجمة لا يمكن لمثل هذه الأداة التعامل معها. [ 38 ] قبل إطلاق بايثون 3، كان يُنصح المشاريع التي تتطلب التوافق مع كل من سلسلتي 2.x و3.x باستخدام مصدر واحد (لسلسلة 2.x)، وإصدار نسخ لمنصة بايثون 3.x باستخدام 2to3. وكان يُنصح بعدم إجراء تعديلات على كود بايثون 3.x طالما كان الكود بحاجة إلى التشغيل على بايثون 2.x. [ 10 ] لم يعد هذا مُوصى به؛ اعتبارًا من عام 2012، كان النهج المفضل هو إنشاء قاعدة بيانات واحدة يمكن تشغيلها تحت كل من Python 2 و 3 باستخدام وحدات التوافق. [ 39 ]
سمات
تضمنت بعض التغييرات الرئيسية في بايثون 3.0 ما يلي:
- تم تغييرها
printلتصبح دالة مدمجة ، وليست عبارة. سهّل هذا تغيير وحدة برمجية لاستخدام دالة طباعة مختلفة، وجعل بناء الجملة أكثر انتظامًا. في بايثون 2.6 و2.7، تتوفر كدالة مدمجة، ولكنها مُخفية بواسطة بناء جملة عبارة الطباعة، والذي يمكن تعطيله بإدخال [ 40 ] في بداية الملف.print()from__future__importprint_function - تمت إزالة دالة Python 2
input، وإعادة تسمية الدالةraw_inputإلىinput. تتصرف دالة Python 3inputمثل دالة Python 2raw_input، حيث يتم إرجاع المدخلات دائمًا كسلسلة نصية بدلاً من تقييمها كتعبير. - نقل
reduce(ولكن ليسmapأوfilter) من مساحة الاسم المضمنة إلىfunctools(السبب هو أن الكود الذي يستخدمreduceأقل قابلية للقراءة من الكود الذي يستخدم حلقة for ومتغير تراكمي) [ 41 ] [ 42 ] - إضافة دعم لتعليقات الوظائف الاختيارية التي يمكن استخدامها لإعلانات الأنواع غير الرسمية أو لأغراض أخرى [ 43 ]
- توحيد الأنواع
strوunicodeفيstr، لتمثيل النص، وتقديمbytesنوع غير قابل للتغيير منفصل؛ ونوع قابل للتغيير مطابق له في الغالبbytearray، وكلاهما يمثل مصفوفات من البايتات [ 44 ] - إزالة ميزات التوافق مع الإصدارات السابقة، بما في ذلك الفئات القديمة، واستثناءات السلاسل النصية، والاستيرادات النسبية الضمنية.
- طرأ تغيير على وظيفة القسمة الصحيحة : في بايثون 2، تُرجع القسمة الصحيحة دائمًا عددًا صحيحًا. على سبيل المثال ، `a` تساوي `a`؛ بينما في بايثون 3، تُرجع `a` تساوي `a`. (في كل من بايثون 2 (من الإصدار 2.2 فصاعدًا ) وبايثون 3، يوجد مُعامل مُنفصل لتوفير السلوك القديم: ` a` تساوي ` a`).
5/225/22.55//22 - السماح باستخدام الأحرف غير ASCII في المعرفات، [ 45 ] كما هو الحال في
smörgåsbord - توحيد أنواع الأعداد الصحيحة
intفيlongنوع واحد:int. يقتصر بايثون 2intعلى الأعداد الصحيحة بين-2147483648و2147483647شاملةً. أي عدد صحيح خارج هذا النطاق أو داخله له لاحقةLأوlمثل-100000000000000L,0l[ 46 ]
الإصدارات اللاحقة
حددت لغة بايثون 3.2 واجهة تطبيق ثنائية مستقرة ، مما يسمح لوحدات الامتداد بالاعتماد على الوظائف عبر إصدارات بايثون المختلفة.
أضافت بايثون 3.5 وحدة الكتابة، التي تسمح بتلميحات الأنواع وتعليقات توقيع الدوال . كما أضافت صيغة async/await . علاوة على ذلك، .pyoتم حذف الملفات، التي كانت تمثل كلاً من التعليمات البرمجية.pyc غير المحسّنة والمحسّنة .
تبع ذلك إصدار بايثون 3.6 مع مولدات غير متزامنة وفهم غير متزامن ( للقوائم وكذلك القواميس والمجموعات)، بالإضافة إلى سلاسل نصية منسقة (سلاسل f). [ 47 ]
قدّمت بايثون 3.10 ميزة مطابقة الأنماط الهيكلية عبر عبارات match/case. كما وفّرت رسائل خطأ محسّنة "مستوحاة من أعمال سابقة في مترجم PyPy"، وأضافت عامل |نوع الاتحاد . [ 48 ]
أضافت بايثون 3.11 وظائف موسعة لمعالجة الاستثناءات . وقد ركزت الجهود في هذا الإصدار على تحسين سرعة بايثون؛ حيث يُزعم أن الإصدار 3.11 أسرع بنسبة تتراوح بين 10% و60% من الإصدار 3.10، [ 49 ] بينما زاد الإصدار 3.12 السرعة بنسبة 5% إضافية.
أضافت بايثون 3.12 الكلمة المفتاحية الجديدة typeوحسّنت رسائل الخطأ.
أضافت بايثون 3.13 مُترجمًا تجريبيًا يعمل في الوقت الفعلي (JIT) ، وإمكانية تعطيل قفل المُفسِّر العام ، ومُفسِّرًا تفاعليًا جديدًا ومُحسَّنًا ( REPL )، وجامعًا تدريجيًا للنفايات . [ 50 ] بدءًا من بايثون 3.13، تتلقى هذه النسخة والإصدارات اللاحقة منها عامين من الدعم الكامل (بعد أن كانت سنة ونصف)، يليهما ثلاث سنوات من الدعم الأمني؛ وهذه هي نفس المدة الإجمالية للدعم كما كانت سابقًا.
قدمت بايثون 3.14 مُفسِّرًا جديدًا لاستدعاء الذيل كميزة اختيارية، مما يوفر أداءً أفضل بنسبة 3-5%. [ 51 ]
سيُفعّل بايثون 3.15 وضع UTF-8 افتراضيًا؛ [ 52 ] هذا الوضع مدعوم في جميع إصدارات بايثون الحالية، ولكن يجب تفعيله حاليًا. يُستخدم UTF-8 افتراضيًا على نظام ويندوز ( وأنظمة تشغيل أخرى ) لمعظم الأغراض، باستثناء فتح الملفات. كما أن تفعيل UTF-8 يجعل الكود متوافقًا تمامًا مع جميع الأنظمة الأساسية .
حماية
تم تسريع تحديثات الأمان في عام 2021، ومرتين أخريين في عام 2022. كما تم إصلاح المزيد من المشكلات في عام 2023 وفي سبتمبر 2024 (لإصدارات بايثون من 3.8.20 إلى 3.12.6) - حيث كانت جميع الإصدارات (بما في ذلك 2.7) [ 53 ] غير آمنة بسبب مشكلات أدت إلى إمكانية تنفيذ التعليمات البرمجية عن بُعد [ 54 ] وتسميم ذاكرة التخزين المؤقت للويب . [ 55 ]
جدول الإصدارات
الإصدارات السابقة للإصدارات المرقمة:
| إصدار | أحدث إصدار مصغر | تاريخ الافراج عنه | نهاية الدعم الكامل | نهاية إصلاحات الأمان |
|---|---|---|---|---|
| غير مدعوم: 0.9 | 0.9.9 [ 2 ] | 20-02-1991 [ 2 ] | 1993-07-29 [ أ ] [ 2 ] | |
| غير مدعوم: 1.0 | 1.0.4 [ 2 ] | 26-01-1994 [ 2 ] | 1994-07-14 [ أ ] [ 2 ] | |
| غير مدعوم: 1.1 | 1.1.1 [ 2 ] | 1994-10-11 [ 2 ] | 1994-11-10 [ أ ] [ 2 ] | |
| غير مدعوم: 1.2 | 1995-04-13 [ 2 ] | غير مدعوم | ||
| غير مدعوم: 1.3 | 1995-10-13 [ 2 ] | غير مدعوم | ||
| غير مدعوم: 1.4 | 25-10-1996 [ 2 ] | غير مدعوم | ||
| غير مدعوم: 1.5 | 1.5.2 [ 56 ] | 1998-01-03 [ 2 ] | 1999-04-13 [ أ ] [ 2 ] | |
| غير مدعوم: 1.6 | 1.6.1 [ 56 ] | 2000-09-05 [ 57 ] | 2000–09 [ أ ] [ 56 ] | |
| غير مدعوم: 2.0 | 2.0.1 [ 58 ] | 2000-10-16 [ 59 ] | 2001-06-22 [ أ ] [ 58 ] | |
| غير مدعوم: 2.1 | 2.1.3 [ 58 ] | 2001-04-15 [ 60 ] | 2002-04-09 [ أ ] [ 58 ] | |
| غير مدعوم: 2.2 | 2.2.3 [ 58 ] | 2001-12-21 [ 61 ] | 2003-05-30 [ أ ] [ 58 ] | |
| غير مدعوم: 2.3 | 2.3.7 [ 58 ] | 2003-06-29 [ 62 ] | 2008-03-11 [ أ ] [ 58 ] | |
| غير مدعوم: 2.4 | 2.4.6 [ 58 ] | 2004-11-30 [ 63 ] | 2008-12-19 [ أ ] [ 58 ] | |
| غير مدعوم: 2.5 | 2.5.6 [ 58 ] | 2006-09-19 [ 64 ] | 2011-05-26 [ أ ] [ 58 ] | |
| غير مدعوم: 2.6 | 2.6.9 [ 30 ] | 2008-10-01 [ 30 ] | 2010-08-24 [ ب ] [ 30 ] | 2013-10-29 [ 30 ] |
| غير مدعوم: 2.7 | 2.7.18 [ 35 ] | 2010-07-03 [ 35 ] | 2020-01-01 [ ج ] [ 35 ] | |
| غير مدعوم: 3.0 | 3.0.1 [ 58 ] | 2008-12-03 [ 30 ] | 2009-06-27 [ 65 ] | |
| غير مدعوم: 3.1 | 3.1.5 [ 66 ] | 2009-06-27 [ 66 ] | 2011-06-12 [ 67 ] | 2012-04-06 [ 66 ] |
| غير مدعوم: 3.2 | 3.2.6 [ 68 ] | 2011-02-20 [ 68 ] | 2013-05-13 [ ب ] [ 68 ] | 2016-02-20 [ 68 ] |
| غير مدعوم: 3.3 | 3.3.7 [ 69 ] | 2012-09-29 [ 69 ] | 2014-03-08 [ ب ] [ 69 ] | 2017-09-29 [ 69 ] |
| غير مدعوم: 3.4 | 3.4.10 [ 70 ] | 2014-03-16 [ 70 ] | 2017-08-09 [ 71 ] | 2019-03-18 [ أ ] [ 70 ] |
| غير مدعوم: 3.5 | 3.5.10 [ 72 ] | 2015-09-13 [ 72 ] | 2017-08-08 [ 73 ] | 2020-09-30 [ 72 ] |
| غير مدعوم: 3.6 | 3.6.15 [ 74 ] | 2016-12-23 [ 74 ] | 2018-12-24 [ ب ] [ 74 ] | 2021-12-23 [ 74 ] |
| غير مدعوم: 3.7 | 3.7.17 [ 75 ] | 2018-06-27 [ 75 ] | 2020-06-27 [ ب ] [ 75 ] | 2023-06-27 [ 75 ] |
| غير مدعوم: 3.8 | 3.8.20 [ 76 ] | 2019-10-14 [ 76 ] | 2021-05-03 [ ب ] [ 76 ] | 2024-10-07 [ 76 ] |
| غير مدعوم: 3.9 | 3.9.25 [ 77 ] | 2020-10-05 [ 77 ] | 2022-05-17 [ ب ] [ 77 ] | 2025-10-31 [ 77 ] [ 78 ] |
| الإصدار المدعوم: 3.10 | 3.10.20 [ 79 ] | 2021-10-04 [ 79 ] | 2023-04-05 [ ب ] [ 79 ] | 2026-10 [ 79 ] |
| الإصدار المدعوم: 3.11 | 3.11.15 [ 80 ] | 2022-10-24 [ 80 ] | 2024-04-02 [ ب ] [ 80 ] | 2027-10 [ 80 ] |
| الإصدار المدعوم: 3.12 | 3.12.13 [ 81 ] | 2023-10-02 [ 81 ] | 2025-04-08 [ ب ] [ 81 ] | 2028-10 [ 81 ] |
| الإصدار المدعوم: 3.13 | 3.13.13 [ 82 ] | 2024-10-07 [ 82 ] | 2026-10 [ 82 ] | 2029-10 [ 82 ] |
| أحدث إصدار: 3.14 | 3.14.6 [ 83 ] | 2025-10-07 [ 83 ] | 2027-10 [ 83 ] | 2030-10 [ 83 ] |
| الإصدار المستقبلي: 3.15 | 3.15.0 [ 84 ] | 2026-10-01 [ 84 ] | 2028-10 [ 84 ] | 2031-10 [ 84 ] |
ملاحظات الجدول:
يدعم
![]() |
انظر أيضاً
مراجع
- 1 2 3 "صناعة بايثون" . مطور أرتيما. مؤرشف من الأصل في 1 سبتمبر 2016. تم الاطلاع عليه في 22 مارس 2007 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 فان روسوم، غيدو (20 يناير 2009). "جدول زمني موجز لبايثون" . مؤرشف من الأصل في 25 أغسطس 2011. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ١ ٢ "لماذا تم إنشاء لغة بايثون في المقام الأول؟" . أسئلة وأجوبة حول بايثون. مؤرشف من الأصل في ٢٣ فبراير ٢٠٠٨. تم الاطلاع عليه في ٢٢ مارس ٢٠٠٧ .
- ↑ فان روسوم، غيدو (31 يوليو 2008). "أصل مصطلح BDFL" . مؤرشف من الأصل في 16 يناير 2011. تم الاطلاع عليه في 1 أغسطس 2008 .
- ↑ "برامج بايثون للمطورين داخل جوجل" . www.eweek.com. 7 مارس 2006. تم الاطلاع عليه في 13 مايو 2008 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ فيرتشايلد، كارلي (12 يوليو 2018). "غيدو فان روسوم يتنحى عن دوره كحاكم بايثون مدى الحياة" . مجلة لينكس . مؤرشف من الأصل في 13 يوليو 2018. تم الاطلاع عليه في 12 يوليو 2018 .
- ↑ "أسئلة وأجوبة عامة حول بايثون - وثائق بايثون 3.8.3" . docs.python.org . مؤرشف من الأصل بتاريخ 24 أكتوبر 2012. تم الاطلاع عليه بتاريخ 4 يونيو 2020 .
- 1 2 3 4 كوتشلينغ، أندرو م.؛ زادكا، موشيه. "ما الجديد في بايثون 2.0" . مؤرشف من الأصل في 14 ديسمبر 2009. تم الاطلاع عليه في 22 مارس 2007 .
- ١ ٢ "مرحباً بكم في Python.org" . python.org . مؤرشف من الأصل في ١٤ يونيو ٢٠٢٠. تم الاطلاع عليه في ٢٧ ديسمبر ٢٠١٦ .
- 1 2 3 فان روسوم، غيدو (5 أبريل 2006). "PEP 3000 – بايثون 3000" . مؤرشف من الأصل في 2 أبريل 2022. تم الاطلاع عليه في 27 ديسمبر 2016 .
- ↑ "2to3 — ترجمة أكواد بايثون 2 إلى 3 آليًا — وثائق بايثون 3.12.12" . docs.python.org . تم الاطلاع عليه في 12 ديسمبر 2025 .
- ↑ "حالة إصدارات بايثون" . دليل مطوري بايثون . تم الاطلاع عليه في 7 أكتوبر 2024 .
- ↑ "Python" . endoflife.date . 8 أكتوبر 2024. تم الاطلاع عليه في 20 نوفمبر 2024 .
- ↑ "Python 0.9.1 part 01/21" . أرشيف alt.sources. مؤرشف من الأصل بتاريخ 11 أغسطس 2021. تم الاطلاع عليه بتاريخ 11 أغسطس 2021 .
- ↑ "التاريخ" . توزيع مصدر بايثون . مؤسسة بايثون. مؤرشف من الأصل في 1 ديسمبر 2017. تم الاسترجاع في 23 نوفمبر 2017 .
- ↑ فان روسوم، غيدو. "مصير دالة reduce() في بايثون 3000" . مطور أرتيما. مؤرشف من الأصل في 7 أبريل 2007. تم الاطلاع عليه في 22 مارس 2007 .
- ↑ "LJ #37: تحديث بايثون 1.4" . مؤرشف من الأصل في 1 مايو 2007. تم الاطلاع عليه في 29 أبريل 2007 .
- ↑ فان روسوم، غيدو. "برمجة الحاسوب للجميع" . مؤرشف من الأصل في 1 مايو 2007. تم الاطلاع عليه في 22 مارس 2007 .
- ↑ "برمجة الحاسوب للجميع" . مؤسسة برمجيات بايثون. مؤرشف من الأصل في 29 مارس 2007. تم الاطلاع عليه في 22 مارس 2007 .
- ↑ "انتقال فريق تطوير بايثون إلى BeOpen.Com - سلاش دوت" . slashdot.org . مؤرشف من الأصل بتاريخ 12 أبريل 2020. تم الاطلاع عليه بتاريخ 12 أبريل 2020 .
- ↑ "افتح | شريكك الرقمي في التأمين" . مؤرشف من الأصل في 15 أغسطس 2000.
- ↑ "مُزوّد إدارة المحتوى PyBiz يُعلن عن شراكة استراتيجية مع BeOpen في استخدام لغة برمجة بايثون" (ملف PDF) . مؤرشف (PDF) من الأصل بتاريخ 12 أبريل 2020. تم الاطلاع عليه بتاريخ 12 أبريل 2020 .
- 1 2 "التاريخ والترخيص" . وثائق بايثون 3. مؤرشف من الأصل في 5 ديسمبر 2016. تم الاطلاع عليه في 7 ديسمبر 2022 .
- ↑ هيلتون، جيريمي (1 نوفمبر 2000). "PEP 227 - النطاقات المتداخلة الثابتة" . مؤرشف من الأصل في 23 مايو 2022. تم الاطلاع عليه في 22 مارس 2007 .
- ↑ "Python 2.2" . Python.org . مؤرشف من الأصل في 2 أغسطس 2019. تم الاطلاع عليه في 31 ديسمبر 2019 .
- ↑ كوتشلينغ، أندرو م. (21 ديسمبر 2001). "PEPs 252 و253: تغييرات في الأنواع والفئات" . ما الجديد في بايثون 2.2 . مؤسسة بايثون. مؤرشف من الأصل في 17 سبتمبر 2008. تم الاطلاع عليه في 5 سبتمبر 2008 .
- ↑ شيمينور، نيل؛ بيترز، تيم؛ هيتلاند، ماغنوس (21 ديسمبر 2001). "PEP 255 - المولدات البسيطة" . مؤرشف من الأصل في 31 يناير 2023. تم الاطلاع عليه في 5 سبتمبر 2008 .
- ↑ "إصدار بايثون 2.5" . Python.org . مؤرشف من الأصل في 4 أغسطس 2019. تم الاطلاع عليه في 20 مارس 2018 .
- ↑ "أبرز النقاط: بايثون 2.5" . Python.org . مؤرشف من الأصل في 4 أغسطس 2019. تم الاطلاع عليه في 20 مارس 2018 .
- 1 2 3 4 5 6 نورويتز، نيل؛ وارسو، باري (29 يونيو 2006). "PEP 361 - جدول إصدار بايثون 2.6 و3.0" . مؤرشف من الأصل في 12 أبريل 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ كوتشلينغ، أندرو م . (3 يوليو 2010). "ما الجديد في بايثون 2.7" . مؤرشف من الأصل في 7 يونيو 2012. تم الاطلاع عليه في 7 أكتوبر 2012.
كما هو الحال مع بايثون 2.6 التي تضمنت ميزات من بايثون 3.0، فإن الإصدار 2.7 يتضمن بعض الميزات الجديدة في بايثون 3.1. وتستمر سلسلة 2.x في توفير أدوات للانتقال إلى سلسلة 3.x.
- ↑ وارسو، باري (9 نوفمبر 2011). "PEP 404 - جدول إلغاء إصدار بايثون 2.8" . مؤرشف من الأصل في 23 مايو 2022. تم الاطلاع عليه في 7 أكتوبر 2012 .
- ↑ جي، سو (14 أبريل 2014). "سيتم دعم بايثون 2.7 حتى عام 2020" . i-programmer.info . مؤرشف من الأصل في 10 مايو 2016. تم الاطلاع عليه في 27 ديسمبر 2016 .
- ↑ "التحديثات: python/cpython في الإصدار 2.7" . جيت هاب . مؤرشف من الأصل في 22 أبريل 2020. تم الاطلاع عليه في 22 أبريل 2020 .
- 1 2 3 4 5 بيترسون، بنجامين (3 نوفمبر 2008). "PEP 373 - جدول إصدار بايثون 2.7" . مؤرشف من الأصل في 13 مارس 2022. تم الاطلاع عليه في 20 أبريل 2020 .
- ↑ "PEP 3100 – خطط متنوعة لـ Python 3.0 | peps.python.org" . peps.python.org . مؤرشف من الأصل في 25 مايو 2022. تم الاطلاع عليه في 2 يونيو 2022 .
- ↑ "PEP 3000 – Python 3000 | peps.python.org" . peps.python.org . مؤرشف من الأصل في 2 أبريل 2022. تم الاطلاع عليه في 2 يونيو 2022 .
- ↑ روبي، سام (1 سبتمبر 2007). "2to3" . intertwingly.net . مؤرشف من الأصل في 24 مارس 2016. تم الاطلاع عليه في 6 سبتمبر 2024 .
- ↑ كوجلان، أليسا (21 أبريل 2020). "أسئلة وأجوبة حول بايثون 3 - ملاحظات أليسا كوجلان حول بايثون" . python-notes.curiousefficiency.org . تم الاطلاع عليه في 6 سبتمبر 2024 .
- ↑ براندل، جورج (19 نوفمبر 2007). "PEP 3105 - اجعل الطباعة وظيفة" . مؤرشف من الأصل في 2 أبريل 2022. تم الاسترجاع في 27 ديسمبر 2016 .
- ↑ فان روسوم، غيدو. "أسئلة وأجوبة حول بايثون 3000" . artima.com . مؤرشف من الأصل في 9 نوفمبر 2020. تم الاطلاع عليه في 27 ديسمبر 2016 .
- ↑ "مصير دالة reduce() في بايثون 3000" . www.artima.com . مؤرشف من الأصل بتاريخ 18 ديسمبر 2019. تم الاطلاع عليه بتاريخ 31 ديسمبر 2019 .
- ↑ وينتر، كولين؛ لوندز، توني (2 ديسمبر 2006). "PEP 3107 - تعليقات الدوال" . مؤرشف من الأصل في 13 مارس 2022. تم الاطلاع عليه في 27 ديسمبر 2016 .
- ↑ فان روسوم، غيدو (26 سبتمبر 2007). "PEP 3137 - بايتات غير قابلة للتغيير ومخزن مؤقت قابل للتغيير" . مؤرشف من الأصل في 23 مايو 2022. تم الاطلاع عليه في 23 مايو 2022 .
- ↑ "PEP 3131 – دعم المعرفات غير ASCII | peps.python.org" . مقترحات تحسين بايثون (PEPs) . تم الاطلاع عليه في 1 يوليو 2024 .
- ↑ "PEP 237 – توحيد الأعداد الصحيحة الطويلة والأعداد الصحيحة | peps.python.org" . مقترحات تحسين بايثون (PEPs) . تم الاطلاع عليه بتاريخ 21 أكتوبر 2025 .
- ↑ برانسكيفيتشوس، إلفيس؛ سيلفانوف، يوري، محرران. (23 ديسمبر 2016). "ما الجديد في بايثون 3.6" . وثائق بايثون . تم الاطلاع عليه في 5 أغسطس 2025 .
- ↑ "ما الجديد في بايثون 3.10" . وثائق بايثون . تم الاطلاع عليه في 12 يونيو 2025 .
- ↑ كوربيت (24 أكتوبر 2022). "إصدار بايثون 3.11 [ LWN.net ] " . lwn.net . تم الاطلاع عليه في 15 نوفمبر 2022 .
- ↑ "ما الجديد في بايثون 3.13" . وثائق بايثون . تم الاطلاع عليه في 30 أبريل 2024 .
- ↑ "ما الجديد في بايثون 3.14" . بايثون . مؤسسة بايثون . تم الاطلاع عليه في 10 أكتوبر 2025 .
- ↑ "PEP 686 – اجعل وضع UTF-8 هو الوضع الافتراضي | peps.python.org" . مقترحات تحسين بايثون (PEPs) . تم الاطلاع عليه بتاريخ 20 نوفمبر 2024 .
- ↑ "CVE-2021-3177" . بوابة عملاء ريد هات . مؤرشف من الأصل في 6 مارس 2021. تم الاطلاع عليه في 26 فبراير 2021 .
- ↑ "CVE-2021-3177" . CVE . مؤرشف من الأصل بتاريخ 27 فبراير 2021. تم الاطلاع عليه بتاريخ 26 فبراير 2021 .
- ↑ "CVE-2021-23336" . CVE . مؤرشف من الأصل بتاريخ 24 فبراير 2021. تم الاطلاع عليه بتاريخ 26 فبراير 2021 .
- 1 2 3 "الإصدارات | Python.org" . مؤرشف من الأصل في 22 ديسمبر 2015. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ دريك، فريد ل. الابن (25 يوليو 2000). "PEP 160 - جدول إصدار بايثون 1.6" . مؤرشف من الأصل في 13 مايو 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ١٠ ١١ ١٢ ١٣ "تنزيل بايثون | Python.org" . مؤرشف من الأصل في ٨ أغسطس ٢٠١٨. تم الاطلاع عليه في ٢٩ نوفمبر ٢٠١٩ .
- ↑ هيلتون، جيريمي. "PEP 200 – جدول إصدار بايثون 2.0" . مؤرشف من الأصل في 18 مايو 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ هيلتون، جيريمي (16 أكتوبر 2000). "PEP 226 - جدول إصدار بايثون 2.1" . مؤرشف من الأصل في 23 مايو 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ وارسو، باري؛ فان روسوم، غيدو (17 أبريل 2001). "PEP 251 - جدول إصدار بايثون 2.2" . مؤرشف من الأصل في 4 مايو 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ فان روسوم، غيدو (27 فبراير 2002). "PEP 283 - جدول إصدار بايثون 2.3" . مؤرشف من الأصل في 12 أبريل 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ وارسو، باري؛ هيتينجر، ريموند؛ باكستر، أنتوني (29 يوليو 2003). "PEP 320 - جدول إصدار بايثون 2.4" . مؤرشف من الأصل في 17 مايو 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ نورويتز، نيل؛ فان روسوم، غيدو؛ باكستر، أنتوني (7 فبراير 2006). "PEP 356 - جدول إصدار بايثون 2.5" . مؤرشف من الأصل في 8 أبريل 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ "17. دورة التطوير - دليل مطوري بايثون" . مؤرشف من الأصل في 18 يناير 2023. تم الاطلاع عليه في 29 نوفمبر 2019 .
- 1 2 3 بيترسون، بنجامين (8 فبراير 2009). "PEP 375 - جدول إصدار بايثون 3.1" . مؤرشف من الأصل في 19 أبريل 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ بيترسون، بنجامين (12 يونيو 2011). " [ تم الإصدار ] بايثون 3.1.4" . قائمة بريدية python-announce . مؤرشف من الأصل في 6 ديسمبر 2021. تم الاطلاع عليه في 29 نوفمبر 2019 .
- 1 2 3 4 براندل، جورج (30 ديسمبر 2009). "PEP 392 - جدول إصدار بايثون 3.2" . مؤرشف من الأصل في 19 أبريل 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- 1 2 3 4 براندل، جورج (23 مارس 2011). "PEP 398 - جدول إصدار بايثون 3.3" . مؤرشف من الأصل في 12 أبريل 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- 1 2 3 هاستينغز، لاري (17 أكتوبر 2012). "PEP 429 - جدول إصدار بايثون 3.4" . مؤرشف من الأصل في 12 أبريل 2022. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ↑ هاستينغز، لاري (9 أغسطس 2017). " [ تم الإصدار ] بايثون 3.4.7 متوفر الآن" . python-announce (قائمة بريدية). مؤرشف من الأصل في 6 ديسمبر 2021. تم الاطلاع عليه في 29 نوفمبر 2019 .
- 1 2 3 هاستينغز، لاري (22 سبتمبر 2014). "PEP 478 - جدول إصدار بايثون 3.5" . مؤرشف من الأصل في 12 أبريل 2022. تم الاطلاع عليه في 17 مارس 2020 .
- ↑ هاستينغز، لاري (8 أغسطس 2017). " [ تم الإصدار ] بايثون 3.5.4 متوفر الآن" . python-announce (قائمة بريدية). مؤرشف من الأصل في 6 ديسمبر 2021. تم الاطلاع عليه في 29 نوفمبر 2019 .
- ديلي ، نيد ( 30 مايو 2015). "PEP 494 - جدول إصدار بايثون 3.6" . مؤرشف من الأصل في 23 مايو 2022. تم الاطلاع عليه في 23 مايو 2022 .
- ديلي ، نيد ( 23 ديسمبر 2016). "PEP 537 - جدول إصدار بايثون 3.7" . مؤرشف من الأصل في 16 يوليو 2023. تم الاطلاع عليه في 16 يوليو 2023 .
- 1 2 3 4 لانغا، لوكاس (27 يناير 2018). "PEP 569 - جدول إصدار بايثون 3.8" . مؤرشف من الأصل في 16 يوليو 2023. تم الاطلاع عليه في 16 يوليو 2023 .
- 1 2 3 4 لانغا، لوكاس (13 أكتوبر 2020). "PEP 596 - جدول إصدار بايثون 3.9" . مؤرشف من الأصل في 12 نوفمبر 2022. تم الاطلاع عليه في 7 ديسمبر 2022 .
- ↑ لانغا، لوكاس (4 يونيو 2019). "PEP 602 - دورة الإصدار السنوية للغة بايثون" . مؤرشف من الأصل في 16 يوليو 2023. تم الاطلاع عليه في 16 يوليو 2023 .
- 1 2 3 4 سالغادو، بابلو (25 مايو 2020). "PEP 619 - جدول إصدار بايثون 3.10" . مؤرشف من الأصل في 16 يوليو 2023. تم الاطلاع عليه في 16 يوليو 2023 .
- 1 2 3 4 سالغادو، بابلو (12 يوليو 2021). "PEP 664 - جدول إصدار بايثون 3.11" . مؤرشف من الأصل في 16 يوليو 2023. تم الاطلاع عليه في 16 يوليو 2023 .
- 1 2 3 4 ووترز، توماس (24 مايو 2022). "PEP 693 - جدول إصدار بايثون 3.12" . مؤرشف من الأصل في 16 يوليو 2023. تم الاطلاع عليه في 16 يوليو 2023 .
- 1 2 3 4 ووترز، توماس (26 مايو 2023). "PEP 719 - جدول إصدار بايثون 3.13" . مؤرشف من الأصل في 16 يوليو 2023. تم الاطلاع عليه في 16 يوليو 2023 .
- 1 2 3 4 فان كيميناد، هوغو (24 أبريل 2024). "PEP 745 – جدول إصدار Python 3.14" . مقترحات تعزيز بايثون (PEPs) . تم الاسترجاع في 7 مايو 2025 .
- 1 2 3 4 فان كيميناد، هوغو (26 أبريل 2025). "PEP 790 – جدول إصدار Python 3.15" . مقترحات تعزيز بايثون (PEPs) . تم الاسترجاع في 7 مايو 2025 .
روابط خارجية
- تاريخ البرمجيات
- بايثون (لغة برمجة)
- تاريخ إصدارات البرامج

