نوآوری در زبانهای کامپیوتری وابسته به دو عامل است: ارتقای هنر برنامهنویسی و تغییر در محیط رایانش. جاوا هم از این قاعده استثنا نیست. زبان جاوا با بهرهمندی از میراث غنی زبانهای C و C++، آنها را پالایش کرده و خصوصیاتی به آنها افزوده است که نشان دهندهی وضعیت فعلی هنر برنامهنویسی هستند. جاوا، با توجه به گسترش دنیای آنلاین، ویژگیهایی را ارائه میکند که برنامهنویسی برای یک معماری بسیار توزیعی را تسهیل میکنند.
جاوا در سال ۱۹۹۱ توسط جیمز گاسلینگ (James Gosling) و همکاران او در شرکت سان ساخته شد. نام این زبان در ابتدا «اوک» (“Oak”) بود، ولی در سال ۱۹۹۵ به «جاوا» (“Java”) تغییر نام یافت. جالب است که انگیزهی اولیه برای ساخت جاوا اینترنت نبود! بلکه انگیزهی اصلی آن نیاز به یک زبان مستقل از بستر بود که بتوان آن را در دستگاههای الکترونیکی مصرفی مختلف، مانند توستر، فر مایکروویو، و کنترل از راه دور جایگذاری کرد. به طوری که احتمالاً حدس میزنید، از انواع مختلف CPU به عنوان کنترل کننده استفاده میشود. مشکل (در آن زمان) این بود که اکثر زبانهای برنامهنویسی به گونهای طراحی شده بودند که برای مقصد خاصی کمپایل شوند. مثلاً نمونهی آن C++ است.
با آنکه میشد برنامهی C را تقریباً برای هر نوع CPU کمپایل کرد، ولی انجام این کار مستلزم آن بود که کل کمپایلر C برای آن مقصد طراحی شده باشد. لیکن مسئله آن است که ایجاد کمپایلرها کاری پرهزینه و وقتگیر است. گاسلینگ و همکارانش در تلاش برای یافتن یک راهحل بهتر، روی یک زبان انتقالپذیر (portable) بینسکویی کار کردند که بتواند کدی ایجاد کند که روی انواع مختلف CPUها تحت محیطهای مختلف کار کند. این تلاش نهایتاً منجر به ایجاد جاوا است.
تقریباً در همان زمانی که جزئیات جاوا در حال مشخص شدن بود، یک عامل دوم که نهایتاً بااهمیتتر هم بود، پدیدار شد که نقش قاطعی در آیندهی جاوا ایفا کرد. این عامل دوم چیزی نبود مگر شبکهی جهانگستر. اگر وب تقریباً در همان زمانی که جاوا پیادهسازی میشد، شکل نمیگرفت، ممکن بود جاوا یک زبان مفید ولی ناشناخته برای لوازم الکترونیکی مصرفی باقی بماند. اما با ظهور وب، جاوا به خط مقدم طراحی زبانهای کامپیوتری آمد، چرا که وب هم به برنامههای انتقالپذیر نیاز داشت.
اکثر برنامهنویسان خیلی زود به این نکته پی میبرند که نوشتن برنامههای انتقالپذیر هر چقدر مطلوب باشد، همانقدر هم دستنیافتنی به نظر میرسد. با آنکه جستجو برای روشی جهت ایجاد برنامههای انتقالپذیر (مستقل از سکو) تقریباً قدمتی به اندازهی خود رشتهی برنامهنویسی دارد، ولی مدتی جای خود را به مسایل عاجلتر دیگر داده بود. اما با پیدایش اینترنت و وب، مشکل قدیمی انتقالپذیری با حدتی فزونتر خود را نمایان کرد. چرا که اینترنت متشکل از یک دنیای توزیعی متنوع است که انواع زیادی از کامپیوترها، سیستمهای عامل، و CPUها در آن دخالت دارند.
مسئلهای که زمانی ناراحت کننده ولی با اولویت پایین بود، اکنون تبدیل به یک ضرورت بسیار مهم شده بود. در سال ۱۹۹۳، این موضوع برای اعضای تیم طراحی جاوا مبرهن شده بود که مشکلات انتقالپذیری که عموماً هنگام نوشتن کد برای کنترلگرهای جایگذاری شده بروز میکند، در هنگام کدنویسی برای اینترنت نیز خود را نشان میدهد. این امر سبب شد که کانون تمرکز جاوا از لوازم الکترونیکی مصرفی به برنامهنویسی اینترنت منتقل شود. بنا بر این، گرچه جرقهی اولیه ناشی از تمایل برای ایجاد یک زبان برنامهنویسی مستقل از معماری بود، ولی اینترنت بود که نهایتاً منجر به موفقیت عظیم جاوا گردید.