> I would love to understand programming languages on a more abstract level. Structure and Interpretation of Computer Programs (SICP) - https://web.mit.edu/alexmv/6.037/sicp.pdf To find out more about the decisions on language features just read material from the language creators and core contributors.
You might also like "Programming Languages: Application and Interpretation":
1st ed: https://web.archive.org/web/20150926000110/http://cs.brown.e...
2nd ed: https://web.archive.org/web/20210121232912/http://cs.brown.e...
Also recommend lurking on http://lambda-the-ultimate.org/ to find material that interests you.