Curriculum Portal

Select a course.

arrow_back

2.5 Programming Languages and IDEs

infoWhy this? Comparing programming languages and translation methods helps us choose approaches that balance readability, hardware control, portability, and execution needs. Understanding IDE tools supports efficient coding, diagnosis, testing, and refinement.

scheduleWhy now? Having revisited design, implementation, testing, and logic, we can explain how IDE features support the development process. Our Year 11 understanding of CPU execution also gives a firmer basis for revisiting translators and comparing high- and low-level languages.

neurologyYou need to know

  • High-level programming languages use human-readable statements and abstractions that make programs easier to write, understand and maintain.
  • High-level languages are largely independent of a computer’s processor architecture, so the same source code can often be translated for different systems.
  • Low-level programming languages use instructions that are closely related to the processor’s instruction set and hardware architecture.
  • Low-level languages give programmers direct control over hardware and memory, which can support efficient use of processing time and storage.
  • Low-level programs are generally more difficult for humans to read, write, debug and maintain than equivalent high-level programs.
  • Programs written in a low-level language are usually processor-specific, so they are less portable between systems with different processor architectures.
  • A translator converts source code written by a programmer into machine code that the processor can execute.
  • A translator is needed because a processor directly executes machine-code instructions rather than high-level source code.
  • A compiler translates an entire source program into machine code before the resulting program is executed.
  • A compiler reports detected errors during compilation and does not usually produce an executable program until blocking errors have been corrected.
  • Once compiled, an executable can be run repeatedly without translating the source code again, so execution is usually faster than with an interpreter.
  • Compiled programs can be distributed without sharing the original source code, although separate versions may be needed for different operating systems or processor architectures.
  • An interpreter translates and executes source code one statement at a time while the program is running.
  • An interpreter normally stops when it reaches an error, which makes it easier to locate and test individual faulty statements.
  • Interpreted programs require the source code and a suitable interpreter each time they run, so they are generally slower than compiled programs.
  • An Integrated Development Environment (IDE) combines tools for writing, translating, testing and debugging programs in one application.
  • An IDE editor can provide features such as syntax highlighting, automatic indentation, line numbering and code completion to make source code easier to create and inspect.
  • Error diagnostics identify problems in source code and provide messages that help the programmer locate and correct syntax or run-time errors.
  • An IDE’s run-time environment allows a programmer to execute and test a program without leaving the IDE.
  • An IDE includes or connects to a compiler or interpreter so that source code can be translated and executed during development.

rocket_launchYou must be able to

  • Compare high-level and low-level languages in terms of readability, hardware control, portability, development time and processor dependence.
  • Select a high-level or low-level language for a stated task and justify the choice using the task’s requirements.
  • Explain why a given source program requires a translator before a processor can execute it.
  • Compare compilers and interpreters by describing when translation occurs, how errors are reported, execution speed and software distribution.
  • Choose between a compiler and an interpreter for a stated development scenario and justify the choice using relevant benefits and drawbacks.
  • Use an IDE editor’s syntax highlighting, indentation, line numbering and code completion features to enter and organise source code accurately.
  • Use error diagnostics to locate, interpret and correct syntax and run-time errors in a program.
  • Use an IDE’s translator and run-time environment to translate, execute, test and refine a program.


Revision Quiz

trophy Congratulations! You have completed the quiz.