Very difficult and time consuming
Assembly language is made up of a predetermined set of commands that can be read by a person
Each command directly translates into a machine code number
Is has a low level of abstraction as there is a direct link between an instruction in assembly and the
machine code which it represents
Complete set of commands available – instruction set of the CPU
Instructions in assembly language – mnemonics
Assembly language consists of a set of mnemonic instructions, each of which has a machine code
equivalent.
Programming in assembly language is still quite difficult as the programmer needs to know a lot
about the hardware details inside the CPU. Another issue is that the code only works on a specific
CPU family.
programs in Assembly run fast compared to programs written in a high level language, because there
is less code overall.
Device drivers have code written in assembly language
High level languages always have a set of keywords like print or if and have a set of grammar rules
(syntax) on how to combine them correctly
Source code using keywords and syntax
Java, Python C++, C
Machine – independent = ported to different computers and still run
A translator is a piece of software that converts programming code into machine code.
Assembler - converts assembly language instruction into machine code
Compiler - converts high level source code into machine code and stores it in an executable file
Interpreter - converts a single line of high level source code into machine code and then immediately
runs it on the CPU.
A compiler reads all the source code in one go, examining each keyword and their arguments. It
translates those keywords into a set of machine code instructions. Each keyword often translates
into a lot of machine code instructions.
Each module is compiled into an object file which has machine code. Then these object files are
linked together to form a single executable file.
an interpreter translates a single line of source code and then immediately carries out the resulting
machine code instructions. Then it reads the next line of source code and does the same. It carries
on doing this until the program is terminated.
The advantage of an interpreter is that it is excellent for developing and testing code as any errors
show up immediately.
, The disadvantage is that the interpreter must always be present to run the source code. And the
source code itself also needs to be available.
IDE - brings all the tools necessary for coding into one application. The tools are designed to work
seamlessly together.
Editor:
Help you to write code efficiently and easily with aids such as colour coded highlighting, auto-
completion and brace matching.
Project(s) explorer
A window that shows project files and folders `
Asset library
A window that lists all the assets such as images, sound, media files in the project. It may also allow
you to duplicate, edit and delete assets or drag them in from another project
Runtime Environment
This means it allows you to build the project from its files, compile it all and then run it as if the code
was running on the target CPU. It will not run as fast as the real thing, but it really helps complete
the project faster and easier.
Object viewer
Many languages allow you to create 'objects' visually, and these objects have 'attributes' or
properties that you can view and alter from this window. For example some game-making IDEs allow
you to create game sprites
Debug tools
These allow you to spot and correct programming errors.
A basic feature of debugging is to be able to single-step through the code. In this way you can see
how the variables are changing and how the program flows. To make it a bit more flexible you can
choose to 'step-into' a subroutine or you can 'step-over' it if you know it is working.
'Breakpoints' can be placed in the code and when that point is reached in the program as it runs, it
stops and allows you to see variable values at that instant. Another tool is 'Watch variables' with this
one you can tell the program to stop at the instant a variable has a certain value.
And of course it will highlight any syntax errors that are preventing the program from compiling.