Duck typing is a programming concept where the suitability of an object is determined by the presence of certain methods and properties, rather than the type of the object itself. If it walks like a duck and quacks like a duck, duck typing says it's a duck, even if it isn't technically a duck class.
"I don't care if you pass me a Goose object, as long as it implements the quack() and waddle() methods, I'm treating it as a Duck," said the grizzled engineer, glaring at the cowering junior dev. "That's duck typing, kid. Welcome to the wonderful world of Python."
The crusty senior architect scoffed, "Sure, you could create a separate Queue class, but this is Ruby! Embrace duck typing—just shove those methods into Array and call it a day. If the suits ask, tell 'em it's a 'elegant design decision' or some crap like that."
Duck Interface by Martin Fowler - In this article, Fowler explores the concept of duck typing and how it differs between static and dynamic languages like Java and Ruby.
Python and Duck Typing by Real Python - This beginner-friendly tutorial dives into how duck typing works in Python, with clear examples and explanations.
What is Duck Typing in Python? by Better Programming - A concise overview of duck typing in Python, discussing its advantages and potential pitfalls.
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.