ArticleslgStudy

science

Interface description language

Interface description language is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Interface description language rather than just read about it. In short: An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language-independent way, for example, between those written in C++ and those written in Java.

Interface description language — main illustration
Interface description language — illustration

Key takeaways

  • Interface description language belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Interface description language to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Interface description language from memory before moving on to harder problems.

Reference excerpt

An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language-independent way, for example, between those written in C++ and those written in Java. IDLs are commonly used in remote procedure call software. In these cases the machines at either end of the link may be using different operating systems and computer languages. IDLs offer a bridge between the two different systems. Software systems based on IDLs include Sun Microsystems' Sun RPC, The Open Group's Distributed Computing Environment, the IBM System Object Model, the Object Management Group's Common Object Request Broker Architecture (CORBA) (which implements OMG IDL, an IDL based on DCE/RPC) and Data Distribution Service, Mozilla's XPCOM, Microsoft RPC (which evolved into Component Object Model (COM) and Distributed Component Object Model (DCOM)), Facebook's Apache Thrift and Web Services Description Language (WSDL) for Web services.

Examples AIDL: Java-based, for Android; supports local and remote procedure calls, can be accessed from native applications by calling through Java Native Interface (JNI) Apache Thrift: from Apache, originally developed by Facebook Avro IDL: for the Apache Avro system ASN.1 Cap'n Proto: created by its former maintainer, avoids some of the perceived shortcomings of Protocol Buffers. Concise Data Definition Language (CDDL, RFC 8610): A Notation for CBOR and JSON data structures CortoScript: Describe data and/or interfaces for systems that require Semantic interoperability Etch: Cisco's Etch Cross-platform Service Description Language Extensible Data Notation (EDN): Clojure data format, similar to JSON FlatBuffers: Serialization format from Google supporting zero-copy deserialization Franca IDL: the open-source Franca interface definition language FIDL: Interface description language for the Fuchsia Operating System designed for writing app components in C, C++, Dart, Go and Rust. IDL specification language: the original Interface Description Language IPL: Imandra Protocol Language JSON Web-Service Protocol (JSON-WSP) Lightweight Imaging Device Interface Language Microsoft Interface Definition Language (MIDL): the Microsoft extension of OMG IDL to add support for Component Object Model (COM) and Distributed Component Object Model (DCOM) OMG IDL: standardized by Object Management Group, used in CORBA (for DCE/RPC services) and DDS (for data modeling), also selected by the W3C for exposing the DOM of XML, HTML, and CSS documents OpenAPI Specification: a standard for Web APIs, used by Swagger and other technologies. Open Service Interface Definitions Protocol Buffers: Google's IDL RESTful Service Description Language (RSDL) Smithy: An AWS-invented protocol-agnostic interface definition language. Specification Language for Internet Communications Engine (Ice: Slice) Universal Network Objects: OpenOffice.org's component model Web Application Description Language (WADL) Web IDL by WHATWG: can be used to describe interfaces that are intended to be implemented in web browsers Web Services Description Language (WSDL) XCB: X protocol description language for X Window System Cross Platform Interface Description Language (XPIDL): Mozilla's way to specify XPCOM interfaces

See also Component-based software engineering Interface-based programming Java Interface Definition Language List of computing and IT abbreviations Universal Interface Language User interface markup language

References

External links Documenting Software Architecture: Documenting Interfaces (PDF) OMG Specification of OMG IDL OMG Tutorial on OMG IDL

Illustrations

Interface description language: Representation of different software components for performing a hypothetical holiday reservation in UML
Representation of different software components for performing a hypothetical holiday reservation in UML

Worked examples

Example 1 — a first encounter with Interface description language

Start with the simplest possible case. Write down what Interface description language claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Interface description language before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Interface description language ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Interface description language

In research
Interface description language appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Interface description language in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Interface description language is common in secondary-school and first-year university syllabi. It links to neighbouring topics Data modeling languages, Domain-specific programming languages, Remote procedure call, so understanding it makes those chapters shorter.
In everyday life
Look for Interface description language outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Interface description language in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Interface description language means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Interface description language out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Interface description language in simple terms?

An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language…

Why does Interface description language matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Interface description language?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Interface description language.

Tags

  • Data modeling languages
  • Domain-specific programming languages
  • Remote procedure call
  • Specification languages

Keep exploring