Nowadays, Java is undoubtedly one of the most widely used programming languages in the industry. Despite this, it has many downsides, which lead to other programming languages being created to complement these deficiencies. Some of these languages are also compiled to a bytecode that runs on the Java Virtual Machine (JVM), meaning that they are capable of substituting Java. In fact, different parts of the same application can be developed in different programming languages, so the programmer has the choice to pick the most fitting programming language for each part of the application.
The objective of this thesis is to get to know the Scala language in depth. A Blackjack application was developed in both Java and Scala. The application uses a server-client architecture, and has a graphical user interface. Based on this program, the two programming languages are compared. The shortcoming and advantages of each language is presented through the Blackjack program. During the creation of this thesis, the most recent versions of the languages were used.
Apart from the usage, syntax, and features of the two languages, some metrics are also included, and the thesis ends with a simple benchmark of the two versions of the program.