جاوا یک زبان برنامه نویسی است که درسال ۱۹۹۴ توسط یکی از مهندسین شرکت سان (sun) به نام جیمز گوسلینگ نوشته شد، جیمز از نوشتن برنامه با C++ خسته شده بود و جاوا را برای رفع نیازهای خود طراحی کرد. مثل لینوکس ترودلز که لینوکس را برای استفاده خود پدید آورد.
جیمز ابتدا نام این برنامه را oak گذاشت. ابتدا شرکت sun از توسعه oak منصرف شد ولی با پیشرفت و گسترش اینترنت و مشخص شدن قابلیت های برنامه و تطابق بعضی ویژگی های آن با نیازهای اینترنت شرکت sun پروژه oak را فعال نمود و نام جاوا را برای آن برگزید.
نام جاوا از Jsut Another Vague Acronym گرفته شده است و دلیل آن این بود که تیم برنامه نویسان جاوا به قهوه خیلی علاقه داشتند. این موضوع در لوگوی جاوا هم مشهود است!!


نگارش نسخه یک جاوا در سال ۹۵ آغاز شد و در سال ۹۷ نسخه ۱/۱ و در سال ۹۸ نسخه ۱/۲ به بازار ارایه شد. البته تا کنون نسخه های متفاوت با قابلیت های متفاوت به بازار ارایه شده است. جاوا زبان مادر برای سیستم عامل سولاریس است، مثل بیسیک برای سیستم عامل ویندوز و زبان سی برای یونیکس.
مهم ترین ویژگی جاوا این است که اساسا شی گراست به این معنی که توانایی استفاده مجدد و مکرر از کدهای از پیش نوشته شده را دارد.
ویژگی دیگر جاوا این است که بر روی سیستم های مختلف کار می کند مثلا برنامه ای که شما با یک سیستم اینتل نوشته اید به راحتی روی یک سیستم مکینتاش و یونیکس اجرا می شود و این عامل اصلی موفقیت جاوا است.
سادگی، قابل انتقال بودن، کارایی بالا، استحکام، پویایی و ایمنی بالا از دیگر قابلیت های جاوا است.
معمول ترین برنامه هایی که با جاوا نوشته می شود Applet ها هستند. Applet برنامه ای پویا است که در یک صفحه وب اجرا می شود و برای دیدن آن به مرورگری نیاز است که جاوا را پشتیبانی کند. علاوه بر این شما می توانید با جاوا برنامه های کاربردی، چند منظوره وسطح بالا بنویسید مثل نرم افزارهای سرویس دهی شبکه یا سرویس دهنده پست الکترونیک.
جاوا در واقع یک زبان برنامه نویسی شی گرا وبسیار قدرتمند است و تمام خصوصیت های C++ و C را داراست. البته خصوصیت های مشکل ساز آن مثل وراثت و اشاره گرها را کنار گذاشته است. برنامه نویسانی که با C++ آشنا هستند خیلی راحت و سریع می توانند جاوا را یاد بگیرند. با جاوا کد نویسی بسیار آسان تر است و کدها و کلاس ها و کتابخانه های آماده جاوا باعث می گردد نوشتن یک برنامه با جاوا از نظر تعداد خطوط و زمان لازم تقریبا یک سوم یک برنامه C++ است.
.NET رقیب JAVAًـ؟
.NET فرمی است که به وسیله مایکروسافت برای ساخت سایت ها با قابلیت های زیاد و متفاوت ایجاد شده است به طوری که قسمتی از یک پروژه را می توان با VC++ و بخش دیگر را با برنامه ای دیگر نوشت و در نهایت کل آن توسط یک واسطه به نام MSIL ترجمه شده و در محیط .NET قابل اجرا است.

J2EE (نسخه جدید JAVA) به وسیله شرکت SUN و با همکاری شرکت های IBM و HP تهیه شده است. در این قالب تنها زبانی که مورد استفاده قرار می گیرد جاوا است، و بر خلاف .NET که فقط روی محیط های سازگار با ویندوز عمل می کند، مستقل از سخت افزار است.
بین .NET و JAVA کدام را انتخاب کنیمًـ؟
– قابلیت انتقال برنامه ها روی سیستم های مختلف و شعار اصلی جاوا یعنی: “یک بار بنویس و هر جا استفاده کن” (Writeonce-Run anywhere) موضوعی بسیار حایض اهمیت است که بسته به نیاز شما و نوع برنامه شما می تواند خیلی مهم باشد.
– در محیط هایی که چند نوع سیستم سخت افزاری وجود دارد قطعا برنامه های تحت جاوا مناسب تر است ولی اگر در محیط مورد نظر شما از سیستم عامل ویندوز استفاده می شود استفاده از .NET هزینه کمتری در برخواهد داشت.
– .NET ویژگی هایی دارد که با آن می توان سایت های جذاب و زیباتری ساخت اما در سایت های پیچیده و بزرگ و جایی که کارایی مهمتر از ظاهر است بهتر است از جاوا استفاده کنیم.
– تصور کنید نیاز به برنامه ای دارید که در آن چیزهایی به صورت دینامیک ایجاد می شوند و پس از طی یک سری عملیات بر روی آنها از بین می روند، در این نوع برنامه ها تعقیب اشیایی که در برنامه ساخته می شوند، تخصیص و مدیریت حافظه تماما بر عهده برنامه نویس است. اما جاوا دارای یک سیستم خودکار مدیریت و پاکسازی حافظه است که بسیاری از مشکلات را آسان کرده است.
هر تکنولوژی که ایجاد می شود؛ هر برنامه ای که مورد توجه عموم قرار می گیرد قطعا مورد توجه نفوذگران هم واقع می شود، هر سیستمی که بخواهد بماند و پیشرفت کند نیاز به ایمنی دارد و اینجاست که سدهای حفاظتی جاوا و مدل های امنیتی آن که حاصل تلاش زبردست ترین برنامه نویسان دنیاست مورد توجه قرار می گیرد. مدل چهار لایه امنیتی جاوا جلوی خیلی از اقدامات خرابکارانه و نفوذی را می گیرد، ولی هیچ سدی ۱۰۰درصد غیر قابل نفوذ نیست!!
در هر حال انتخاب بین این دو نیاز به بررسی دقیق، آینده نگری و مشخص شدن اهداف دراز مدت و میزان سرمایه گذاری شما دارد زیرا هزینه هایی که یک برنامه جاوا دربر دارد در اکثر موارد چندین برابر یک برنامه .NET خواهد بود.
JAVA Script:
شما که با دنیای کامپیوتر و اینترنت آشنایی دارید حتما این اسم را شنیده اید. اما اشتباه نکنید JAVA Script با جاوا فرق دارد. JAVAScript یک برنامه کاملا مستقل است که توسط شرکت SUN و شرکت NetScape ساخته شده است. جاوا هم به صورت فایل اجرایی (exe) و هم در صفحات وب قابل استفاده است. ولی JAVA Script فقط به منظور استفاده در اینترنت طراحی شده است. شما می توانید یک متن جاوا اسکریپت را در ساده ترین ویرایشگرها مثل word pad ویرایش کنید. دستورات JAVA Script درون تگ های HTML قرار گرفته و بعد درون فایلی با پسوند .htm ذخیره می شوند و در مرورگرهای وب قابل مشاهده هستند.
خلاصه این که جاوا برنامه ای قوی و کاربردی است و ابتدا فقط مورد توجه برنامه نویسان آمریکایی بود ولی اکنون به قدری رشد کرده است که برنامه نویسان سراسر دنیا به آن اعتقاد پیدا کرده اند، اما از آنجا که جاوا ابزاری است برای برنامه های پیچیده و بزرگ که توسط تعداد معدودی از سیستم ها مورد استفاده قرار می گیرد، کمتر مورد توجه برنامه نویسان سیستم های کوچک قرار گرفته ولی با همه اینها ابزارهای بسیار قدرتمند و پیشرفته ای دارد که قابلیت های فراوانی به این زبان برنامه نویسی داده است.