مسائل واقعی که با استفاده از جاوا حل شدهاند
در گفتگویی با ۱۱ متخصص کسب و کار که بیشتر از همه با اکوسیستم جاوا در ارتباط بودند، در مورد مسائلی از دنیای واقع که با استفاده از جاوا حل شدهاند صحبت شد.
این گفتگو با افراد زیر انجام گرفت:
Anthony Kilman, Tech Lead, AppDynamics
Gil Tene, CTO, Azul Systems
Bhartendu Sharma, Vice President of Operations, Chetu
Charles Kendrick, CTO and Chief Architect, Isomorphic Software
Fred Simon, Co-Founder and Chief Architect, JFrog
Ray Auge, Senior Software Architect, Liferay
Michael Hunger, Lead Developer Advocate, Neo Technology
Brandon Allgood, PhD, CTO, Numerate
Dr. Andy Piper, CTO, Push Technology
Jonas Bonér, Founder and CTO, Typesafe
Toomas Rὅmer, CTO and Founder, ZeroTurnaround
مواردی که در این گفتگو مطرح شده است، به صورت خلاصه در ادامه آمده است:
۱- پیادهسازی سرورهای عظیم، دادههای حجیم، وبسایتهای بزرگ و به عنوان پلتفورم برای شبکه بزرگ توئیتر. به علاوه در فناوری اینترنت اشیاء و پلتفورم اندروید. جالب است که میتوان با استفاده از یک زبان هم برای موبایل و هم سرورهای بزرگ دادههای حجیم برنامهنویسی کرد. اینجاست که جاوا میدرخشد.
۲- ادغام کردن مجازیسازیهای انجام شده قبل از پیادهسازی cloud و سختافزار مناسبی که در پیادهسازی cloud به کار میرود، توانایی ساخت یک شبکه کامپیوتری بدون توجه به نرمافزار، قابلیت ساخت یک محیط محلی و سپس قرار دادن آن در هر جایی که نیاز به استفاده از آن را دارید، پیادهسازی یک سیستم محاسباتی توزیع شده و توانایی فعال شدن بسیار سریع روی AWS همه از مواردی هستند که جاوا پاسخ مناسبی به آنها داده است.
۳- جاوا بسیار خوش ساخت است و جایی نیست که نتواند تاثیر گذار باشد. جاوا حتی در سیستمهای تعبیه شده نیز وارد شده است. یک ابزار گسترده برای توسعه نرمافزار است که بسیاری از مشکلات مدیریتی در تولید نرمافزار را حل کرده است و به راحتی میتوان متخصصین این زبان را پیدا کرد.
۴- جاوا امنترین و پایدارترین نرم افزار سازمانی است که میتواند در مقیاسهای بزرگ به کار گرفته شود. توئیتر به خاطر مقیاسپذیری، پایداری و سرعت برنامهنویسی جاوا، از روبی به اسکالا و بعد جاوا سوئیچ کرد.
۵- پلتفورم جاوا با کارایی بالایی میتواند با پیچیدگیها سروکار داشته باشد. جاوا قادر به اجرا روی پلتفورمهای متنوع است و با هرچیزی که قادر به اجرا روی پلتفورمهای سختافزاری مختلف است میتواند کار کند.
۶- جاوا برنامهای است که از سال ۱۹۹۵ تغییر قابل توجهی نداشته و نرمافزار سازمانی بسیار پایداری است. از زمانی که فناوری اینترنت اشیاء و موبایل همهگیر شد، ما شاهد حل مشکلات متفاوت و بیشتری توسط جاوا هستیم.
۷- دو چیز:
۱- اکوسیستم کتابخانههای متن باز جاوا. سالها ما از این کتابخانههای باکیفیت استفاده کردیم و نیازی به تغییر آنها احساس نکردیم.
۲- لایه ماٰٰژولبندی OSGi برای جاوا. در اواخر سال ۱۹۹۰ نرمافزار ماژول بندی شده توسط IBM, Sun و دیگر شرکتها ساخته شد. این نرمافزار در طی زمان کاملتر و پیچیدهتر میشد و کار نگهداری و پشتیبانی را سختتر میکرد. از طرفی اجازه توسعه قابلیتهای گسترده را در اختیار قرار میداد و سوئیچ به جاوا باعث شد خیلی از محدودیتها از بین بروند.
۸- برنامههای تعاملی انسانها را قادر به پاسخگویی در زمان مناسب از طریق cloud میکنند. سیستمهای انعطافپذیر میتوانند خیلی حجیم باشند که نتوانند سریع بالا آمده و اجرا شود. برنامههای تعاملی انعطاف پذیر بوده و به صنایع بحرانی قدرت بیشتری در انجام وظایفشان میبخشند.
۹- جاوا بیشترین کدهای پایه را در بزرگترین سازمانها دارد. در همهجا از فناوری اینترنت اشیاء گرفته تا سرورها میتواند استفاده شود. اغلب مردم این را نمیفهمند و فکر میکنند که در تمام سطوح از زبان سی یا سی++ استفاده شده است.
۱۰- جاوا علاوه بر پایگاه دادههای سازمانی و پردازش دادههای حجیم، به اندروید و کیندل آمازون قدرت بخشیده است. (Hadoop، Cassandra، Spark همگی به جاوا نوشته شدهاند.) امنیت، پایداری، مقیاس پذیری همگی از قابلیتهای پلتفورم جاواست. به دلیل کارایی بالا، استحکام و قابلیت اجرا در همه جا شما میتوانید از جاوا برای توسعه هم در ویندوز و هم در مک استفاده کنید.
۱۱- جاوا برای استفاده سمت سرور در سازمانها عالی است. به خصوص در مقیاسهای بزرگ و سیستمهای مبتنی بر پایگاه داده که نیاز به تعامل بین چندین سرویس یا پلتفورم دارند و همچنین در تراکنشهای توزیع شده جاوا بسیار کاراست.
موارد فوق خلاصه مطالبی بود که در این مصاحبه به آنها اشاره شده بود. شما چه مشکلاتی از دنیای واقعی را دیدهاید که با جاوا حل شدهاند؟ نظر شما چیست؟
منبع:
https://dzone.com/articles/real-world-problems-being-solved-by-java
ولی تجربه نشان داده که هر تکنولوژی هر چقدر هم موفق باشد سرنوشتش از دو حال خارج نیست:
1- یا به نسل بعد از خود تکامل پیدا می کند.
2- کنار گذاشته می شود.
در هر حال تغییر در تکنولوژی و روزآمد شدن آن اجتناب ناپذیر است. فرض کنیم جاوا کنار گذاشته نشود. به نظرتان مهمترین تغییر و تکاملی که در جاوا در افق 5 سال آینده رخ می دهد چیست؟
پاسخ را بایستی در جایی خارج از شی گرایی جست و جو کرد. یعنی جاوا از نظر شی گرایی و برنامه نویسی جریانی، بسیار بالغ است. تکامل و بهبود در یک نقطه ضعف معمولا رخ می دهد، البته متناسب با نیازهای زمان.
به نظرم جاوا به سمت نرم تر شدن پیش خواهد رفت. یعنی از گفتمانهای برنامه نویسی تابعی، منطقی، جریان داده و … هم در کنار شی گرایی پشتیبانی خواهد نمود. آنچه که جوانه هایش را در اسکالا و دیگر مشتقات از جاوا کم و بیش شاهدیم.
فقط جاوا
البته spark با اسکالا نوشته شده ولی خوب روی jvm هست دیگه.