سؤال

هل يعرف أحد ما إذا كانت عمليات الإغلاق ستكون في Java 7؟

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

المحلول

في ديفوكس 2008، لقد أوضح مارك رينهولد ذلك أن الإغلاق سوف لن سيتم تضمينها في Java 7.


انتظر!الإغلاق سوف سيتم تضمينها في Java 7.مارك رينهولد أعلن هذا التراجع في ديفوكس 2009.


اثبت ذلك!الإغلاق (تعبيرات لامدا) تم تأجيلها حتى Java 8.يتبع مشروع لامدا (JSR 335) للمزيد من المعلومات.

نصائح أخرى

من غير المعروف حتى يتم إنشاء Java SE 7 JSR (على الأرجح بواسطة Danny Coward) ويتم تشكيل مجموعة خبراء واختيار المحتويات.

تعد صفحة Java 7 الخاصة بي عبارة عن مجموعة جيدة من الروابط حول Java 7 بشكل عام وتحتوي على روابط لجميع مقترحات الإغلاق وإدخالات المدونة:

http://tech.puredanger.com/java7#closures

وأحتفظ بمدونة ارتباط Java 7 حيث يمكنك العثور على روابط لعمليات الإغلاق وأشياء أخرى على:

http://java7.tumblr.com

وقد تجد منشور مدونة Java 7 Predictions الخاص بي مثيرًا للاهتمام أيضًا إذا كنت تريد آرائي:http://tech.puredanger.com/2008/08/02/java7-prediction-update/

تحديث:صرح مارك رينهولد في Devoxx في ديسمبر.08 أنه لن يتم تضمين عمليات الإغلاق في Java 7 بسبب عدم وجود توافق في الآراء حول كيفية التنفيذ.

يوجد حاليًا العديد من المقترحات المتنافسة، بغا, CICE, ، من بين أمور أخرى.ولسوء الحظ، لا يزال هناك جدل ساخن حول النهج الأفضل.ونتيجة لذلك، فمن غير المحتمل في هذه المرحلة أن تصل عمليات الإغلاق إلى Java 7، نظرًا للطبيعة المحافظة لعملية القبول.

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

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

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

http://groovy.codehaus.org

يبدو أن عمليات الإغلاق لن تكون في Java 7.يرى هذاو هذا.

لن يكون الإغلاق موجودًا بشكل نهائي في Java 7، ولكن إذا كنت تبحث عن حل أخف لإجراء الإغلاق في Java الآن، فراجع كيفية تنفيذه في مكتبة lambdaj:

http://code.google.com/p/lambdaj/wiki/Closeres

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