

Just because they are equivalent for the labguage does not mean they are interchangeable. I may choose to use single or double quotes in specific cases and need that change to be visible, even if the language rules say it is indifferent.
This is the obvious one: The way the string is written changes, but its content remains the same. There is nothing to highlight for SemanticDiff.
Moreover, my point was about how they phrase it. It seems they dismiss what the code means to developer by mentioning “content” and discarding “the way the string is written”.
You can have a junior write compiler code, but you won’t have a junior compiler writer. It’s a very specific niche topic which does not have the demand for this.
Well, they do. Version control is extremly useful for doing projects especially in groups and debugging is a necessary tool for building systems. These are not the main topic of the courses, but they are taught and practically mandatory.