Message from JavaScript discussions

September 2017

— 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.

Message permanent page

— 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.

Message permanent page

— 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.

Message permanent page

— 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...

— Dynamic vs Static type is what you mean I think

— With static in C++, you define one or more types a function can return, and which code to use for which types of parameters. Very cool template metaprogramming. You can include multiple types in some languages, too

Message permanent page

— Duck typing is more like checking the structure and properties of an object to see if it matches certain criteria

Message permanent page