Software Development Environments (or Integrated Development Environments (SDE)) are used to write programs. Examples include Netbeans, Greenfoot, IDLE (Python) and Scratch. They contain a range of features that make it easier to write code.
Compiler – this converts the high-level programming language into machine code that can be run again and again without the need for it to be compiled again. This creates an executable file which can then be run without the need for the compiler.
Interpreter – this converts the program into machine code line by line. The program would need to be interpreted every time it is run as it has not been compiled. This is more suitable for smaller programs, while a compiler would normally handle larger files.
Linker – this links the program to code in software libraries.
Loader – this loads compiled code into memory ready to be processed.
Debugger – this identifies (and possibly fixes) any errors in the code.
Trace – this highlights which lines of code are being executed as the program is being run. This is very useful if the program is doing something unexpected as we can see the lines of code that are being executed at the time.
Variable Watch – this allows us to see the value of variables are the program is being executed. Again this is very useful if the values are not being calculated as expected.
Memory Inspector – this allows us to see the data stored in a section of memory.
Error Diagnostics – when a program fails to execute, the IDE will display a message to help the programmer find the mistake.
Unlike high level programming languages like Java and Python, assembly language is a low level programming language that uses short complex mnemonics to represent instructions. An assembler converts this low level language to machine code.
Note – some compilers conver code to assembly language before converting to machine code.