جاوا دگرگونی های اساسی در چشم انداز فناوری و تهدیدات زیادی را برای برجستگی آن تحمل کرده است. چه چیزی این فناوری را تا این حد عالی می کند و آینده جاوا چه خواهد بود؟
- فرایند انجمن جاوا
- چارچوبها و ابزارهای متن باز
- تزریق وابستگی بهار
- همه چیز یک شی است
- JVM
- خلاقیت سازمانی
- WebAssembly و آینده جاوا
از جمله جذاب ترین پدیده های نرم افزاری، برجستگی پایدار جاوا است. جاوا هم به عنوان یک زبان و هم به عنوان یک پلتفرم، از دگرگونی های اساسی در چشم انداز فناوری جان سالم به در برده است و ساختار داخلی خود نیز همراه با آن تغییر کرده است. چگونه جاوا برای بیش از دو دهه در مرکز سازمانی و منبع باز باقی مانده است؟ بیایید به چند عامل برجسته نگاه کنیم.
فرایند انجمن جاوا
جاوا زندگی خود را به عنوان جایگزینی برای روش های مرسوم انجام کارها آغاز کرد – یک نوع شروع. امروزه با وجود چالش های مکرر، به عنوان یک ستون نرم افزار سازمانی شناخته می شود. چه چیزی ارتباط مداوم جاوا را در مواجهه با چنین تغییرات اساسی توضیح می دهد؟ یکی از عوامل ضروری اشتیاق جامعه است که از طریق ساختارهای حاکمیتی که توسعه دهندگان را درگیر می کند تا جاوا را یک نیروی زنده و پویا نگه دارند، پرورش می یابد.
حاکمیت جاوا به دور از یک ماشین بدون مشکل، ملغمه ای گیج کننده از منافع و سازمان های رقیب است که صدای خود را در فرآیند انجمن جاوا (JCP) و از طریق درخواست های مشخصات جاوا (JSRs) پیدا می کنند. در پایان روز، JCP محلی برای مشارکت و حل تعارض در میان افرادی است که عمیقاً به فناوری جاوا اهمیت می دهند. این ترکیبی مبهم از بوروکراسی، سیاست و خلاقیت است. چیزی شبیه یک دموکراسی فعال، در واقع.
بهعنوان یک برنامهنویس قدیمی جاوا، تماشای زبان در ترکیب موفقیتآمیز لامبداها و بستهها شگفتآور و در واقع شگفتانگیز بود. افزودن ساختارهای کاربردی به یک زبان برنامه نویسی شی گرا یک شاهکار بسیار بحث برانگیز و چشمگیر بود. بنابراین، مفاهیم جاذب توسط فناوریهایی مانند Hibernate و Spring (JSR 317 و JSR 330، به ترتیب) به پلتفرم رسمی. اینکه چنین فناوری پرکاربردی همچنان میتواند ایدههای جدید را ادغام کند، دلگرم کننده است.
پاسخگویی جاوا کمک می کند تا اطمینان حاصل شود که زبان پیشرفت های مفیدی را در خود جای داده است. همچنین به این معنی است که توسعه دهندگان می دانند که در یک سیستم زنده کار می کنند، سیستمی که برای موفقیت در دنیایی در حال تغییر پرورش و پرورش می یابد. Project Loom – تلاشی بلندپروازانه برای بازسازی مدل همزمانی جاوا – نمونهای از پروژهای است که بر تعهد جاوا به تکامل تأکید میکند. چند پیشنهاد دیگر در حال حاضر از طریق JCP تمایل مشابهی برای دنبال کردن اهداف مهم برای بهبود فناوری جاوا نشان میدهد.
افرادی که روی جاوا کار می کنند تنها نیمی از داستان هستند. افرادی که با آن کار می کنند، نیمی دیگر هستند و منعکس کننده تنوع کاربردهای فراوان جاوا هستند. کدگذاری اجتماعی و منبع باز منحصر به جاوا نیستند، اما اجزای کلیدی در سلامت اکوسیستم جاوا هستند. مانند جاوا اسکریپت، جاوا همگام با جامعه برنامه نویسی با توجه به وب توسعه یافت. این داستان اصلی بخش بزرگی از شخصیت آن است.
فریم ورک ها و ابزارهای متن باز
یکی دیگر از محرکهای موفقیت جاوا، انبوهی از چارچوبهای منبع باز و ابزارهایی است که پیرامون آن ساخته شدهاند. تقریباً هر چیزی که ممکن است نیاز داشته باشید یک یا چند کتابخانه در دسترس دارد. اگر پروژه ای را دوست دارید، احتمال زیادی وجود دارد که متن باز باشد و بتوانید در آن مشارکت کنید. این هم برای یادگیری و هم برای ایجاد جامعه عالی است.
چندی پیش، من در تجزیه و تحلیل YAML دست داشتم و SnakeYAML پروژه به زودی، من در علف های هرز بودم و سعی می کردم با این پروژه جدید کاری عجیب و غریب انجام دهم. مدت زیادی بعد از آن، من با صاحب پروژه چت می کردم.
هنگامی که من نیاز به انجام ارکستراسیون فرآیند پیچیده نزدیک به فلز داشتم، چیزی مشابه اتفاق افتاد. ابتدا، پروژه NuProcess را کشف کردم، سپس باید یک اصلاح کوچک را ارائه دهم. چنین مبادلاتی زندگی یک برنامه نویس را غنی تر می کند. آنها همچنین نحوه تکامل پروژه های منبع باز هستند.
تعداد پروژههای موجود در اکوسیستم جاوا از نمونههای کوچکی مانند نمونههایی که من به اشتراک گذاشتهام تا درایورهای پایگاه داده و فناوریهای مشابه و تا نمونههای بسیار مهم را شامل میشود. سرورهای کاربردی مانند Tomcat و Jetty، چارچوب هایی مانند Hibernate و حتی Eclipse IDE. همه پروژه های منبع باز هستند که مشارکت کنندگان را دعوت می کنند.
تزریق وابستگی بهار
هیچ قدردانی از اکوسیستم جاوا بدون سر گذاشتن کلاه به بهار کامل نخواهد بود. این متا چهارچوب شاید استانداردی باشد که سایر متا فریمورک ها ممکن است آرزوی آن را داشته باشند. چرا؟ زیرا Spring به شما امکان می دهد از همان امکانات برای نوشتن کد سفارشی و گنجاندن کد شخص ثالث در برنامه های خود استفاده کنید. از طریق اجرای تزریق وابستگی و وارونگی کنترل، Spring نه تنها به شما امکان میدهد تا اجزای داخلی خود را استانداردتر کنید، بلکه استانداردسازی مشابهی را به نحوه آمادهسازی پروژهها و فروشندگان شخص ثالث گسترش میدهد. اجزاء. این باعث سازگاری بیشتر در نحوه استفاده از این مؤلفه ها در برنامه های خود می شود.
البته، نقدهای معتبری از Spring وجود دارد، و همیشه ابزار مناسبی نیست. Google Guice ابزار دیگری است که مشابه Spring کار میکند. اما Spring، به عنوان یک چارچوب، روشی تمیز و ثابت را برای تهیه و ترکیب اجزای برنامه معرفی کرد. این یک تغییر بازی در آن زمان بود، و امروز نیز حیاتی است.
همه چیز یک شی است
اگر افرادی که پشت جاوا هستند و از جاوا استفاده می کنند بادهایی هستند که کشتی را حفظ می کنند، پس جنبه های فنی جاوا بادبان ها هستند. قابل توجه است که مشخصات اولیه جاوا مانند آتنا از یک سر (سر جیمز گاسلینگ) منشعب شده است، اما به اندازه کافی انعطاف پذیر باقی مانده است تا امروز هم مرتبط باشد.
یک ویژگی مهم طراحی جاوا این است که در جاوا، همه چیز یک شی است.
در چشمانداز توسعهای که در حال حاضر از برنامهنویسی کاربردی حمایت میکند، گاهی اوقات شیک است که این جنبه از جاوا و برنامهنویسی شیگرا را حذف کنیم. متصدیان جاوا با ترکیب برخی اصطلاحات برنامه نویسی کاربردی در زبان پاسخ داده اند. اما آنها ثابت کرده اند که جاوا یک زبان کاملاً شی گرا است که در آن همه چیز در واقع یک شی است.
این امکان وجود دارد که در هر پارادایم کدی عالی یا افتضاح بنویسید. با رفتن به یک سیستم جاوا، از قبل می دانید که به شدت تایپ شده است و همه چیز در کلاس ها موجود است. مطلق بودن این تصمیم طراحی پیچیدگی را کاهش می دهد و به زبان و برنامه هایی که از آن استفاده می کنند تمیزی می بخشد. برنامه های جاوا که به خوبی نوشته شده اند، ظرافت مکانیکی کدهای شی گرا را دارند. عملکرد نتیجه تعامل اجزایی است، مانند چرخ دنده ها در یک ماشین.
هزینه این رویکرد سردرگمی در مراحل اولیه یادگیری است. تقریباً هر مبتدی جاوا با سؤالات کلیدی روبرو می شود: کلمه کلیدی public
برای چیست، کلاس چیست و چرا باید بنویسم “public static void main(String[] args )
” فقط برای چاپ “سلام جهان”؟
اما در نظر بگیرید که این منحنیهای یادگیری جنبههای قوی یک نظم در مقیاس بزرگ هستند: مبتدی با مفاهیم پیچیدهای روبرو میشود که برای روش جاوا برای انجام کارها اساسی هستند. می توان گفت که ساختار کاملاً کلاس محور برنامه های جاوا خود را به برنامه نویسی خوب در کل می دهد. با افزایش اندازه سیستم ها، ساختاری که ممکن است در مقیاس کوچکتر سخت به نظر برسد، سودمندتر می شود. در بسیاری از موارد، بار یادگیری در مراحل اولیه را توجیه می کند.
مطمئناً در مورد نحو جاوا اشکالات قانونی وجود دارد—این امر در مورد جاوا اسکریپت و هر زبان دیگری نیز صادق است. همانطور که Bjarne Stroustrup یکبار گفت، “فقط دو نوع زبان وجود دارد: زبانهایی که مردم از آنها شکایت دارند و آنهایی که هیچ کس استفاده نمی کند.”
JVM
ماشین مجازی جاوا جنبه دیگری از ساخت جاوا است که گاه با انتقاد مواجه می شود. در زمان توسعه، JVM یک راه حل فنی جسورانه برای تنوع محیط های زمان اجرا بود. از آن زمان به بعد، گاهی اوقات به نظر می رسد که باری از معماری اضافی و منبعی از مشکلات اجرایی است. اما پس از سال ها اصلاح بی وقفه، این فناوری به تدریج خود را به اثبات رساند. همچنین ثابت شده است که نسبتاً پیشگیرانه است. جهان اخیرا شیفته ماشین های مجازی شده است. آنها در همه جا هستند، حتی پایین ترین لایه های رایانش ابری.
که برای کانتینرها و معماریهای بدون سرور توسعه میدهد اعمال میشود، JVM یک هدف محیطی استقرار واضح، با ویژگیها و کنترلهای کاملاً تعریف شده ارائه میدهد. ماشینهای مجازی جاوای مدرن نیز نکته قابل توجهی هستند. آنها مدیریت حافظه خودکار پیچیده ای را با عملکرد خارج از جعبه ارائه می دهند در حال نزدیک شدن به C.
خلاقیت سازمانی
توسعه نرم افزار از دو جریان قدرتمند تشکیل شده است: سازمانی و خلاق. روحیه شادی خلاقانه برای کدنویسی وجود دارد که تنها توضیح ممکن برای مثلاً کار بر روی شبیه ساز سیاه چال به مدت ۲۵ سال. این خلاقیت، که با استفاده تجاری قوی همراه شده است، کیمیاگری است که جاوا را زنده و سالم نگه می دارد. برای موفقیت بلندمدت، یک پروژه نرم افزاری باید برای هر دو فضا باز کند. جاوا این کار را انجام داده است.
WebAssembly و آینده جاوا
در یک یادداشت جدایی، بیایید یک رویداد بالقوه آبخیز دیگر را در افق شناسایی کنیم: WebAssembly یا WASM. جاوا در WASM در حال حاضر محدود است و هیچ اطمینانی در مورد چگونگی آینده وجود ندارد. اما ممکن است روزی جاوا مانند جاوا اسکریپت در مرورگر استفاده شود – یعنی با دسترسی کامل به DOM و API مرورگر. جاوا را دوباره در مرورگر تصور کنید، اما این بار واقعی. اتفاقات عجیب تری افتاده است.
پست های مرتبط
۷ دلیلی که جاوا هنوز عالی است
۷ دلیلی که جاوا هنوز عالی است
۷ دلیلی که جاوا هنوز عالی است