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.