Hi,
I would love to understand programming languages on a more abstract level. What do they have in common and why? Why has language A feature A but not feature B?I am an EE/Robotics student and program everyday but I feel like am lacking some deeper knowledge about programming languages which holds me back from becoming a better developer.What course/book can you recommend?EDIT: 
I have written quite a bit of code in Python (Pytorch/Tensorflow), do my coding interviews in C++, and also have experience in web dev with JavaScript (NextJS). I am looking for a CS50 like course. I was thinking of going through the "Writing an Interpreter in Go" course. But would rather learn something less implementation oriented.