I. Introduction
During the last two decades, software development has changed drastically, more and more people not involved in professional software development have become able to do programming and new resources to make programming easier have been created. For example: several amounts of code samples and tutorials are being uploaded to the web and used through copy-pasting; a large amount of algorithms are constantly being converted into libraries and made widely available, so to find the best-suited function within libraries has become an important task; and several visual software development tools and languages, where the programming code is hidden and it can be applied with “just a click” are being developed.