Я знаком с несколькими компьютерными языками (Java, C, C ++, Python, Scheme, Javascript), но не совсем понимаю терминологию их анализа и сравнения (такие как динамическое / статическое связывание, динамические / статические типы, проход -по-значению против передачи по ссылке, замыкания, перегрузка операторов и т. д.).
Существует ли официальный документ или легко читаемая книга, в которой достаточно подробно обсуждаются эти темы, чтобы я мог взглянуть на незнакомый компьютерный язык и сказать себе: «О, у него динамическое связывание и статические типы», и сказать "Это отличается от C ++, потому что ... но похоже, потому что ..."?