"duck typing" meaning in English

See duck typing in All languages combined, or Wiktionary

Noun

Etymology: From the so-called duck test: “if it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.” Head templates: {{en-noun|-}} duck typing (uncountable)
  1. (programming) A style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface. Tags: uncountable Categories (topical): Programming Hypernyms: dynamic typing, typing Related terms: typology Translations (Translations): ankkatyypitys (Finnish), duck typing [masculine] (French), Duck-Typing [neuter] (German)
{
  "etymology_text": "From the so-called duck test: “if it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.”",
  "head_templates": [
    {
      "args": {
        "1": "-"
      },
      "expansion": "duck typing (uncountable)",
      "name": "en-noun"
    }
  ],
  "lang": "English",
  "lang_code": "en",
  "pos": "noun",
  "senses": [
    {
      "categories": [
        {
          "kind": "other",
          "name": "English entries with incorrect language header",
          "parents": [
            "Entries with incorrect language header",
            "Entry maintenance"
          ],
          "source": "w"
        },
        {
          "kind": "other",
          "name": "Entries with translation boxes",
          "parents": [],
          "source": "w"
        },
        {
          "kind": "other",
          "name": "Pages with 1 entry",
          "parents": [],
          "source": "w"
        },
        {
          "kind": "other",
          "name": "Pages with entries",
          "parents": [],
          "source": "w"
        },
        {
          "kind": "other",
          "name": "Terms with Finnish translations",
          "parents": [],
          "source": "w"
        },
        {
          "kind": "other",
          "name": "Terms with French translations",
          "parents": [],
          "source": "w"
        },
        {
          "kind": "other",
          "name": "Terms with German translations",
          "parents": [],
          "source": "w"
        },
        {
          "kind": "topical",
          "langcode": "en",
          "name": "Programming",
          "orig": "en:Programming",
          "parents": [
            "Computing",
            "Software engineering",
            "Technology",
            "Computer science",
            "Engineering",
            "Software",
            "All topics",
            "Sciences",
            "Applied sciences",
            "Media",
            "Fundamental",
            "Communication"
          ],
          "source": "w"
        }
      ],
      "examples": [
        {
          "ref": "2006, Neal Ford, Scott Davis, No Fluff, Just Stuff Anthology: The 2006 Edition, page 16:",
          "text": "Ruby proponents call this duck typing::^([sic]) if the variable responds to a message that asks it to quack like a duck and it quacks, it must be a duck. This is clearly different from the way that Java (and other strongly typed languages) work, […]",
          "type": "quote"
        }
      ],
      "glosses": [
        "A style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface."
      ],
      "hypernyms": [
        {
          "word": "dynamic typing"
        },
        {
          "word": "typing"
        }
      ],
      "id": "en-duck_typing-en-noun-j0MAOTfS",
      "links": [
        [
          "programming",
          "programming#Noun"
        ],
        [
          "dynamic typing",
          "dynamic typing"
        ],
        [
          "method",
          "method"
        ],
        [
          "properties",
          "property"
        ],
        [
          "semantics",
          "semantics"
        ],
        [
          "inheritance",
          "inheritance"
        ],
        [
          "class",
          "class"
        ],
        [
          "implementation",
          "implementation"
        ],
        [
          "interface",
          "interface"
        ]
      ],
      "raw_glosses": [
        "(programming) A style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface."
      ],
      "related": [
        {
          "word": "typology"
        }
      ],
      "tags": [
        "uncountable"
      ],
      "topics": [
        "computing",
        "engineering",
        "mathematics",
        "natural-sciences",
        "physical-sciences",
        "programming",
        "sciences"
      ],
      "translations": [
        {
          "code": "fi",
          "lang": "Finnish",
          "sense": "Translations",
          "word": "ankkatyypitys"
        },
        {
          "code": "fr",
          "lang": "French",
          "sense": "Translations",
          "tags": [
            "masculine"
          ],
          "word": "duck typing"
        },
        {
          "code": "de",
          "lang": "German",
          "sense": "Translations",
          "tags": [
            "neuter"
          ],
          "word": "Duck-Typing"
        }
      ]
    }
  ],
  "word": "duck typing"
}
{
  "etymology_text": "From the so-called duck test: “if it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.”",
  "head_templates": [
    {
      "args": {
        "1": "-"
      },
      "expansion": "duck typing (uncountable)",
      "name": "en-noun"
    }
  ],
  "hypernyms": [
    {
      "word": "dynamic typing"
    },
    {
      "word": "typing"
    }
  ],
  "lang": "English",
  "lang_code": "en",
  "pos": "noun",
  "related": [
    {
      "word": "typology"
    }
  ],
  "senses": [
    {
      "categories": [
        "English entries with incorrect language header",
        "English lemmas",
        "English multiword terms",
        "English nouns",
        "English terms with quotations",
        "English uncountable nouns",
        "Entries with translation boxes",
        "Pages with 1 entry",
        "Pages with entries",
        "Quotation templates to be cleaned",
        "Terms with Finnish translations",
        "Terms with French translations",
        "Terms with German translations",
        "Translation table header lacks gloss",
        "en:Programming"
      ],
      "examples": [
        {
          "ref": "2006, Neal Ford, Scott Davis, No Fluff, Just Stuff Anthology: The 2006 Edition, page 16:",
          "text": "Ruby proponents call this duck typing::^([sic]) if the variable responds to a message that asks it to quack like a duck and it quacks, it must be a duck. This is clearly different from the way that Java (and other strongly typed languages) work, […]",
          "type": "quote"
        }
      ],
      "glosses": [
        "A style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface."
      ],
      "links": [
        [
          "programming",
          "programming#Noun"
        ],
        [
          "dynamic typing",
          "dynamic typing"
        ],
        [
          "method",
          "method"
        ],
        [
          "properties",
          "property"
        ],
        [
          "semantics",
          "semantics"
        ],
        [
          "inheritance",
          "inheritance"
        ],
        [
          "class",
          "class"
        ],
        [
          "implementation",
          "implementation"
        ],
        [
          "interface",
          "interface"
        ]
      ],
      "raw_glosses": [
        "(programming) A style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface."
      ],
      "tags": [
        "uncountable"
      ],
      "topics": [
        "computing",
        "engineering",
        "mathematics",
        "natural-sciences",
        "physical-sciences",
        "programming",
        "sciences"
      ]
    }
  ],
  "translations": [
    {
      "code": "fi",
      "lang": "Finnish",
      "sense": "Translations",
      "word": "ankkatyypitys"
    },
    {
      "code": "fr",
      "lang": "French",
      "sense": "Translations",
      "tags": [
        "masculine"
      ],
      "word": "duck typing"
    },
    {
      "code": "de",
      "lang": "German",
      "sense": "Translations",
      "tags": [
        "neuter"
      ],
      "word": "Duck-Typing"
    }
  ],
  "word": "duck typing"
}

Download raw JSONL data for duck typing meaning in English (2.5kB)


This page is a part of the kaikki.org machine-readable English dictionary. This dictionary is based on structured data extracted on 2025-02-22 from the enwiktionary dump dated 2025-02-02 using wiktextract (9e2b7d3 and f2e72e5). The data shown on this site has been post-processed and various details (e.g., extra categories) removed, some information disambiguated, and additional data merged from other sources. See the raw data download page for the unprocessed wiktextract data.

If you use this data in academic research, please cite Tatu Ylonen: Wiktextract: Wiktionary as Machine-Readable Structured Data, Proceedings of the 13th Conference on Language Resources and Evaluation (LREC), pp. 1317-1325, Marseille, 20-25 June 2022. Linking to the relevant page(s) under https://kaikki.org would also be greatly appreciated.