Assemblers, Compilers, Interpreters and features of IDEs
What's another name for interpreted languages?
Scripting languages
The environment where the user can write code
Shell
Libraries
These provide functions that are not included in the core part of the programming language. These functions can be imported and used at the start of the program code. For example, in Python the Turtle Graphics library provides access to some simple drawing and graphics tools
Translator
This compiles or interprets the code
Auto documentation
This explains the function and purpose of the code, e.g. by noting the modules and variables used, and its expected behaviour, and collates this into a text file that can be used by other developers to understand how and why the code was created
Debugger
This is a program within the IDE that is used to detect errors. If the debugger detects errors, it may suggest what the type of error is and what line it is on
Auto-completion (or code completion)
This is designed to save time while writing code. As you start to type the first part of a function, it suggests or completes the function and any arguments or variables
Bracket matching
This is used for languages that use pairs of brackets to mark out blocks of code. It allows the code to be read and understood more quickly. If you forget to close a bracket while writing, coloured sections may help you to detect missing brackets
Syntax checks
This recognises incorrect use of syntax and highlights any errors
Assemblers
Translates assembly language into machine code. Assembly language is a low-level language written in mnemonics that closely reflects the operations of the CPU
Interpreters
Translates code into machine code, instruction by instruction - the CPU executes each instruction before the interpreter moves on to translate the next instruction Interpreted code will show an error as soon as it hits a problem, so it is easier to debug than compiled code
Compilers
A compiler translates the whole program into machine code before the program is run It can be difficult to test individual lines of compiled code compared to interpreted languages as all bugs are reported after the program has been compiled
IDE's
An integrated development environment (IDE) is an application used to create software. An IDE can often support different languages IDEs have a number of different tools and functions that assist a developer in the creation of software
Which is faster to execute, interpreted or compiled code?
Compiled code
Typical usage of assembly language
Device drivers, low-level embedded systems, and real-time systems. This is the only language your computer can speak directly