یافتههای اصلی گزارش «راهنمای توسعه و تکامل جاوا 2017»

در سال 2017 پژوهشی بین چندصد کاربر باتجربۀ جاوا انجام شده و سهم نسخههای مختلف جاوا، IDEها، فریمورکهای وب و… در محیط کاری آنها مورد ارزیابی قرار گرفت. این نوشته ترجمهای است از بخش «یافتههای اصلی» گزارشی به نام «راهنمای DZone بر توسعه و تکامل جاوا – جلد سوم».
با وجود این که چند ماهی از انتشار این گزارش میگذرد، اما چون روند چند سال اخیر در آن مورد مطالعه قرار گرفته و گزارش بعدی نیز تا اواخر سال 2018 منتشر نمیشود؛ توجه به آن خالی از لطف نیست.
جمعیتشناسی
652 نفر از جاوا کاران دارای سطح شغلی بالا، پرسشنامۀ سال 2017 سایت DZone را پر کردند. جمعیتشناسی شرکتکنندگان به این شکل است:
- 38% افراد، خود را برنامهنویس یا مهندس معرفی کردند. 23% رهبر تیم برنامهنویسی و توسعه و 19% نیز معمار نرمافزار بودند.
- میانگین سابقۀ کاری پاسخدهندگان در فضای IT حدود 14.5 سال بود. 66% ده سال یا بیشتر و 29% بیش از بیست سال سابقه داشتند.
- 43% پاسخدهندگان در شرکتهایی کار میکنند که دفتر مرکزی آنها در اروپاست و 30% در شرکتهایی بودند که دفتر مرکزی آنها در آمریکای شمالی واقع است.
- 20% از شرکتکنندگان در شرکتهایی با بیش از دههزار کارمند کار میکنند. 22% در شرکتهایی با هزار تا دههزار کارمند و 23% در شرکتهایی بین صد تا 999 کارمند مشغول به کار بودند.
- 80% آنها وباپلیکیشن یا سرویس، 53% اپلیکیشنهای سازمانی بزرگ و 26% نرمافزار موبایل مینویسند.
سهم نسخۀ رایج جاوا
جای تعجب نیست که محبوبیت جاوا 8 همچنان بیشتر میشود. این نکته چه در مورد نرمافزارهایی که جدیدا نوشته میشوند و چه آنهایی که در حال بازنویسی و ارتقای کد هستند صادق است. تاخیرهایی که در انتشار جاوا 9 به وجود آمد نیز بیتاثیر نیست. در تحقیق امسال 89% گفتند که در نرمافزارهای جدید از جاوا 8 استفاده میکنند (8% بیشتر از پارسال). 49% افراد نیز در نرمافزارهایی که از پیش نوشته شده و در حال حاضر تحت بازنویسی و ارتقا (Refactoring) هستند، از نسخۀ 8 استفاده میکنند. این رقم 15% نسبت به سال قبل بیشتر شده است. بنابراین مطالعۀ سال 2017 نشان میدهد جاوا 8 نسخۀ پیش فرضی است که مورد انتخاب قرار میگیرد. ویژگیهای معرفیشده جاوا 8 هم بیشتر مورد توجه قرار گرفتهاند. 77% اظهار کردهاند در کدهای جدید از لامداها استفاده میکنند. به ترتیب 75% و 48% از افراد نیز استریمها و کلاس Optional را مورد استفاده قرار میدهند. مقادیر مذکور رشد قابل توجهی را نشان میدهند؛ چرا که همین اعداد در پژوهش سال قبل 46% در مورد لامدا، 43% در مورد استریم و 29% در Optional بودند.
جذابیت بیشتر با برنامهنویسی تابعی
با افزایش استفاده از ویژگیهای معرفیشده در جاوا 8، برنامهنویسی تابعی1 در جاوا نیز بیشتر مورد استقبال قرار میگیرد. سال پیش 52% اعلام کردند که پس از اتخاذ جاوا 8 کد تابعی بیشتری نوشتهاند. امسال این عدد به 62% افزایش پیدا کرده است. ترکیب سبک قدیم و جدید کدنویسی از 55% در سال 2016 به 62% در سال 2017 ارتقا یافته است. بیش از نیمی از شرکتکنندگان در مورد احساس خود نسبت به ترکیب برنامهنویسی تابعی و شیگرایی گفتهاند یا کاملا راحت (11%) یا راحت (40%) بودهاند و 21% در این مورد نظری نداشتند. 80% اعلام کردهاند این ویژگی باعث افزایش جذابیت برنامهنویسی با جاوا شده است.
زبانهای تحت JVM
61% از شرکتکنندگان گفتهاند حداقل یک زبان تحت JVM غیر از جاوا را مورد استفاده قرار میدهند. 27% یک یا چند مورد از این زبانها را در تولید نیز به کار میبرند. کاربرد Groovy و Scala در طول سال قبل تغییر چندانی نکرده است. 38% اعلام کردهاند که از اسکالا استفاده میکنند. این مقدار در سال 2016 برابر با 38% بوده است. 43% گفتهاند از Groovy استفاده میکنند که سال قبل این عدد 45% بوده است. از سوی دیگر پذیرش Kotlin از سال 2016 تا 2017 از 7% به 16% افزایش پیدا کرده و بیش از دو برابر شده است.
محیطهای توسعه (IDE)
اگر چه محبوبیت Eclipse حدود 7% کاهش یافته و از 50% به 43% رسیده، اما همچنان رایجترین محیط برای برنامهنویسی است. IntelliJ IDEA Ultimate طرفداران قابل توجهی دارد و 27% افراد این IDE را به عنوان اولین انتخابشان معرفی کردهاند. استفاده از NetBeans به میزان 7% افزایش یافته و از 10% در سال 2016 به 17% در سال 2017 رسیده. در ردهبندی جدید، NetBeans توانسته IntelliJ IDEA Community را از جایگاه قبلی، یک پله تنزل دهد.
جاوا EE و Spring
در پژوهش سال پیش شاهد رشد قابل توجهی در پذیرش و بهکارگیری Spring 4.x بودیم. بین سال 2015 و 2016 سهم این نسخه از 38% به 49% درصد رسیده بود. نتایج امسال رکوردی را در پذیرش Spring 4.x نشان میدهد. 47% افراد گفتهاند که در شرکتهایشان از این نسخه استفاده میکنند. از سوی دیگر سهم Spring 3.x افت قابل توجهی نشان داده و از 37% در سال 2016 به 27% در سال 2017 رسیده است. کاهش سهم Spring 3.x در افزایش سهم Java EE7 منعکس شده و سهم آن تغییر از 41% به 52% را نشان میدهد. در نتیجه Java EE7 همچنان و مشابه سال 2015، فریمورک اول برای نرمافزارهای سازمانی به شمار میرود؛ اما اختلاف بین سهم این دو بسیار ناچیز است. 30% از هر دو استفاده میکنند و تنها 24% از هیچ کدام استفاده نمیکنند.
مهمترین ویژگی جاوا 9
از شرکتکنندگان خواسته شده تا مهمترین ویژگی که در جاوا 9 معرفی شده را انتخاب کنند. نمودار زیر سهمی از توجّهی که هر کدام دریافت کرده را نشان میدهد. پروژۀ Jigsaw و HTTP/2 Client بیشترین مقادیر را کسب کردهاند.
گزارش کامل سال 2017 در یک فایل 46 صفحهای منتشر شده و از این لینک قابل دسترسی است. برای مطالعۀ گزارش سال 2016 نیز، میتوانید به این لینک مراجعه کنید.
1- Functional Programming