Programming is much the same. Yes, you absolutely can learn programming in 4 months, but you'll still be learning 20 years from now (25 years and counting for me). An important distinction is that, with a few months of practice, you'll probably know how the major constructs work as well as I (or anyone else here) do, but you probably won't have the particular sort of mental agility that lets you piece those constructs together fluently — that takes longer. Being able to map from problem to solution will take longer still.
Also, going back to the "learning english" metaphor, knowing english doesn't mean you know the technical vocabulary around sailing, or around mountaineering. Each of those is a separate sub-skill that needs its own practice. Likewise, knowing elementary programming doesn't mean you have the domain knowledge you need for graphics programming, or web dev, or whatever else.