Curriculum Portal

Select a course.

arrow_back

2.5 Programming Languages and IDE's

infoWhy this? Professional developers use a range of programming languages and specialist tools to create software efficiently. By learning about translators, compilers, interpreters and IDEs, you gain insight into real-world software development practices.

scheduleWhy now? Understanding these concepts now helps you work more effectively as a programmer and prepares you for further study and careers in computing.

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.