preloder
دانستنی‌ها

طعم جاوا ۸ – قسمت اول

حدود یک سال از معرفی جاوا ۸ (Java 1.8) گذشته است. ولی هنوز بسیاری از برنامه‌نویسان جاوا، با این نسخه آشنا نیستند. در این مطلب، و انشاءالله در چند مطلب بعدی، سعی می‌کنیم نمونه‌هایی از امکانات جاوا ۸ را معرفی کنیم. البته این مطالب جنبه «آموزشی» کمتری دارند و هدف آن‌ها آشنایی با مفاهیم جدید است. به همین‌دلیل، انجمن جاواکاپ به زودی اسلایدهای فارسی برای آموزش جاوا ۸ را نیز در اختیار عموم قرار خواهد داد.

شاید آخرین نسخه از زبان جاوا، Java 8 ، گسترده‌ترین تغییرات را در زبان جاوا ایجاد کرده است. در هیچ نسخه‌ای (حتی در Java 1.5) تغییرات و امکانات تا این حد گسترش نیافته بود. امکاناتی مانند عبارت‌های لامبدا (Lambda Expressions) ، جویبارها (Stream) و ابزارهای تسهیل‌شده پردازش موازی در جاوا ۸ ارائه شدند. به نظر می‌رسد با این تغییرات، برنامه‌نویسی جاوا دچار تحول می‌شود و «نحوه برنامه‌نویسی» تغییر می‌کند. به خصوص رویکرد تابعی (Functional Programming) در جاوا رایج می‌شود. بنابراین، اگر با جاوا ۸ آشنا نباشیم، به زودی دست‌خط برنامه‌نویسان جدید را نخواهیم فهمید!

به عنوان مثال، برنامه زیر را ببینید که با کمک امکانات جاوا ۸ نوشته شده است:

اگر این دست‌خط برای شما غریب است، ادامه مطلب را بخوانید!

کد بالا، یک قطعه‌برنامه یک‌خطی است که مجموعه اعداد اول کوچک‌تر از ۱۰۰ را چاپ می‌کند. بدون (ظاهراً) هیچ حلقه‌ای و با ساختارهای عجیبی که قبلاً در جاوا ندیده بودیم. اما جالب آن‌جاست که حتی کسی که با جاوا ۸ آشنا نیست، شاید با کمی دقت بفهمد که این کد «قرار است چه کاری انجام دهد» ، البته مشهود نیست که «چگونه قرار است این کار را انجام دهد». برای این که منظورم مشخص شود، کد بالا را از چپ با راست با من بخوانید:
– یک دنباله از اعداد صحیح از ۲ تا ۱۰۰ را در نظر بگیرید:

– این مجموعه را فیلتر کن و مواردی مانند a را حفظ کن که در دنباله اعداد صحیح ۲ تا a-1 ، هیچ x ای وجود نداشته باشد که a به x بخشپذیر باشد:

– هر یک از مواردی که باقی ماندند را به تابع System.out.println بفرست:

به همین راحتی! در رویکرد جدید، به جای توصیف نحوه اجرا کار (چگونه)، خود کار را توصیف می‌کنیم. به این ترتیب برنامه‌نویسی ساده‌تر خواهد شد و فهم و نگهداری برنامه‌ها هم کم‌هزینه‌تر خواهد بود.

حالا یک سؤال: حدس می‌زنید قطعه کد زیر چه می‌کند؟

انشاءالله به زودی، و در مطالب بعدی، بیشتر با جاوا ۸ آشنا خواهیم شد.

[تعداد: 0    میانگین: 0/5]
برچسب ها
نمایش بیشتر

نوشته های مشابه

‫۴ نظرها

  1. جالب است _ اگر پستها طولانی تر بود و مفاهیم و قطعه کدهای بیشتری را هر بار تحلیل می کردید بهتر بود
    منتظر ادامه مطلب

  2. داتنت بنده خدا هم یه سری فحش که میخورد به دلیل یه همچین امکاناتش بود. اما خوشم میاد توسعه دهندگان جاوا دگم نیستنتد و در صورتی که ببینند یک فیچر مزیت فوق العاده ای دارد با وجود زیر سوال بردن شیء گرایی اونو اضافه میکنن.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا