The thesis deals with object-oriented programming languages with prototypes, also known as prototype-based languages, and programming in them. It contains an explanation of the concept and components of classic object-oriented programming with the use of classes, a presentation of object-oriented programming with prototypes and an overview of differences between them. The second part of the thesis deals with actual object-oriented languages with prototypes (such as Self, JavaScript, Lua, Omega) and compares them with a classic, class-based object-oriented language (Java). Alongside the history and the description of each language and its particularities, the thesis also contains examples of code written in each of the languages. Those serve to illustrate the way in which the languages work and compare their performance speed when executing various common tasks.
|