Una interfaz de funciones foráneas (Foreign function interface, en inglés) es un mecanismo por el cual un programa escrito en un lenguaje de programación puede realizar llamadas a funciones o usar los servicios escritos en otro.[1]​ El término procede de la especificación de Common Lisp, aunque también se usa oficialmente en Haskell. Otros lenguajes usan otra terminología, así, el lenguaje Ada habla de "language bindings", mientras que en Java se denomina Java Native Interface, o JNI. No obstante, se suele hablar de forma genérica de Foreign function interface para referirse a estos mecanismos.

Por supuesto, a pesar de su nombre, las FFIs no se limitan a llamadas de función; muchos FFI permiten llamadas a métodos de objetos; e incluso algunos permiten el trasiego de tipos de datos no triviales y/u objetos entre distintos lenguajes.

El término foreign function interface no se suele usar para describir entornos de ejecución multilenguajes como Microsoft Common Language Runtime, donde existe un "sustrato" común que permite a cualquier lenguaje usar los servicios definidos por otro, siempre que cumplan el Common Language Specification. Además, existen muchas otras arquitecturas como Java RMI, RPC, CORBA y SOAP, que permiten usar servicios escritos en otros lenguajes; a tales arquitecturas no se les suele considerar FFIs.

Referencias

editar
  1. Heckey, Jason; Madhavapeddy, Anil; Minsky, Yaron (2013). «13». Chapter 19. Foreign Function Interface / Real World OCaml (en inglés). Archivado desde el original el 18 de julio de 2015. Consultado el 2 de enero de 2018. 

📚 Artikel Terkait di Wikipedia

Sequential Function Chart

Sequential function chart (más conocido con las siglas SFC) es un lenguaje de programación gráfico empleado en controladores lógicos programables (PLCs)

Pantalla multifunción

Una pantalla multifunción, conocida por sus siglas en inglés MFD (multi-function display),​ es una pequeña pantalla (CRT o LCD) en una cabina de una aeronave

Diagrama de bloques de funciones

El diagrama de bloques de funciones, o Function Block Diagram (FBD) es un lenguaje gráfico para controladores de lógica programable,​ que describe la función

Botanische Jahrbücher für Systematik, Pflanzengeschichte und Pflanzengeographie

Plant diversity and evolution: Phylogeny, biogeography, structure and function. ISSN 1869-6155. en biodiversitylibrary Wikimedia Commons alberga una categoría

Función de Mertens

Eric W. «Mertens' function». En Weisstein, Eric W, ed. MathWorld (en inglés). Wolfram Research.  Datos: Q841254 Multimedia: Mertens function / Q841254

The Great Swirling Apparatus of Our Planet's Function

«The Great Swirling Apparatus of Our Planet's Function» («El gran mecanismo giratorio del funcionamiento de nuestro planeta⁩» en Hispanoamérica y «El gran

Policy and charging rules function

La función de políticas y cobros (del inglésPolicy and Charging Rules Function) (PCRF) es el nodo de software designado en tiempo-real para determinar

Función de Möbius

W. «Möbius function». En Weisstein, Eric W, ed. MathWorld (en inglés). Wolfram Research.  Hazewinkel, Michiel, ed. (2001), «Möbius_function&oldid=37026»