Random Trivia
Structured Programming
Theory
Functional Programming
100

Who is associated with the discovery of structured programming?

Edsget Wybe Dijkstra

100

Dijkstra disliked this coding statement, he replaced it with if/else and do/while statements.

What is the `goto` statement?

100

Structured programming imposes this discipline on developers.

What is `direct transfer of control`?

100

These are some of the hardware limitations of functional programming.

What are data storage and processing power?

200

What's a disk?

???

200

Dijkstra believed in this mathematical process to validate code.

What are proofs?

200

Functional programming imposes this discipline on the developer.

What is `assignment`?

200

Functional programming is characterized by the lack of these.

What are mutable variables?

300

Dijksta published his letter "Go To Statement Considered Harmful" in this year.

What is 1968?

300

"A program can be proven incorrect by a test, but it cannot be proven correct." This theoretical method is used to prove the correctness of code.

What is the scientific method?

300

OOP programming imposes this discipline on the developer.

What is `indirect transfer of control`?

300

According to Clean Architecture, functional programming protects us from these issues.

What are concurrency issues?

400

Functional programming is associated with this person who is credited with this invention.

What is l-calculus (lamba calculus), invented by Alonzo Church?

400

The scientific method manifests in the development world as this process.

What is test driven development?

400

According to Bohm and Jacopini, all programs can be constructed from just these three structures. 

What are sequence, selection and iteration?

400

A development tool we implement everyday that is mostly functional (?).

What is source code control system (Version control)?

500

Dijkstra's official job title, which was necessary for his marriage.

What is "Theoretical physicist"?

500

Why was it so important to remove `goto` statments from code?

Allows verification.

500

Describe the bank account analogy and how it relates to functional programming.

Storing the account balance as a variable vs. storing all transactions and calculating the value every time you need to see the balance.

500

Most programs are CRUD. Theoretically, we can remove these operations with a purely functional program. 

What are `update` and `delete`?