You can learn programming basics with a high school education, but if you never take a class on boolean logic (either as part of philosophy, math, computer science, or electrical engineering), linear algebra, graph theory, and statistics then higher level computer science material will always elude you. You can't competently do algorithm analysis without a solid graph theory background. You will never get to efficient graphic engines without linear algebra (admittedly, the truly talented can teach themselves linear algebra along the way, but you're really biking uphill with that route, and relearning a lot of stuff that could have been handed to you).
So yes, you can become a programmer without the college education, but without that backfill of diverse coursework, it will at a minimum be harder for you than it has to be, or else you will be a substandard programmer.
P.S. And yes, people with a college degree can still be terrible programmers. I'm talking more about having an understanding of underlying concepts, not what classes you managed to somehow pass without learning anything.
P.P.S. Oh and high school dropouts can become brilliant programmers, but a handful of outliers do not a data set make (see statistics comment above). And even those rare geniuses learned the concepts I mentioned, probably the hard way, and I respect that, but imagine what they could have done if they hadn't had to take the long road.