In this diploma thesis we are exploring different methods of memory management in a variety of programming languages. We are focusing on a comparison between programming languages with automatic memory cleaning, like Java, and languages with manual or explicit memory management, like C, C++ and Rust. We analyze the problem through two key points of view: with usability comparison made on an example implementation of a game, and with effectiveness comparison where we measure efficiency of various approaches with benchmarks. Results of this thesis provide overall view over tools and mechanisms provided by these languages and help developers at choosing an appropriate language based on the needs for performance and safety of memory management.
|