I'm looking for a guide to the basic concepts of programming, that are explained in a good amount of depth.
By this I mean something that describes what:
- Object oriented programming is...
- What compilers are, how they work, etc..
- General descriptions of how programs work on a deeper level - such as, say, everything is in binary. But we write programming code. How is one converted to the other?
- What are the standard differences between Unix-based and Windows operating system programs? (Apologies if this sounds ignorant - I've never used a mac in my life, and have only used Ubuntu for about a month a while back, not doing anything programming related - hopefully you can infer the meaning of my question)
- Where would I research things like, say, I know about - where would I learn about other things such as this, what they contain, how to use them? This is a library? Namespace? What? What does that mean?
- What can a text editor do for me? (Emacs? Why would I use hat over the text editor inside of visual studio?)
etc. etc...
Just the real simple basics of how programming works in general terms - not specific syntax's of specific languages, just broad things like "What is a compiler".
I want a book like this, beginning from a beginners level. Lets say, I have a generic idea of how computers work, but really don't understand any programming concepts such as these really basic ones. (I do in reality, but I really want to get back to basics).
I don't necessarily mean that I need each of those questions answered within the book, but it should give you an idea of what it is I'm asking for. If it doesn't exist, have yo any other ideas? Doesn't have to be a book - can be a video, tutorial, website, blog post, anything - though I'd prefer a book.
As a final note: If you feel like giving an answer to any of those questions in Laymen's terms, I think I could reaffirm my knowledge (as a novice), and also create a good thread for any other newbies to find that might help a -lot-.
/* Note: If such a book doesn't exist for a generic idea of what programming is all about, then something specific to C++ would be great. Ideas behind the concepts and ways things work are important though, I don't just want -another- book teaching me how to code "Hello world"
Feel very free to edit this post, if i'm being unclear - i'm not very good at expressing myself clearly in English.*/