Can you explain these terms for me: reference semantics and value semantics (and how they contrast) and non-linear mutable state. They are mentioned in the comments to the book review in this link http://lambda-the-ultimate.org/node/2849
The book is of course "Programming: Principles and Practice Using C++" Many commentators are calling the book useless for teaching for ignoring reference semantics, I can almost guess what this means, but I am not 100% sure.
I think they mean programming using references types (e.g. classes) is the way to go versus programming using values types (e.g. struct)
I doubt my understanding, because I doubt bjarne stroustup would do that, C++ is about classes ... so I think there is something deeper about the term reference semantics, something less than obvious at least to me
Also the terms linear and non-linear states were used, which seem intriguing, and which I dont understand.
So if someone can explain those terms, that would be great