— So what it comes down to is... You'd use the same libraries (std, stl, boost, etc...) but have a better, easier experience by using C++ directly, IMO.
Plus you can do type safety, strict/static types easier; a construct that when tried in PHP is annoying at best, catastrophic at worst.
— Duck typing isn't a problem, inconsistency is objectively bad always.
— That is the number one reason it is considered objectively bad... If I were speaking subjectively I would say so and you'd know it's a matter of opinion, which this is not. Compared, objectively, to the very languages PHP was based off (semantically, even), PHP simply *is* far worse in terms of consistency. There is no other real metric than "is it on fire?" that would draw such a conclusion
— Looking at the question another way, one could say a cart with wheels at random 20 degree angles is "objectively bad" because the ride is very rough, but it still gets the job done at the end of the day.
— It could be the highest performing language in the world, with the best polished code ever inside it... But if the only interface the user has to interact with the code is a bad one, it doesn't matter how good the insides are.
— When the user has to navigate around a big list of "gotchas", all of which are inconsistent and defy user expectations, that is an objectively bad thing.
— She's not talking about duck typing, just the standard library
— Java IS dynamic in the demonstrated ways though
— "declares it with"? I think you mean "casts to"
— That isn't duck typing...