Message from JavaScript discussions

September 2017

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

— 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

— Very handy :D