aboutsummaryrefslogtreecommitdiff
path: root/notes/algorithms.tex
diff options
context:
space:
mode:
authorMohit Agarwal <mohit.agarwal@sky.com>2021-10-12 19:44:59 +0100
committerMohit Agarwal <mohit.agarwal@sky.com>2021-10-12 19:44:59 +0100
commitd6de8c993dbf5522cc2e1b1a6491fd424981ab58 (patch)
tree31eac9d804eb1f46cc48f4700140f5cb4c3a2932 /notes/algorithms.tex
parent21b74cee1648bad2b9bbc2995fe79018c49a2457 (diff)
Writing notes
Diffstat (limited to 'notes/algorithms.tex')
-rw-r--r--notes/algorithms.tex20
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.