سؤال

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

ما هي الاختلافات بين مزايا كل منها ؟

هل كانت مفيدة؟

المحلول

والفرق الرئيسي كما أراه هو أن بو يتم كتابتها بشكل ثابت، وهذا يعني نوع متغير يستدل على أول مهمة وثابتة من هناك - في حين و IronPython لديه "الحقيقي" السلوك الديناميكي من التعليمات البرمجية بايثون العادي

و IronPython <الإضراب> ويحتفظ رسميا من قبل مايكروسوفت الآن و يستهدف وقت تشغيل اللغة الديناميكي الجديد في الإصدار 2.0. وأظن بسبب انها كتبته بشكل ثابت بو الطبيعة قد يكون أسرع. ليس لدي الكثير من الخبرة "حقيقية" مع أنه على الرغم من ...

و IronPython أيضا reimplements الكثير من المكتبة القياسية الثعبان حتى تتمكن من تشغيل الكثير من البرامج الثعبان دون تغيير على و IronPython (على سبيل المثال <لأ href = "http://unbracketed.org/2008/mar/16/pycon-2008-django -now-مسرحيات داكنة الجانب / "يختلط =" noreferrer "> جانغو ).

نصائح أخرى

وبو هو كتابة بشكل ثابت، ولكن لديه اختياري بطة الكتابة (الذي يعمل بشكل جيد إلى حد ما، في تجربتي). كما تم تصميم بو خصيصا لتكون "المعصم ودية" - وبعبارة أخرى، لتقليل الحاجة إلى استخدام تركيبات مفتاح التحول. لديه دعم جيد IDE في شارب ديفيلوب .

وكما هو واضح جدا، بو يأخذ الكثير من الإلهام من بيثون، ولكن يهدف أيضا للاستفادة جيدة من الميزات. NET.

والأداء الحكيم، بو يشعر أسرع قليلا من و IronPython، وعلى وجه الخصوص يفتقر إلى تأخر بدء التشغيل ملحوظ و IronPython.

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

أنا لم تستخدم IronPython بعد ، ولكن هنا ما أعرفه عن بو...

  • بو مستوحاة من الثعبان لديه العديد من syntatic أوجه التشابه.الاختلافات ، انظر http://boo.codehaus.org/Gotchas+for+Python+Users
  • بو كانت مكتوبة خصيصا CLR
  • فمن كتابتها بشكل ثابت ، والتي لديها العديد من الفوائد
    • ويمكن تجميعها إلى DLL و المشار إليه من قبل VB و C# مشاريع
    • يمكنك الحصول على رمز الإنجاز في ايديس
  • اللغة نفسها إذا الموسعة.يمكنك كتابة "النحوية وحدات الماكرو" و في الواقع إضافة عناصر جديدة إلى اللغة.وهذا يجعل مرشح جيد للكتابة DSLs.
  • ليس في 1.0 بعد حين IronPython هو.اللغة ما زالت مستمرة من خلال آلام النمو ، ولكن لا تزال صالحة للاستعمال جدا.

لقد استعملت بو أشياء مثل:

  • البرمجة المقرر الوظائف.انها بديلا رائعا VBScript, BAT, خاصة إذا كان الوصول إلى .صافي واجهات برمجة التطبيقات.ومنذ ذلك الحين وأنا في معظمها تحولت إلى Powershell, لكنه OS محددة ، وقد أثقل الجملة ، لذلك أنا لا تزال تستخدم بو لبعض الاشياء.
  • كتابة وحدة الاختبارات
  • جزءا لا يتجزأ من لغة البرمجة

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

ومنذ جيم "انشق" لشركة مايكروسوفت، وقد ارتقى و IronPython إلى لغة الطبقة العليا. هناك حتى Visual Studio لذلك.

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

والفرق الرئيسي، في رأيي، هو أن و IronPython هو تنفيذ لغة ناضجة - بينما بو هو أصغر سنا وأقل شهرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top