MOV, async, DSL – are they connected?

MOV is an assignment instruction in the assembly language. C# supports async and await pattern by rewriting method into a state machine. Domain specific languages give us languages tuned for some domain problems. Lambda Calculus shows how to calculate things using functions only. These things are completely different! Or are they?

In this talk we will go through abstraction and why it is important to extract common patterns into specific solutions. We will understand why we need multiple programming languages and cannot just have “one language to suit everyone”. We will see basics of async/await, Lambda Calculus and DSL. We will then discuss some ideas behind theory of computations to see why we don’t need to have anything beside MOV. Finally, we will see why we build tools and abstractions to deliver customer value.

Level 100. Computer science talk, not focusing on specific technology.

Materials

Slides

Presented at