Aristophanes wrote:
It's never too late to learn anything. Learning only requires dedication and effort, it's not about how 'smart' you are or how quick you can think, it's about hitting the books, focusing and absorbing that information. "Programming" is a large concept, you need to figure out what fields you want to enter to choose the appropriate language. If you're interested in developing games, javascript is a poor language to learn, likewise if you want to work on web apps C++ is terrible language to learn. Each language has it's own niches based on the performance and compatibility of the language. Also, I forgot robotics, probably the hottest field out there right now, but you'll need a firm grasp of physics as well as programming to excel at that.
Truth be told most 4 year institutions don't teach programming, they teach data theory (how efficiency is created, how to avoid poorly designed structures, etc.) and while data theory is important it's not near as important as actually being able to write good clean logical code in your language of choice. My recommendation is find a language that's used in a sub field of programming you're interested in and find online tutorials. Books are ok, but in the modern era books become outdated rapidly, whereas an online tutorial site will have a high probability of being up to date. Also, look for tutorials that have you build something, not just random functions and objects with no real purpose-- that's the easiest way to kill your enthusiasm. You want a result from your learning effort, some program to show that you can then alter or build upon after the tutorial is over, which can also be the first piece of a portfolio.
Excellent advice.
_________________
"There once was a little molecule who dreamed of being part of the crest of a great wave..."
(From the story 'The Little Molecule' - Amazon Kindle, 2013)