جاوا، زبان مادری برنامه‌نویسان

خیلی از برنامه‌نویسان حرفه‌ای و کسانی که روزی به سراغ یادگیری زبان جاوا رفتند، از آن به عنوان یکی از نقاط عطف زندگی کاری خود یاد می‌کنند. جاوا، یکی از جامع‌ترین و قدرتمندترین زبان‌های برنامه‌نویسی دنیا است که می‌شود کد برنامه‌های مختلفی را با آن زد. اگر دقت کرده باشید اکثر شرکت‌های برنامه‌نویسی از بزرگ و کوچک گرفته تا داخلی و خارجی همیشه به دنبال جذب برنامه‌نویس جاوا هستند. (دقت کنید جاوا نه جاوا اسکریپت). از این رو جاوا را زبان پایه و مادر برنامه‌نویسی می‌گویند.اگر دوست دارید تا بیشتر درباره‌ی این زبان هیجان‌انگیز بدانید، پیشنهاد می‌کنم تا پایان این مقاله با ما همراه باشید.تاریخچه‌ی بامزه زبان جاوا (Java)اوایل دهه‌ی 1990 میلادی جناب آقای «جیمز گاسلینگ» و همکارانش که از پیچیدگی زبان ++C بسیار رنج می‌‌بردند و احساس نارضایتی می‌کردند، به فکر ابداع زبانی افتادند که علاوه‌بر قدرت زبان ++C از سادگی بیشتری برخوردار باشد، آن‌ها در ابتدا نام Oak به معنای «بلوط» را روی این زبان گذاشتند، دلیل این کار هم وجود یک درخت بلوط در مجاورت اتاق کار آقای گاسلینگ بود. اما پس از مدتی مدیران شرکت سان‌مایکروسیستمز (شرکت گاسلینگ و همکارانش) تصمیم گرفتند تا نام مناسب‌تری را برای این زبان انتخاب کنند. برای همین به یک کافی‌شاپ مراجعه کردند و حدود نصف روز به بحث و تبادل نظر در این خصوص پرداختند. از آنجایی که مراسم نام‌گذاری در یک کافی‌شاپ صورت گرفته بود برای نماد این زبان از یک «فنجان قهوه‌ی داغ» استفاده شد، هرچند برخی معتقدند جیمز گاسلینگ به نوعی قهوه در جزیره‌ای به نام Java (در اندونزی)، علاقه‌ی وافری داشت و نام جاوا نیز برگرفته از همین نوع قهوه است، نهایتا در سال 1995 زبان Java توسط شرکت Sun Microsystems ارائه و بعدها توسط اواکل خریداری شد.اهداف اولیه‌ی جاواهمانطور که در بالا گفتیم جناب جیمز گاسلینگ، جاوا را با هدف جایگزینی برای زبان ++C توسعه داد، از این رو اهداف خاص زیر را برای آن در نظر گرفت:ساده و مشهور بودنقابلیت شئ‌گرایی قدرتمندکارایی و عملکرد بالا و بهینهقابلیت انتقال و پرتابل بودنضریب اطمینان بالا و خطای کمزبانی پویا با قابلیت نخ‌کشی (Treading)چرا جاوا؟جاوا یک زبان Class Base است، یعنی تماما با استفاده از کلاس‌ نوشته می‌شود. ویژگی‌ها و چالش‌های زبان جاوا شما را وارد یک مسیر یادگیری طولانی اما جذاب می‌کند که سرانجام آن، حرفه‌ای شدن و یافتن لذتی عمیق و واقعی در برنامه‌نویسی است.داشتن ماشین مجازیماشین مجازی جاوا (Java Virtual Machine (JVM)) این امکان را در اختیار شما قرار می‌دهد تا برنامه‌های نوشته شده به این زبان را روی سیستم‌های مختلفی مانند لینوکس, ویندوز و مکینتاش به صورت یکسان و برابر اجرا کنید. امروزه تمام زبان‌های برنامه‌نویسی که بر مبنای JVM ساخته شدند مانند Scala و Groovy از این قابلیت بهره می‌برند. همچنین قابلیت آشغال جمع‌کن (Garbage Collector) در JVMها این امکان را به برنامه‌نویس می‌دهد که نگران استفاده برنامه از حافظه کوتاه مدت سیستمی که روی آن در حال اجراست نباشد و این Garbage Collector است که وظیفه پاک‌سازی حافظه را بر عهده دارد و این امر، برنامه‌نویسی را بسیار ساده می‌کند. پشتیبانی قویاز سال ۲۰۱۰ میلادی با حمایت Oracle پیشرفت و بروزرسانی سیستم جاوا جان تازه‌ای گرفت و ویژگی‌های هیجان‌انگیزی به این زبان اضافه شد. از مهم‌ترین ویژگی‌ها می‌توان به این نکته اشاره کرد که در ورژن ۸ جاوا و با ورود پارادایم برنامه‌نویسی فانکشنال به بازار عرضه شد و این زبان برنامه‌نویسی را که قبل از آن فقط از پارادایم شی‌گرا پشتیبانی می‌کرد، تبدیل به یک زبان برنامه‌نویسی هیبرید کرد.کامیونیتی و Documentation قدرتمندیکی از مهم‌ترین ویژگی‌های یک زبان برای انتخاب، کامیونیتی و مستندسازی‌هایی‌ است که برای آن شکل می‌گیرد و یادگیری و رفع اشکال برای برنامه‌نویسان و استفاده‌کنندگان از زبان را ساده می‌کند.برنامه‌نویسی شی‌گرابهتر است به جای یادگیری زبان, مفاهیم و Concept پشت آن را یاد بگیرند تا در استفاده از زبان‌های مختلف دچار مشکل نشوید و بتوانند به راحتی بین زبان‌های مختلف کوچ کنید. بنابراین برای یادگیری بهتر این مفاهیم بهتر است در ابتدای مسیر یادگیری سراغ زبان‌هایی بروید که این مفاهیم را به طور کامل پشتیبانی می‌کنند.به‌عنوان مثال برای یادگیری پارادایم فانکشنال، زبان جاوا گزینه مناسبی نیست زیرا پشتیبانی کاملی از این پارادایم ندارد و بهتر است از زبان‌هایی مثل Haskell یا Clojure شروع به یادگیری کنید. اما برای یادگیری برنامه‌نویسی شی‌گرا مسلما جاوا بهترین گزینه است زیرا تمام جزئیات مورد نیاز شما برای یادگیری این پارادایم در این زبان وجود دارد و یادگیری شی‌گرایی برای شما راحت‌تر و ملموس‌تر خواهد بود.بازار کار عالیکافی است تا یک جستجوی ساده در اینترنت انجام دهید یا به سایت‌های کاریابی جهانی مثل LinkedIn مراجعه کنید تا متوجه شوید تا چه اندازه کمبود مهندس نرم‌افزار آشنا به جاوا در جهان وجود دارد:( اگر این زبان برنامه‌نویسی و مفاهیم برنامه‌نویسی شی‌گرا را به طور حرفه‌ای یاد بگیرید بدون شک در هر نقطه از دنیا برای شما یک کار خوب همراه با حقوق عالی وجود دارد.ابزارهای قدرتمند برای کدنویسی و Refactoringبرای تبدیل شدن به یک برنامه‌نویس موفق باید با مفاهیم کد تمیز و تکنیک‌های refactoring آشنا شوید. شرکت‌های تولیدکننده محیط‌های توسعه کد مثل Jet Brains با ارائه محصولاتی مثل IntelliJ Idea که از زبان برنامه‌نویسی جاوا حمایت می‌کند، به شما کمک می‌کنند تا کد با کیفیت و تمیزتری بزنید.جاوا یا جاوا اسکریپت؟احتمالا در جریان هستید که جاوا با جاوا اسکریپت تفاوت عمده‌‌ای دارد. طی یک تصمیم نامناسب، بخش بازاریابی نام این زبان را به جاوا اسکریپت تغییر داد و سلسله‌ای از آشفتگی‌ها و اشتباه گرفتن‌ها در پی آن به‌وجود آمد. همانطور که می‌دانید، در همان زمان جاوا یک زبان جدید و مهیج به‌شمار می‌رفت و در این میان افرادی تصمیم گرفتند تا با استفاده از این نام از محبوبیت جاوا نیز بهره‌ ببرند. اینگونه شد که زبان جاوا و جاوا اسکریپت با یکدیگر ارتباط یافتند. ولی در عین حال این مطلب برای جاوا اسکریپت یک نکته منفی بود، چرا که جاوا با وجود آنکه بخاطر استفاده گسترده‌اش محبوبیت بالایی به دست آورده بود، ولی همزمان به دلیل شهرت بدی که کسب کرده بود نامحبوب و بدنام شد.در نهایتبه پایان این مقاله از ویرگول رسیدیم. سعی کردیم در این مقاله شما را کمی با زبان برنامه‌نویسی جاوا، تاریخچه‌ی آن و علت محبوبیتش آشنا کنیم. زبانی که با شعار Write once, run anywhere «یکبار بنویس. همیشه اجرا کن!» امروزه طرفداران زیادی در سراسر دنیا دارد.شما از چه زبان برنامه‌نویسی استفاده می‌کنید؟ آیا تا بحال با جاوا دست و پنجه نرم کرده‌اید؟ دوست دارید در مقالات آینده به بررسی وب‌سایت‌ها و یا دوره‌های آموزش رایگان جاوا بپردازیم؟خوشحال می‌شویم تجربه‌‌هایتان در این زمینه را با ما و مخاطبانمان در میان بگذارید.مطابق رسم همیشگیمان، نظراتتان را می‌بینیم، می‌خوانیم و پاسخ می‌دهیم. پس لایک و کامنت یادتون نره!