This may be too broad a question, but I thought I would see what people thought. I am somewhat of a novice when it comes to computers in general. I know the basics, but would like to expand my knowlege and understanding of computer hardware, software, and programming, i.e. learn the language of C++, Java, HTML, etc. The purpose of this is to become knowlegable enough to really undersand Linux, writing code, etc.
I very much support the ideals of the Free Software Foundation and the driving force behind Linux. As such, I would like to take my understanding of computers, software, and programming to a much higher level. Where would be a good starting point for someone like me in order to develop a fundamental understanding of computers and programming in order to achieve my goal? I kow that such an endeavor might be decades in the making, but I have to start somewhere.
Thanks in advance for any advise.