https://medium.com/@shishirmohire/compiled-vs-interpreted-vs-transpiled-vs-byte-code-interpreted-languages-92bfc3b3d319