---
# System prepended metadata

title: SPO - Lecture 0

---

# SPO - Lecture 0
## Opgave 2 - Make a drawing or description of the phases (internals) of a compiler (without reading the books or searching the Internet) – save this for comparison with your knowledge after the course.
![](https://i.imgur.com/78tFGqk.png)


## Opgave 3 - Compare your individual list of programming languages and make a list of all the computer languages that group members know.
* C
* C#
* C++
* Java
* JS
* Typescript
* VBA
* Processing 3
* Python
* Markdown
* LaTeX
* HTML
* CSS
* Node.js
* p5.js
* R
* MatLab


## Opgave 4 - Create a list of language features group members would like in a new language. Are any of these features in conflict with each other? How would you prioritize the features?

* if-else
* switch
* for
* while
* try/catch
* lambda expressions
* functions/methods
* classes/objects 
* interfaces
* check if even
* not typed
* startup + main loop
* async


## Opgave 5 - Discuss what is needed to define a new programming language. Write down your conclusions for comparison with your knowledge after the course.

* imperative, functional or state machine?
* features and syntax/semantics
* performance/readability?
* who is it aimed at?
* which platform/OS should it run on?
* dynamic or static typing