diff options
Diffstat (limited to 'notes/algorithms.tex')
| -rw-r--r-- | notes/algorithms.tex | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/notes/algorithms.tex b/notes/algorithms.tex index 581a5e5..c745b72 100644 --- a/notes/algorithms.tex +++ b/notes/algorithms.tex @@ -84,3 +84,23 @@ fewer comparisons will be made. \subsection{Bubble sort} \subsection{Merge sort} + +\section{Programming languages} + +Programming languages are useful to humans in writing algorithms for +computers to run. There are \textit{high level languages} (such as +Python, Haskell, and C) which are easier for humans to write and +understand, \textit{low level languages} (assembly code) which are +human readable but directly represent machine code, and machine code +which is not readable by humans as it is binary code but is the only +information the computer actually understands and runs. + +Some languages (such as C) are \textit{compiled}. This involves the +entire \textit{source code} being turned into a machine code file by +the compiler. Other languages (such as Python) are +\textit{interpreted}. Here, an interpreter turns a line of code into +machine code, runs it and then moves onto the next line. The benefit +of a compiler is that once compiled, the machine code file is very +fast to run. However, an interpreter offers easier development as +there are no long compile times but it is slower than code that is +already compiled. |
