This project aims at the comparison between the features and qualities of the Java and C++ programming languages. Even though they are both object-oriented programming languages, there exists a surprising number of differences between C++ and Java. These differences are intended to be significant improvements in favor of Java. It is by investigating on these differences that we will see why Java and C++ are both such beneficial programming languages on different aspects. This project will take us through the important features that distinguish Java from C++. We proceed by first describing what are the key concepts of object-oriented programming, then we present a case study that consists in the building of a software system for the simulation of a gas station network system. The design of the system is shown, then the system is built in two different versions using both Java and C++. Then the differences between the two languages are shown in light of this experience