I want to preface this question by saying that I've read a ton of questions on Programmers leading up to this one. I was/am particularly affected by the assertion that PHP as a language suffers because of poor coding and the leeway it provides.
I have been coding PHP for a long time - I learned a lot as an apprentice to a senior, but have been mostly restricted to web development. I have enough knowledge to quickly respond to challenges and to provide web-based solutions that are secure. I am getting slightly more familiar with MVC and OOP in general, but it isn't a strong point for me.
My fear is that I fall into the category of people that give PHP a bad rep - not for vanity purposes, but because I'd really like to be the best programmer/developer possible. I have a penchant for learning and I think it is time to "graduate" to a more in depth understanding of programming and development in general, so I can improve my skills and become a better programmer.
I think this starts with learning a new language and building a hobby project with some expertise found in literature - books like Code Complete, Clean Code, and references on algorithms. I'd like to integrate their best practices and advice. There are some community college courses as well, but my concern is that I may be beyond some of the classes - they are very introductory.
I'm looking for suggestions and tips to attain my goal. I would love to get feedback from the community so I can learn more and (hopefully) be great.
Edit: I'm considering Python or Ruby to dive into, but I think a non-scripting language would help me out more. If you have a suggestion there, please include it in your answer :)
