diff options
| author | Mohit Agarwal <mohit.agarwal@sky.com> | 2021-10-12 19:44:59 +0100 |
|---|---|---|
| committer | Mohit Agarwal <mohit.agarwal@sky.com> | 2021-10-12 19:44:59 +0100 |
| commit | d6de8c993dbf5522cc2e1b1a6491fd424981ab58 (patch) | |
| tree | 31eac9d804eb1f46cc48f4700140f5cb4c3a2932 /notes/algorithms.tex | |
| parent | 21b74cee1648bad2b9bbc2995fe79018c49a2457 (diff) | |
Writing notes
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. |
