State 3 types of translators
Interpreter, assembler, compiler
State 3 categories for IDE features
presentation, debugging, coding, initial error detection
State 2 presentation features of an IDE
prettyprint
expand and collapse code blocks
Explain why language translators are needed when programming.
Because computers only understand machine code, while it is difficult for humans to code entirely in machine code.
Thus, the programmer will use a high-level language that is easy to write, test, and debug. This language needs to be translated to machine code that the computer understands.
State 2 debugging features of an IDE
single stepping, breakpoints
Give 2 characteristics of a high-level language
Very close to human language
Machine independent
Easy to write, test, debug
Give 2 characteristics of machine code
written in binary
can be directly understood by the CPU
machine dependent
What is the purpose of the report window in IDE?
to display the current value for any variable during the execution of the program
Describe the operation of an interpreter.
Reads each line then translates it and executes it
Stops when an error is encountered // displays errors where it finds them
Describe the operation of a compiler.
Attempts to translate the whole source code
Creates a separate error report at the end of the translation process
If translation successful / no errors creates an executable file
Describe a situation where a compiler is suitable to be used
When the programmer has finished writing the program and it is ready to be distributed to the user
To protect the source code during distribution so the program cannot be edited, copied, etc
Explain the terms single stepping and breakpoints
Single stepping: allows the programmer to execute the program one line at a time so that the effects of each statement can be seen
Breakpoints: stop the code at a specific line to check the current progress / values
State 3 drawbacks of using a compiler compared to an interpreter during program development
larger amounts of source code take time to compile
slower to produce the object code than an interpreter
code cannot be changed without recompilation
the program will not run if there are any errors
errors cannot be corrected in real-time
one error may result in other false errors being reported
cannot easily test specific sections of the source code // cannot easily test unfinished source code
Explain why high-level language programs might be partially compiled and partially interpreted
partially compiled programs can be used on different platforms as they are interpreted when run
code is optimised for the CPU as machine code is generated at run time
Explain how a programmer can make use of a typical Integrated Development Environment (IDE) when writing and testing a program.
Writing: Pretty printing to identify key terms, Context-sensitive prompts to help complete statements, Expand and collapse code blocks, Dynamic syntax checking
Testing: Single stepping to run the code line by line, Breakpoints to stop the code at set points to check values, Report window to see how variables change