Message from JavaScript discussions

September 2017

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

— 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

— "If it looks like a duck and quacks like a duck, it's a duck"

— In JS this is commonly used to validate incoming parameter objects. I wrote something that does it:

assert.props(obj, "prop" ...);

Message permanent page