High level languages may seem easier to use when you start programming but they do not offer the same degree of flexibility and efficiency which can be provided by using assembly or machine code. using these 2 allows you to code every instruction as you want it to be, and so is a lot better for small programs such as integrated circuits. high level are faster and so more commonly used for games and software which contains too many instructions for a programmer to be expected to enter each seperately without the need for a higher level language.