Guy here. To me, there are 2 types of catcalling;
1) Objectification: objectification is awesome as long as it's consensual (cue kink crowd, and body building crowd ironically, which is a bunch of guys begging to be objectified), and cat-calling in terms of objectifying is decidedly not consensual. Think "damn girl, why don't you bring that ass over here!"
2) Fashion: most guys don't do this because they're afraid they'll look gay, but that's because most guys have no conception of how to do this right. Example: I was in Barcelona, and sometimes I'd go out to the club, and I'd see girls dress to the nines. So I'd say "damn girl, you stuntin." Most of the times they'd look confused, I'd ask if they speak English, and explain "stuntin" as slang; "You know what a stunt actor is? Yeah? Ok, so a stunt actor does something so impressive people's jaws drop. You look so good you're making guys jaws drop." "Oh. I like this word. Stunting." The purpose of fashion is more to put people up, whereas the former puts people down. It's more the recognition of the saying "it's so expensive to be a girl" and saying that the effort, time and money is not for naught.
Like comedy, delivery, message, intent, and person saying said thing are all important. But most cat-calling is the former and doesn't like or respect women (think Sean Connery Bond), whereas the latter genuinely like women and likes just putting something good out into the world through genuine compliment cause damn being a girl is hard (Roger Moore Bond).