https://medium.com/@alexandragrosu03/beyond-syntax-understanding-the-philosophy-behind-modern-programming-languages-9e2aa1b0b681