Types and Programming Languages Part 6 – Liskov substitution principle

This is the sixth part of the Types and Programming Languages series. For your convenience you can find other parts in the table of contents in Part 1 — Do not return in finally Today couple words about Liskov substitution princple (LSP for short). It is often misunderstood which leads to unclear directions how to … Continue reading Types and Programming Languages Part 6 – Liskov substitution principle

Types and Programming Languages Part 4 – Diamond problem

This is the fourth part of the Types and Programming Languages series. For your convenience you can find other parts in the table of contents in Part 1 — Do not return in finally The Diamond Problem, sometimes called Deadly Diamond of Death, is a problem in which we inherit the same thing through multiple … Continue reading Types and Programming Languages Part 4 – Diamond problem

Types and Programming Languages Part 3 — Finally during termination

This is the third part of the Types and Programming Languages series. For your convenience you can find other parts in the table of contents in Part 1 — Do not return in finally Let’s take the following code: Let’s say there is no catch block anywhere on this thread. What’s going to happen? That … Continue reading Types and Programming Languages Part 3 — Finally during termination

Types and Programming Languages Part 2 — Exception while handling exception

This is the second part of the Types and Programming Languages series. For your convenience you can find other parts in the table of contents in Part 1 — Do not return in finally Last time we saw what happens when we return in finally and that we shouldn’t do it. Today we explore a … Continue reading Types and Programming Languages Part 2 — Exception while handling exception