گفته شده که دوران طلایی برنامهنویسی با اختراع زبان C آغاز شد. البته به دنبال آن نیز زبان C++ ابداع شد که قابلیتهای برنامهنویسی شیءگرا را به زبان C اضافه کرد و مقبولیت بسیار بیشتری یافت.
زبان جاوا نحو (syntax) خود را از زبان C گرفته است. بر این اساس، برای برنامهنویسانی که از زبان C به زبان جاوا مهاجرت میکنند، کار یاد گرفتن زبان جاوا تا حد زیادی آسانتر میشود.
با وجود تمام شباهتهایی که بین زبان جاوا و زبان C وجود دارد، اینها تفاوتهای مهمی نیز دارند و هرگز نباید تصور کرد که جاوا صرفاً شکل جدیدتری از زبان C است.
به طور کلی، زبانهایی مانند C زبانهای سطح پایین هستند. به عبارت دیگر، این زبانها کنترل بسیار سطح پایینی را در اختیار شما قرار میدهند. نمونهی آن وجود اشارهگرها در زبان C است که امکان دستکاری مستقیم بر روی حافظه را فراهم میکند. با این حال، همین اشارهگرها میتوانند منبع خطاهای مهمی در برنامهها باشند که گاه پیدا کردن آنها بهسختی امکانپذیر است. بر عکس، زبان جاوا پشتیبانی از اشارهگر ندارد و کنترلی در این سطح بر روی خانههای حافظه ندارد.
علاوه بر این، برنامههای جاوا پس از کمپایل به کدهای زبان ماشین تبدیل نمیشوند، بلکه به بایتکد ویژهی جاوا تبدیل میشوند که بر روی ماشین مجازی جاوا اجرا میشود. علت آن است که فلسفهی زبان جاوا از ابتدا آن بوده است که برنامههای آن انتقالپذیر باشد، یعنی بتوان برنامه را روی محیطهای مختلف و سیستمعاملهای مختلف اجرا کرد. این است که وجود ماشین مجازی جاوا برای فناوری جاوا یک ضرورت است.