Los lenguajes de programación se utilizan para controlar el comportamiento de una máquina (a menudo, una computadora ). Como los lenguajes naturales , los lenguajes de programación siguen las reglas de sintaxis y semántica .
Hay miles de lenguajes de programación [1] y cada año se crean nuevos. Pocos idiomas se vuelven lo suficientemente populares como para que sean utilizados por más de unas pocas personas, pero los programadores profesionales pueden usar docenas de idiomas en una carrera.
La mayoría de los lenguajes de programación no están estandarizados por un estándar internacional (o nacional), incluso los más utilizados, como Perl o Standard ML (a pesar del nombre). Los lenguajes de programación estandarizados notables incluyen ALGOL , C , C ++ , JavaScript (bajo el nombre ECMAScript ), Smalltalk , Prolog , Common Lisp , Scheme ( estándar IEEE ), ISLISP , Ada , Fortran , COBOL , SQL y XQuery .
Comparación general
La siguiente tabla compara información general y técnica para una selección de lenguajes de programación de uso común . Consulte los artículos de los idiomas individuales para obtener más información.
Idioma | Uso previsto | Imperativo | Orientado a objetos | Funcional | Procesal | Genérico | reflexivo | Evento conducido | Otro (s) paradigma (s) | Estandarizado ? |
---|---|---|---|---|---|---|---|---|---|---|
1C: lenguaje de programación empresarial | Aplicación , RAD , empresa, general , web , móvil | sí | sí | sí | sí | sí | sí | Basado en objetos , Programación basada en prototipos | No | |
ActionScript 3.0 | Aplicación, lado del cliente , web | sí | sí | sí | sí | 1996, ECMA | ||||
Ada | Aplicación, integrado , en tiempo real , sistema | sí | Sí [2] | Sí [3] | Sí [4] | concurrente , [5] distribuido , [6] | 1983, 2005, 2012, ANSI, ISO, GOST 27831-88 [7] | |||
Aldor | Altamente dominio específico , la computación simbólica | sí | sí | sí | No | |||||
ALGOL 58 | Solicitud | sí | No | |||||||
ALGOL 60 | Solicitud | sí | sí | sí | 1960, IFIP WG 2.1 , ISO [8] | |||||
ALGOL 68 | Solicitud | sí | sí | sí | sí | concurrente | 1968, IFIP WG 2.1 , GOST 27974-88 , [9] | |||
Ateji PX | Aplicación paralela | sí | cálculo pi | No | ||||||
APL | Aplicación, procesamiento de datos | sí | sí | sí | sí | sí | sí | sí | orientado a matrices , tácito | 1989, ISO |
Lenguaje ensamblador | General | sí | cualquiera, la sintaxis suele ser muy específica, relacionada con el procesador de destino | IEEE 694-1985 [10] | ||||||
AutoHotkey | Automatización de GUI ( macros ), altamente específica de dominio | sí | Sí [11] | sí | sí | No | ||||
AutoIt | Automatización de GUI (macros), altamente específica de dominio | sí | sí | sí | No | |||||
Bailarina | Integración, ágil, del lado del servidor , general | sí | sí | sí | sí | sí | programación concurrente, transaccional, estática y fuertemente tipada, programación esquemática / visual | 2018 Estándar de facto a través de la especificación de idioma de bailarina [12] | ||
Intento | Shell , secuencias de comandos | sí | sí | No, pero opcionalmente POSIX.2 [13] | ||||||
BÁSICO | Aplicación, educación | sí | sí | 1983, ANSI, ISO, ECMA | ||||||
BeanShell | Aplicación, scripting | sí | sí | sí | sí | En curso, JCP [14] | ||||
FELICIDAD | Sistema | sí | No | |||||||
BlitzMax | Aplicación, juego | sí | sí | sí | sí | No | ||||
Abucheo | Aplicación, scripting de juegos | sí | No | |||||||
hermano | aplicación específica del dominio | sí | sí | No | ||||||
C | Aplicación, sistema, [15] uso general, operaciones de bajo nivel | sí | sí | 1989, ANSI C89, ISO C90, ISO C99, ISO C11, ISO C18 [16] | ||||||
C ++ | Sistema de aplicación | sí | sí | sí | sí | sí | 1998. ISO / IEC 2003, ISO / IEC 2011, ISO / IEC 2014, ISO / IEC 2017 [17] | |||
C# | Aplicación, RAD, empresarial, del lado del cliente, general, del lado del servidor, web | sí | sí | Sí [18] | sí | sí | sí | sí | estructurado, concurrente | 2000, ECMA, ISO [19] |
Clarín | General, negocios, web | sí | sí | Sí [20] | Desconocido | |||||
Limpio | General | sí | sí | No | ||||||
Clojure | General | sí | concurrente | No | ||||||
CLU | General | sí | sí | sí | sí | No | ||||
COBOL | Aplicación, negocio | sí | sí | sí | ANSI X3.23 1968, 1974, 1985; ISO / IEC 1989: 1985, 2002, 2014 | |||||
Cobra | Aplicación, negocios, general, web | sí | sí | sí | sí | sí | No | |||
ColdFusion (CFML) | Web | sí | sí | No | ||||||
Lisp común | General | sí | sí | sí | sí | sí | sí | sí | sintaxis extensible, orientada Array , macros sintácticas , envío múltiple , concurrente | 1994, ANSI |
COMAL 80 | Educación | sí | sí | No | ||||||
Cristal | Propósito general | sí | Sí [21] | sí | sí | etapa alfa [22] | No | |||
Curry | Solicitud | sí | sí | evaluación perezosa , no determinismo | Estándar de facto a través de Curry Language Report | |||||
Cython | Aplicación, computación general, numérica | sí | sí | sí | sí | orientado al aspecto | No | |||
D | Sistema de aplicación | sí | sí | sí | sí | sí | sí | generativo, concurrente | No | |
Dardo | Aplicación, web, servidor, móvil, IoT | sí | sí | sí | sí | sí | sí | estructurado | Estándar ecma-408 | |
Dylan | Solicitud | sí | sí | No | ||||||
Eiffel | General, aplicación, empresarial, del lado del cliente, del lado del servidor, web (EWF) | sí | sí | Sí [23] [24] | sí | Sí Erl-G | Si Agentes | SCOOP distribuido , a prueba de vacío | 2005, ECMA, ISO [25] | |
Elixir | Aplicación, distribuida | sí | sí | sí | concurrente, distribuido | No | ||||
Erlang | Aplicación, distribuida | sí | sí | sí | concurrente, distribuido | No | ||||
Euforia | Solicitud | sí | sí | No | ||||||
Factor | General | sí | se puede ver como | sí | sí | orientado a la pila | No | |||
FP | sí | No | ||||||||
F# | Solicitud | sí | sí | sí | sí | sí | sí | sí | No | |
Adelante | General | sí | se puede ver como | orientado a la pila | 1994, ANSI | |||||
Fortran | Aplicación, computación numérica | sí | sí | sí | sí | sí | paralelismo basado en matrices, vectorizado, concurrente, nativo distribuido / memoria compartida | 1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003, ISO / IEC 1539-1: 2010 (2008), ISO / IEC JTC1 / SC22 / WG5 N2145 (2018) | ||
FreeBASIC | Aplicación, computación numérica | sí | sí | sí | sí | No | ||||
Gambas | Solicitud | sí | sí | sí | No | |||||
Idioma de Game Maker | Aplicación, juegos | sí | sí | sí | No | |||||
GLBasic | Aplicación, juegos | sí | sí | sí | simple orientado a objetos | No | ||||
Ir | Aplicación, web, servidor | sí | [26] | sí | sí | sí | concurrente | Estándar de facto a través de la especificación de idioma Go | ||
Gosu | Aplicación, general, scripting, web | sí | sí | sí | sí | No | ||||
GraphTalk | Solicitud | sí | lógica | No | ||||||
Groovy | Aplicación, general, scripting, web | sí | sí | sí | sí | sí | sí | sí | metaprogramación | En curso, JCP [27] |
Puerto | Aplicación, negocio, procesamiento de datos, general, web | sí | sí | sí | sí | sí | sí | declarativo | No | |
Haskell | Solicitud | sí | sí | evaluación perezosa | 2010, Haskell 2010 [28] | |||||
Haxe | Aplicación, general, web | sí | sí | sí | sí | sí | No | |||
HyperNext | Aplicación, educación | sí | sí | débilmente tipado | No | |||||
HyperTalk | Aplicación, RAD, general | sí | sí | débilmente tipado | Desconocido | |||||
Io | Aplicación, secuencias de comandos impulsadas por el host | sí | sí | No | ||||||
IPL | General | sí | Desconocido | |||||||
ISLISP | General | sí | sí | sí | sí | 1997, 2007, ISO | ||||
J | Procesamiento de datos | orientado a matrices, a nivel de función , tácito | No | |||||||
JADE | Aplicación, distribuida | sí | sí | No | ||||||
Java | Aplicación, negocio, lado del cliente, general, desarrollo móvil, lado del servidor, web | sí | sí | sí | sí | sí | sí | sí | concurrente | Estándar de facto a través de la especificación del lenguaje Java |
JavaScript | Del lado del cliente, del lado del servidor, web | sí | sí | sí | sí | sí | sí | basado en prototipos | 1997, ECMA | |
Alegría | Investigar | sí | orientado a la pila | No | ||||||
Julia | Computación técnica general | sí | sí | sí | sí | sí | sí | envío múltiple , meta, escalar y orientado a matrices , paralelo, concurrente, distribuido ("nube") | No | |
K | Procesamiento de datos, negocios | orientado a matrices, tácito | Desconocido | |||||||
Kotlin | Aplicación, desarrollo móvil, del lado del servidor, del lado del cliente, web | sí | sí | sí | sí | sí | Sí [29] | sí | No | |
Ksh | Shell, secuencias de comandos | sí | sí | sí | Varias variantes, módulos cargables dinámicos programables personalizados | 1992, POSIX.2 [30] | ||||
LabVIEW (G) | Aplicación, instrumentación industrial-automatización | sí | sí | sí | sí | flujo de datos , visual | No | |||
Ceceo | General | sí | Desconocido | |||||||
LiveCode | Aplicación, RAD, general | sí | sí | débilmente tipado | No | |||||
Logtalk | Inteligencia artificial, aplicación | sí | sí | sí | lógica | No | ||||
Lenguaje de secuencias de comandos de Linden (LSL) | Scripting y animación de contenido de mundos virtuales | sí | sí | sí | Los scripts existen en objetos del mundo | Quizás [31] | ||||
Lua | Aplicación, secuencias de comandos integradas | sí | Sí [32] | sí | sí | sí | orientado a aspectos, basado en prototipos | No [33] | ||
Arce | Computación simbólica, computación numérica | sí | sí | sí | sí | repartido | No | |||
Mathematica | Lenguaje simbólico | sí | sí | sí | sí | sí | sí | sí | lógica, distribuida | No |
MATLAB | Computación numérica altamente específica de dominio | sí | sí | sí | No | |||||
Modula-2 | Sistema de aplicación | sí | sí | 1996, ISO [34] | ||||||
Modula-3 | Solicitud | sí | sí | sí | No | |||||
PAPERAS (M) | general , aplicación , bases de datos | Sí (Highly Imperative solo tiene comandos) | Aprobado para el próximo estándar | Expresiones solamente Sin expresiones Lambda | sí | Parcialmente a través de la indirección y Xecute | sí | Aprobado para el próximo estándar | concurrente , multiusuario , NoSQL , procesamiento de transacciones | primer ANSI fue 1977, más reciente ANSI 1995, más reciente ISO 2020, ANSI, ISO |
Nim | Aplicación, general, web, scripting, sistema | sí | sí | sí | sí | sí | sí | envío múltiple , concurrente, meta | No | |
Oberon | Sistema de aplicación | sí | sí | No | ||||||
Objeto Pascal | Aplicación, general, aplicación móvil, web | sí | sí | sí | sí | sí | sí | estructurado | No | |
C objetivo | Aplicación, general | sí | sí | sí | sí | concurrente | No | |||
OCaml | Aplicación, general | sí | sí | sí | sí | sí | No | |||
Occam | General | sí | sí | concurrente, orientado a procesos | No | |||||
Opa | aplicaciones web | sí | sí | sí | repartido | No | ||||
OpenLisp | Motor Lisp general integrado | sí | sí | sí | sí | Reemplaza ISLISP , ISO | ||||
oxígeno | Solicitud | sí | sí | sí | No | |||||
Oz-Mozart | Aplicación, distribución, educación | sí | sí | sí | concurrente, lógica | No | ||||
Pascal | Aplicación, educación | sí | sí | 1983, ISO [35] | ||||||
Perl | Aplicación, scripting, procesamiento de texto, Web | sí | sí | sí | sí | sí | sí | No | ||
PHP | Lado del servidor, aplicación web, web | sí | Sí [36] | Sí [37] | sí | sí | Estándar "de facto" a través de la especificación del idioma y las solicitudes de comentarios (RFC) | |||
PL / I | Solicitud | sí | sí | sí | 1969, ECMA-50 (1976) | |||||
Más | Aplicación, desarrollo de sistemas | sí | sí | No | ||||||
Posdata | Gráficos, descripción de la página | sí | sí | concatenativa , orientada a la pila | Sí, como el Manual de referencia de PostScript [38] | |||||
Potencia Shell | Administración, aplicación, general, scripting | sí | sí | sí | sí | sí | tubería | No | ||
Prólogo | Aplicación, inteligencia artificial | sí | sí | sí | lógica, declarativa | 1995, ISO / IEC 13211-1: 1995, TC1 2007, TC2 2012, TC3 2017 | ||||
PureBasic | Solicitud | sí | No | |||||||
Pitón | Aplicación, general, web, scripting, inteligencia artificial, informática científica | sí | sí | sí | sí | sí | sí | sí | orientado al aspecto | Estándar "de facto" a través de propuestas de mejora de Python (PEP) |
R | Aplicación, estadísticas | sí | sí | sí | sí | sí | No | |||
Raqueta | Educación, general, scripting | sí | sí | sí | sí | modular, lógica, meta | No | |||
Raku | Scripting, procesamiento de texto, pegamento | sí | sí | sí | sí | sí | sí | orientado a aspectos, matriz, evaluación perezosa, envío múltiple, metaprogramación | sí | |
REALbasic | Solicitud | sí | Desconocido | |||||||
Rebol | Repartido | sí | sí | sí | sí | sí | sí | dialecto | No | |
REXX | Scripting | sí | Sí ( dialectos NetRexx y Object REXX ) | No | sí | No | No | 1996 (ANSI X3.274-1996) | ||
Juego de rol | Sistema de aplicación | sí | sí | No | ||||||
Rubí | Aplicación, scripting, web | sí | sí | sí | sí | orientado al aspecto | 2011 (JIS X 3017), 2012 (ISO / IEC 30170) | |||
Oxido | Aplicación, servidor, sistema, web | sí | Sí [39] | sí | sí | sí | No [40] | sí | concurrente | No |
S | Aplicación, estadísticas | sí | sí | sí | sí | No | ||||
Jerga | Aplicación, numérica, scripting | sí | sí | No | ||||||
Scala | Aplicación, distribuida, web | sí | sí | sí | sí | sí | sí | Estándar de facto a través de Scala Language Specification (SLS) | ||
Esquema | Educación, general | sí | sintaxis extensible | 1998, R 6 RS | ||||||
Semilla7 | Aplicación, general, scripting, web | sí | sí | sí | sí | multiparadigma, extensible, estructurado | No | |||
Simula | Educación, general | sí | sí | sí | simulación de eventos discretos , ejecución de programas multiproceso (cuasi-paralelo) | 1968 | ||||
Pequeño Básico | Aplicación, educación, juegos | sí | sí | orientado a componentes | No | |||||
Charla | Aplicación, general, negocios, inteligencia artificial, educación, web | sí | sí | sí | sí | sí | sí | concurrente, declarativo | 1998, ANSI | |
SNOBOL | Procesamiento de texto | Desconocido | ||||||||
ML estándar | Solicitud | sí | sí | sí | 1997, SML '97 [41] | |||||
Rápido | Aplicación, general | sí | sí | sí | sí | sí | sí | sí | concurrente, declarativo, orientado a protocolos | No |
Tcl | Aplicación, scripting, web | sí | sí | sí | sí | sí | sí | No | ||
Visual Basic | Aplicación, RAD, educación, negocios, general, (incluye VBA), automatización de oficinas | sí | sí | sí | sí | orientado a componentes | No | |||
Visual Basic .NET | Aplicación, RAD, educación, web, negocios, general | sí | sí | sí | sí | sí | sí | sí | estructurado, concurrente | No |
Visual FoxPro | Solicitud | sí | centrada en datos, lógica | No | ||||||
Prólogo visual | Solicitud | sí | sí | sí | sí | declarativa, lógica | No | |||
Wolfram Language | Lenguaje simbólico | sí | sí | sí | sí | sí | sí | sí | lógica, distribuida | No |
SG | sí | sí | programación de conceptos | No | ||||||
Xojo | Aplicación, RAD, general, web | sí | sí | sí | sí | sí | No | |||
XPath / XQuery | Bases de datos, procesamiento de datos, scripting | sí | orientado al árbol | W3C 1999 XPath 1, 2010 XQuery 1, 2014 XPath / XQuery 3.0 | ||||||
Zsh | Shell , secuencias de comandos | sí | sí | módulos cargables | No |
Sistemas de tipos
E / S a prueba de fallos y llamadas al sistema
La mayoría de los lenguajes de programación imprimirán un mensaje de error o lanzarán una excepción si falla una operación de entrada / salida u otra llamada al sistema (por ejemplo, chmod , kill ), a menos que el programador haya dispuesto explícitamente un manejo diferente de estos eventos. Por tanto, estos lenguajes fallan con seguridad en este sentido.
Algunos lenguajes (en su mayoría más antiguos) requieren que el programador agregue explícitamente comprobaciones para este tipo de errores. Psicológicamente, diferentes sesgos cognitivos (por ejemplo, sesgo de optimismo ) pueden afectar tanto a los principiantes como a los expertos y estas omisiones pueden conducir a un comportamiento erróneo .
Idioma | E / S a prueba de fallos |
---|---|
1C: Empresa | sí |
Ada | Si (excepciones) |
ALGOL | Sí (excepciones o valor de retorno según la función) |
AutoHotkey | No (el nivel de error global debe comprobarse explícitamente) |
Intento | Opcional [FSIO 1] |
Bailarina | sí |
hermano | sí |
C | No [FSIO 2] |
C ++ | Algunos ( iostreams de STL arrojan fallas, pero las API de C como stdio o POSIX no lo hacen) [FSIO 2] |
C# | sí |
COBOL | No |
Lisp común | Sí (sistema de "condiciones y reinicios") |
Curry | sí |
D | Sí (arrojando al fracaso) [FSIO 3] |
Eiffel | No, en realidad depende de la biblioteca y no está definido por el idioma. |
Erlang | sí |
Fortran | sí |
GLBasic | No: generalmente provocará que el programa se bloquee |
Ir | Sí (a menos que el resultado se ignore explícitamente) |
Gosu | sí |
Puerto | sí |
Haskell | sí |
ISLISP | sí |
Java | sí |
Julia | sí |
Kotlin | sí |
LabVIEW | sí |
Lua | No (algunas funciones no advierten ni arrojan excepciones) |
Mathematica | sí |
Objeto Pascal | Algunos |
C objetivo | Si (excepciones) |
OCaml | Si (excepciones) |
OpenLisp | sí |
Perl | No [FSIO 4] |
PHP | sí |
Pitón | sí |
Raku | sí |
Rebol | sí |
Rexx | Sí (con señal opcional en ... manejo de trampas) |
Juego de rol | No |
Rubí | sí |
Oxido | Sí (a menos que el resultado se ignore explícitamente) |
S | Desconocido |
Charla | sí |
Scala | Sí [FSIO 5] |
ML estándar | Sí [ cita requerida ] |
Rápido ≥ 2.0 | Si (excepciones) |
Tcl | sí |
Visual Basic | sí |
Visual Basic .NET | sí |
Prólogo visual | sí |
Wolfram Language | sí |
Xojo | sí |
XPath / XQuery | Si (excepciones) |
Idioma | E / S a prueba de fallos |
- ^
set -e
habilita la terminación si cualquier estado de salida sin marcar es distinto de cero. - ^ a b gcc puede advertir sobre errno sin marcar . Las versiones más nuevas de Visual Studio generalmente arrojan excepciones en E / S fallidas cuando se usa stdio .
- ^ https://dlang.org/phobos/std_stdio.html
- ^ Opcionalmente se puede habilitar una considerable comprobación de errores, pero de forma predeterminada, Perl no es a prueba de fallos.
- ^ Scala se ejecuta en la máquina virtual Java de la que hereda el manejo de excepciones en tiempo de ejecución.
Expresividad
Idioma | Proporción de declaraciones [42] | Relación de líneas [43] |
---|---|---|
C | 1 | 1 |
C ++ | 2.5 | 1 |
Fortran | 2 | 0,8 |
Java | 2.5 | 1,5 |
Perl | 6 | 6 |
Charla | 6 | 6.25 |
Pitón | 6 | 6.5 |
La literatura sobre lenguajes de programación contiene una gran cantidad de afirmaciones informales sobre su poder expresivo relativo , pero no existe un marco para formalizar tales afirmaciones ni para derivar consecuencias interesantes. [44] Esta tabla proporciona dos medidas de expresividad de dos fuentes diferentes. Se puede encontrar una medida adicional de expresividad, en bytes GZip, en el juego Computer Language Benchmarks. [45]
Benchmarks
Los puntos de referencia están diseñados para imitar un tipo particular de carga de trabajo en un componente o sistema. Es posible que los programas informáticos utilizados para compilar algunos de los datos de referencia en esta sección no se hayan optimizado por completo y se cuestiona la relevancia de los datos. Los puntos de referencia más precisos son aquellos que se adaptan a su situación particular. Los datos de referencia de otras personas pueden tener algún valor para otros, pero una interpretación adecuada conlleva muchos desafíos . El sitio de Computer Language Benchmarks Game advierte contra la generalización excesiva a partir de datos de benchmark, pero contiene una gran cantidad de micro-benchmarks de fragmentos de código aportados por el lector, con una interfaz que genera varios gráficos y tablas que comparan lenguajes de programación específicos y tipos de pruebas. [46]
Cronología de comparaciones de idiomas específicos
- 1974 - Notas comparativas sobre Algol 68 y PL / I [47] - SH Valentine - noviembre de 1974
- 1976 - Evaluación de ALGOL 68 , JOVIAL J3B, Pascal , Simula 67 y TACPOL versus TINMAN - Requisitos para un lenguaje de programación de orden superior común.
- 1977 - Comparación de PASCAL y ALGOL 68 [48] - Andrew S. Tanenbaum - junio de 1977.
- 1993 - Cinco pequeños lenguajes y cómo crecieron - BLISS , Pascal , ALGOL 68 , BCPL & C - Dennis M. Ritchie - Abril de 1993.
- 2009 - On Go - oh, vamos - ¿Qué tan bien resistirá Go de Google contra el lenguaje de programación Brand X? - David Given - noviembre de 2009
Ver también
Para mostrar todas las páginas, subcategorías e imágenes, haga clic en "►": |
---|
▼ Listas de lenguajes de programación (19 P) Lista de lenguajes de programación Lista de lenguajes de programación por tipo Listas de lenguajes de programación Lista de lenguajes de programación para inteligencia artificial Lista de lenguajes de programación de audio Lista de dialectos BÁSICOS Lista de lenguajes de programación de la familia C Lista de idiomas CLI Lista de lenguajes de programación simultáneos y paralelos Lista de lenguajes de programación educativos Lista generacional de lenguajes de programación Lista de lenguajes JVM Lista de lenguajes de programación de la familia Lisp Lenguajes de programación no basados en inglés Lista de lenguajes de programación orientados a objetos Comparación de licencias de lenguajes de programación de código abierto Lista de plataformas y lenguajes de programación reflexivos Cronología de los lenguajes de programación Lenguajes de programación Unisys MCP |
- Comparación de instrucciones básicas de lenguajes de programación
- Comparación de lenguajes de programación (sintaxis)
- Comparación de paradigmas de programación
- Comparación de entornos de desarrollo integrados
- Comparación de lenguajes de programación multi-paradigma
- Medir la popularidad del lenguaje de programación
- Índice TIOBE
Referencias
- ^ En mayo de 2006, la enciclopedia de lenguajes informáticos de Diarmuid Pigott archivada el 20 de febrero de 2011en la Wayback Machine alojada en la Universidad de Murdoch , Australia ,enumera 8512 lenguajes informáticos.
- ^ Manual de referencia de Ada, ISO / IEC 8652: 2005 (E) Ed. 3 , 3.9 Tipos etiquetados y extensiones de tipo
- ^ Manual de referencia de Ada, ISO / IEC 8652: 2005 (E) Ed. 3 , Sección 6: Subprogramas
- ^ Manual de referencia de Ada, ISO / IEC 8652: 2005 (E) Ed. 3 , Sección 12: Unidades genéricas
- ^ Manual de referencia de Ada, ISO / IEC 8652: 2005 (E) Ed. 3 , Sección 9: Tareas y sincronización
- ^ Manual de referencia de Ada, ISO / IEC 8652: 2005 (E) Ed. 3 Anexo E: Sistemas distribuidos
- ^ "Vak.ru" (PDF) . Archivado desde el original (PDF) el 30 de marzo de 2017 . Consultado el 9 de agosto de 2008 .
- ^ ISO 1538: 1984
- ^ "Vak.ru" (PDF) . Archivado desde el original (PDF) el 24 de marzo de 2017 . Consultado el 9 de agosto de 2008 .
- ^ IEEE 694-1985
- ^ Objetos - Definición y uso
- ^ "Especificación del idioma de la bailarina" (PDF) . WSO2. 2018-05-01 . Consultado el 3 de mayo de 2018 .
- ^ POSIX.2 , Shell y utilidades, intérprete de comandos (IEEE Std 1003.2-1992.)
- ^ JSR 274
- ^ bell-labs.com
- ^ ANSI C89, ISO / IEC 9899: 1990, 1999, 2011, 2018
- ^ ISO / IEC 14882: 1998, 2003, 2011, 2014, 2017
- ^ Codeproject.com: Programación funcional en C # 3.0 usando Lambda Expression
- ^ ECMA-334; ISO / IEC 23270: 2006
- ^ Softvelocity.com
- ^ https://github.com/crystal-lang/crystal#why
- ^ https://github.com/crystal-lang/crystal#status
- ^ Mecanismos básicos del lenguaje Eiffel
- ^ Cierre (programación de computadoras)
- ^ ECMA-367; ISO / IEC 25436: 2006
- ^ El lenguaje de programación Go (FAQ)
- ^ JSR 241
- ^ "El informe de idiomas de Haskell 2010" . Consultado el 7 de diciembre de 2011 . La mayoría de las implementaciones de Haskell amplían el estándar Haskell 2010.
- ^ "¡M8 está fuera!" .
Como primer vistazo a las futuras capacidades de reflexión de Kotlin, ahora puede acceder a las propiedades como objetos de primera clase en Kotlin.
- ^ POSIX.2 , Shell y utilidades, intérprete de comandos (IEEE Std 1003.2-1992.)
- ^ La referencia "de facto" es laimplementación de LSL en Second Life . Halcyon (Inworldz) y Open Sims proponen implementaciones compatibles con funciones adicionales
- ^ Lua no tiene un tipo de "objeto" explícito (se usa un tipo más general de "tabla" para la definición del objeto), pero tiene una sintaxis explícita para la llamada al método del objeto
- ^ Los lanzamientos de versiones van acompañados de un Manual de referencia de Lua definitivo que muestra la sintaxis y la semántica completas; una implementación de referencia y un conjunto de pruebas. Estos se utilizan para generar otrasimplementaciones y compiladores deLua VM como Kahlua y LLVM-Lua.
- ^ ISO / IEC 10514-1: 1996
- ^ ISO 7185
- ^ Manual de PHP , Capítulo 19. Clases y objetos (PHP 5) ,
- ^ Manual de PHP , Capítulo 17. Funciones
- ^ "Manual de referencia del lenguaje PostScript" (PDF) . Archivado desde el original (PDF) el 18 de febrero de 2017 . Consultado el 18 de febrero de 2017 .
- ^ ¿Es Rust un lenguaje de programación orientado a objetos?
- ^ Klabnik, Steve; Nichols, Carol. "Macros" . El lenguaje de programación Rust .
- ^ SMLNJ.org
- ^ Datos de Código completo . pag. 100.La columna de proporción de declaraciones "muestra proporciones típicas de declaraciones de origen en varios lenguajes de alto nivel con respecto al código equivalente en C.Una proporción más alta significa que cada línea de código en el idioma enumerado logra más que cada línea de código en C.
- ^ La proporción de pruebas de recuento de líneas ganadas por cada idioma con respecto al número ganado por C al usar la función Comparar con en Jon McLoone (14 de noviembre de 2012). "Longitud de código medida en 14 idiomas" . Archivado desde el original el 19 de noviembre de 2012. Se usó C gcc para C, C ++ g ++ se usó para C ++, FORTRAN G95 se usó para FORTRAN, Java JDK Server se usó para Java y Smalltalk GST se usó para Smalltalk.
- ^ Felleisen, Matthias. Sobre el poder expresivo de los lenguajes de programación . ESOP '90 3er Simposio Europeo de Programación. CiteSeerX 10.1.1.51.4656 .
- ^ "Cómo se miden los programas | Juego de Benchmarks de Lenguaje de Computadora" . benchmarksgame-team.pages.debian.net/benchmarksgame . Consultado el 29 de mayo de 2018 .
- ^ "El último punto de referencia | El juego de puntos de referencia del lenguaje informático" . benchmarksgame-team.pages.debian.net/benchmarksgame . Consultado el 29 de mayo de 2018 .
- ^ Valentine, SH (noviembre de 1974). "Notas comparativas sobre Algol 68 y PL / I" . The Computer Journal . 17 (4): 325–331. doi : 10.1093 / comjnl / 17.4.325 .
- ^ http://dare.ubvu.vu.nl/bitstream/1871/2609/1/11054.pdf
Otras lecturas
- Cezzar, Ruknet (1995). Una guía de lenguajes de programación: descripción general y comparación . ISBN 978-0-89006-812-0.