That's hugely debatable, actually. If you ever called a command-line application in one of those scripts, you called what's essentially an object - it encapsulates its own behavior, hides how it does it, you can create multiple ones (instances) without them competing or sharing information, the command line arguments are arguments to the constructor, etc. They're nearly identical.
OOP concepts aren't what's getting in the way. It's the boilerplate most languages require for their preferred object systems. A good language for beginners would have to make it easy to progressively encapsulate things as the program grows, without requiring substantial rewrites. It should be very easy to go from a few named variables to an array or dictionary, and then to add methods to that to make it a proper class.