De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Esta es una lista de lenguajes de programación notables , agrupados por tipo.

No existe un esquema de clasificación general para los lenguajes de programación. Por lo tanto, en muchos casos, un idioma se incluye en varios encabezados.

Matriz de idiomas [ editar ]

Los lenguajes de programación de matrices (también denominados vectoriales o multidimensionales ) generalizan las operaciones en escalares para aplicarlas de forma transparente a vectores , matrices y matrices de dimensiones superiores .

  • A +
  • Analytica
  • APL
  • BÁSICO
  • Capilla
  • Fortran 90
  • FreeMat
  • GAUSS
  • Lenguaje de datos interactivo (IDL)
  • J
  • Julia
  • K
  • MATLAB
  • Octava
  • Q
  • R
  • S
  • Scilab
  • Jerga
  • SecuenciaL
  • Speakeasy
  • Wolfram Language
  • X10
  • ZPL

Lenguajes ensambladores [ editar ]

Los lenguajes ensambladores corresponden directamente a un lenguaje de máquina (ver más abajo ), aunque puede que no haya un mapeo 1-1 entre una declaración individual y una instrucción individual, por lo que las instrucciones de código de máquina aparecen en una forma comprensible para los humanos. Los lenguajes ensambladores permiten a los programadores usar direcciones simbólicas, que el ensamblador convierte en direcciones absolutas o reubicables . La mayoría de los ensambladores también admiten macros y constantes simbólicas .

Idiomas de autor [ editar ]

Un lenguaje de autoría es un lenguaje de programación que se utiliza para crear tutoriales, sitios web y otros programas informáticos interactivos.

  • Arquitectura de tipificación de información de Darwin (DITA)
  • Lazo
  • PILOTO
  • TUTOR
  • Authorware

Lenguajes de programación de restricciones [ editar ]

Un lenguaje de programación de restricciones es un lenguaje de programación declarativo donde las relaciones entre las variables se expresan como restricciones . La ejecución procede intentando encontrar valores para las variables que satisfacen todas las restricciones declaradas.

  • Eclipse

Idiomas de la interfaz de línea de comandos [ editar ]

Los lenguajes de la interfaz de línea de comandos (CLI) también se denominan lenguajes por lotes o lenguajes de control de trabajos. Ejemplos:

  • 4DOS (shell de línea de comandos extendido para PC IBM )
  • 4OS2 (shell de línea de comandos extendido para PC IBM )
  • bash (el shell Bourne-Again de GNU , Free Software Foundation (FSF))
  • CLIST ( Lista de comandos de MVS )
  • CMS EXEC
  • csh y tcsh (shell similar a C de Bill Joy en UC Berkeley )
  • Lenguaje de comandos DIGITAL (DCL): lenguaje CLI estándar para VMS ( DEC , Compaq , HP )
  • Lenguaje por lotes DOS (CLI estándar / lenguaje por lotes para IBM PC con sistemas operativos DOS , popular antes de Windows )
  • EJEC. 2
  • Expect (una herramienta de prueba y automatización de Unix )
  • pescado (un caparazón de Unix )
  • Cáscara de Hamilton C (una cáscara de C para Windows)
  • ksh (un shell estándar de Unix , escrito por David Korn )
  • Rc (shell de línea de comandos para Plan 9 )
  • Rexx
  • sh (el shell estándar de Unix , escrito por Stephen R. Bourne )
  • TACL (lenguaje de comandos avanzado en tándem)
  • Lenguaje por lotes de Windows ( lenguaje de archivos por lotes de Windows como lo entienden COMMAND.COM y CMD.EXE )
  • Windows PowerShell ( CLI basada en .NET )
  • zsh (un shell de Unix )

Idiomas compilados [ editar ]

Estos son lenguajes típicamente procesados ​​por compiladores , aunque teóricamente cualquier lenguaje puede ser compilado o interpretado [ cita requerida ] . Consulte también el lenguaje compilado .

  • ActionScript
  • Ada (lenguaje polivalente)
  • ALGOL (diseño de lenguaje muy influyente; el segundo compilador de lenguaje de alto nivel)
    • PEQUEÑA máquina ALGOL como lenguaje
  • Ballerina (compilado en un código de bytes específico de Ballerina Runtime (BVM))
  • BASIC (algunos dialectos, incluida la primera versión de Dartmouth BASIC)
  • BCPL
  • C (uno de los lenguajes de procedimiento más utilizados)
  • C ++ (lenguaje multiparadigma ampliamente utilizado derivado de C)
  • C # (compilado en CIL , genera una imagen nativa en tiempo de ejecución)
  • Ceilán (compilado en código de bytes JVM )
  • ENFRIAR
  • CLIPPER 5.3 (lenguaje de programación para software basado en DOS)
  • CLEO (lenguaje claro para expresar órdenes) en las computadoras Leo británicas
  • Clojure (compilado en código de bytes JVM )
  • COBOL
  • Cobra
  • Lisp común
  • Cristal
  • Rizo
  • D (de una reingeniería de C ++)
  • DASL se compila en Java, JavaScript, JSP, Flex, etc. como archivo .war
  • Delphi ( Borland 's Object Pascal sistema de desarrollo)
  • DIBOL (Lenguaje digital interactivo orientado a los negocios)
  • Dylan
  • CE
  • Eiffel (lenguaje orientado a objetos desarrollado por Bertrand Meyer )
    • Sather
    • Ubercode
  • Olmo
  • Emacs Lisp
  • Esmeralda
  • Erlang
  • F # (compilado en CIL , para generar una imagen en tiempo de ejecución)
  • Factor
  • Fortran (la primera de alto nivel, lenguaje compilado, de IBM 's John Backus )
  • GAUSS
  • Ir
  • Gosu (compilado en código de bytes JVM )
  • Groovy (compilado en código de bytes JVM )
  • Haskell
  • Puerto
  • Java (generalmente compilado en código de bytes JVM, aunque existen compiladores con anticipación (AOT) que se compilan en código de máquina )
  • JOVIAL
  • Julia (compilado sobre la marcha en código de máquina)
  • Kotlin (Kotlin / Native usa LLVM para producir binarios nativos)
  • LabVIEW
  • Mercurio
  • Colina baja
  • Nemerle (compilado en código de bytes de lenguaje intermedio)
  • Nim
  • C objetivo
  • PAG
  • Pascal (la mayoría de implementaciones)
  • PL / I (lenguaje de propósito general, originalmente para mainframes IBM)
  • Más
  • Python (se compila en un código de bytes de VM intermedio )
  • RPG (Generador de programas de informes)
  • Oxido
  • Scala (compilado en código de bytes JVM )
  • Esquema (algunas implementaciones, por ejemplo, Gambit)
  • SequenceL : puramente funcional, paralelizado automáticamente y sin carreras
  • Simula (primer lenguaje orientado a objetos, un superconjunto de ALGOL 60 )
  • Smalltalk se compila en una plataforma independiente de código de bytes para una máquina virtual
  • Rápido
  • ML
    • ML estándar (SML)
      • Alicia
    • OCaml
  • Turing
  • Vala (compilador para el sistema de tipos GObject)
  • Visual Basic (use Common Intermediate Language (CIL) que es JIT compilado en un tiempo de ejecución nativo)
  • Visual FoxPro
  • Prólogo visual
  • Xojo

Idiomas concurrentes [ editar ]

Los lenguajes de paso de mensajes proporcionan construcciones de lenguaje para la simultaneidad . El paradigma predominante para la concurrencia en lenguajes convencionales como Java es la concurrencia de memoria compartida . Los lenguajes concurrentes que hacen uso del paso de mensajes generalmente se han inspirado en cálculos de procesos como los procesos secuenciales de comunicación (CSP) o el cálculo π .

  • Ada - lenguaje multiusos
  • Alef : lenguaje concurrente con hilos y paso de mensajes, utilizado para la programación de sistemas en las primeras versiones de Plan 9 de Bell Labs.
  • Ateji PX una extensión del lenguaje Java para el paralelismo
  • Ballerina : un lenguaje diseñado para implementar y orquestar microservicios. Proporciona un modelo de simultaneidad primero paralelo basado en mensajes.
  • ChucK : lenguaje de programación específico de dominio para audio, control preciso sobre la concurrencia y la sincronización
  • Cilk - una C concurrente
  • Cω - C Omega, un lenguaje de investigación que extiende C #, usa comunicación asincrónica
  • Clojure : un dialecto de Lisp para la máquina virtual Java
  • Capilla
  • Coarreglo Fortran
  • Pascal concurrente (por Brinch-Hansen)
  • Curry
  • E : utiliza promesas, garantiza que no se produzcan interbloqueos
  • Eiffel (a través del mecanismo SCOOP , Computación simple concurrente orientada a objetos)
  • Elixir (se ejecuta en Erlang VM)
  • Esmeralda : utiliza hilos y monitores.
  • Erlang : utiliza el paso de mensajes asincrónicos sin compartir nada
  • Esquema de gambito : uso de la biblioteca de termitas
  • Ir
  • Haskell : admite programación simultánea, distribuida y paralela en varias máquinas
  • Java
    • Únase a Java - lenguaje concurrente basado en Java
    • X10
  • Julia
  • Joule : lenguaje de flujo de datos, se comunica mediante el paso de mensajes
  • Limbo - pariente de Alef , utilizado para la programación de sistemas en Inferno (sistema operativo)
  • MultiLisp : variante de esquema extendida para admitir el paralelismo
  • occam : fuertemente influenciado por la comunicación de procesos secuenciales (CSP)
    • occam-π - una variante moderna de occam , que incorpora ideas del cálculo π de Milner
  • Orco
  • Oz : lenguaje multiparadigma, admite la concurrencia de estado compartido y el paso de mensajes, y futuros, y multiplataforma del sistema de programación Mozart Oz
  • PAG
  • Pict - esencialmente una implementación ejecutable del cálculo π de Milner
  • Oxido
  • Scala : implementa actores de estilo Erlang en la JVM
  • SequenceL : puramente funcional, paralelizado automáticamente y sin carreras
  • SR - lenguaje de investigación
  • Paralelo unificado C
  • XProc : lenguaje de procesamiento XML que permite la concurrencia

Idiomas entre corchetes [ editar ]

Los lenguajes de programación con corchetes o llaves tienen una sintaxis que define bloques de instrucciones usando los caracteres de corchetes o llaves {y} . Esta sintaxis se originó con BCPL (1966), y fue popularizado por C . Muchos lenguajes de corchetes descienden o están fuertemente influenciados por C.Ejemplos de lenguajes de corchetes incluyen:

  • ABCL / c +
  • Alef
    • Limbo
      • Ir
  • AWK
  • B
  • antes de Cristo
  • BCPL
  • Bailarina
  • C - desarrollado alrededor de 1970 en Bell Labs
  • C ++
  • C#
  • Ceilán
  • ChucK - lenguaje de programación de audio
  • Cilk - C concurrente para programación paralela multiproceso
  • Cyclone : una variante C más segura
  • D
  • Dardo
  • DASL : basado en Java
  • mi
  • CE
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript
    • JScript
    • Mecanografiado
  • GLSL
  • HLSL
  • ICI
  • Java
    • Procesando
    • Groovy
    • Únete a Java
    • Kotlin
    • X10
  • LPC
  • MEL
  • Nemerle : combina características de C # y ML, proporciona capacidades de extensión de sintaxis
  • PCASTL
  • Perl
  • PHP
  • Pico
  • Lucio
  • Potencia Shell
  • R
  • Oxido
  • Jerga
  • Scala (llaves opcionales)
  • sed
  • Súper colisionador
  • Rápido
  • UnrealScript
  • Yorick
  • YASS

Idiomas de Dataflow [ editar ]

Los lenguajes de programación de flujo de datos se basan en una representación (generalmente visual) del flujo de datos para especificar el programa. Se utiliza con frecuencia para reaccionar ante eventos discretos o para procesar flujos de datos. Los ejemplos de lenguajes de flujo de datos incluyen:

  • Analytica
  • BMDFM
  • Oleoductos Hartmann
  • G (usado en LabVIEW )
  • Lúcido
  • Max
  • Onz
  • Prograph
  • Datos puros
  • Reaktor
  • StreamBase StreamSQL EventFlow
  • VEE
  • VHDL
  • VisSim
  • Vvvv
  • Flujo de WebMethods
  • Bailarina
  • Swift (lenguaje de secuencias de comandos en paralelo)

Lenguajes orientados a datos [ editar ]

Los lenguajes orientados a datos proporcionan formas poderosas de buscar y manipular las relaciones que se han descrito como tablas de relación de entidades que mapean un conjunto de cosas en otros conjuntos. [ cita requerida ] Ejemplos de lenguajes orientados a datos incluyen:

  • Clarín
  • Clíper
  • dBase un lenguaje de acceso a bases de datos relacionales
  • Duendecillo
  • MUMPS (un lenguaje de propósito general estándar ANSI con especializaciones para el trabajo de bases de datos)
  • Caché (similar a MUMPS)
  • RDQL
  • SPARQL
  • SQL
  • Tutorial D - ver también El tercer manifiesto
  • Visual FoxPro : un motor RDBMS nativo, orientado a objetos, RAD
  • WebDNA
  • Wolfram Language

Idiomas de la tabla de decisiones [ editar ]

Las tablas de decisiones se pueden utilizar como ayuda para aclarar la lógica antes de escribir un programa en cualquier idioma, pero en la década de 1960 se desarrollaron varios lenguajes en los que la lógica principal se expresa directamente en forma de tabla de decisiones, que incluyen:

  • Filetab

Lenguajes declarativos [ editar ]

Los lenguajes declarativos expresan la lógica de un cálculo sin describir en detalle su flujo de control. La programación declarativa contrasta con la programación imperativa a través de lenguajes de programación imperativos, donde el flujo de control se especifica mediante órdenes en serie (imperativos). Los lenguajes de programación (puros) funcionales y basados ​​en lógica también son declarativos y constituyen las principales subcategorías de la categoría declarativa. Esta sección enumera ejemplos adicionales que no están en esas subcategorías.

  • Analytica
  • Ant (combina programación declarativa y programación imperativa )
  • Curry
  • Cifrar
  • Lenguaje de especificación de aplicaciones distribuidas (DASL) (combina programación declarativa y programación imperativa )
  • ECL
  • Duendecillo
  • Lustre
  • Mercurio
  • MetaPost
  • Modelica
  • Prólogo
  • QML
  • Onz
  • RDQL
  • SequenceL : puramente funcional, paralelizado automáticamente y sin carreras
  • SPARQL
  • SQL (solo DQL, no DDL, DCL y DML)
  • Wolfram Language
  • xBase
  • Transformaciones XSL

Idiomas insertables [ editar ]

En código fuente [ editar ]

Los lenguajes incrustables de origen incrustan pequeños fragmentos de código ejecutable dentro de un fragmento de texto de forma libre, a menudo una página web.

Los lenguajes integrados del lado del cliente están limitados por las capacidades del navegador o del cliente previsto. Su objetivo es dinamizar las páginas web sin necesidad de volver a contactar con el servidor.

Los lenguajes integrados del lado del servidor son mucho más flexibles, ya que casi cualquier idioma puede integrarse en un servidor. El objetivo de tener fragmentos de código del lado del servidor incrustados en una página web es generar marcas adicionales de forma dinámica; el código en sí mismo desaparece cuando se sirve la página, para ser reemplazado por su salida.

Lado del servidor [ editar ]

  • PHP
  • VBScript
  • SMX: dedicado a páginas web
  • Tcl : del lado del servidor en NaviServer y un componente esencial en los sistemas de la industria electrónica
  • WebDNA : dedicado a sitios web basados ​​en bases de datos

Los ejemplos anteriores están especialmente dedicados a este propósito. Se pueden adaptar una gran cantidad de otros lenguajes, como Erlang , Scala , Perl y Ruby (por ejemplo, convirtiéndolos en módulos de Apache ).

Lado del cliente [ editar ]

  • ActionScript
  • JavaScript (también conocido como ECMAScript o JScript)
  • VBScript (solo Windows)

En código de objeto [ editar ]

Se puede incrustar una amplia variedad de lenguajes dinámicos o de secuencias de comandos en el código ejecutable compilado. Básicamente, el código objeto para el intérprete del lenguaje debe estar vinculado al ejecutable. Los fragmentos de código fuente para el lenguaje incorporado se pueden pasar a una función de evaluación como cadenas. Los lenguajes de control de aplicaciones pueden implementarse de esta manera, si el usuario ingresa el código fuente. Se prefieren los idiomas con pequeños intérpretes.

  • AngelScript
  • Ch
  • ANGUILA
  • Io
  • Julia
  • Lua
  • Pitón
  • Ruby (a través de mruby )
  • Ardilla
  • Tcl

Idiomas educativos [ editar ]

Idiomas desarrollados principalmente con el propósito de enseñar y aprender programación.

  • Alicia
  • Blockly
  • Catrobat
  • COMAL
  • Vivacidad
  • Esmeralda
  • Ezhil
  • Logo
  • KTurtle
  • Modula-2
  • Pascal
  • Raqueta
  • Esquema
  • Rasga
  • ¡Quebrar!
  • Turing
  • Wolfram Language

Lenguas esotéricas [ editar ]

Un lenguaje de programación esotérico es un lenguaje de programación diseñado como una prueba de los límites del diseño del lenguaje de programación de computadoras, como una prueba de concepto o como una broma.

  • Beatnik
  • Befunge
  • Brainfuck
  • Cocinero
  • INTERCAL
  • LOLCODE
  • Malbolge
  • Piet
  • Shakespeare
  • Jue
  • Espacio en blanco

Idiomas de extensión [ editar ]

Los lenguajes de programación de extensión son lenguajes incrustados en otro programa y se utilizan para aprovechar sus características en los scripts de extensión.

  • AutoLISP (específico de AutoCAD )
  • BeanShell
  • CALIFORNIA
  • C / AL (C / LADO)
  • Engaño
  • Emacs Lisp
  • JavaScript y algunos dialectos, por ejemplo, JScript
  • Lua (incrustado en muchos juegos)
  • OpenCL (extensión de C y C ++ para usar la GPU y extensiones paralelas de la CPU)
  • OptimJ (extensión de Java con soporte de lenguaje para escribir modelos de optimización y poderosas abstracciones para procesamiento de datos masivos)
  • Perl
  • Lucio
  • Python (incrustado en Maya, Blender y otros paquetes de animación 3-D)
  • Rexx
  • Ruby (Google SketchUp)
  • Jerga
  • SQL
  • Ardilla
  • Tcl
  • Secuencia de comandos de Vim (vim)
  • Visual Basic para aplicaciones (VBA)
  • Windows PowerShell

Idiomas de cuarta generación [ editar ]

Los lenguajes de programación de cuarta generación son lenguajes de alto nivel construidos alrededor de sistemas de bases de datos. Generalmente se utilizan en entornos comerciales.

  • 1C: lenguaje de programación empresarial
  • ABAP
  • CorVision
  • GraphTalk de CSC
  • CA-IDEAL (Entorno de desarrollo interactivo para la vida de una aplicación) para usar con CA-DATACOM / DB
  • Generador de informes Easytrieve (ahora CA-Easytrieve Plus)
  • ENFOCAR
  • IBM Informix-4GL
  • LINC 4GL
  • MAPPER ( Unisys / Sperry ) - ahora parte de BIS
  • MARK-IV ( Sterling / Informatics ) ahora VISIÓN: CONSTRUCTOR de CA
  • NATURAL
  • Progreso 4GL
  • PV-Wave
  • LiveCode (no se basa en una base de datos; aún así, el objetivo es trabajar a un nivel de abstracción más alto que los 3GL)
  • SAS
  • SQL
  • Ubercode (VHLL o lenguaje de muy alto nivel)
  • Uniface
  • Visual DataFlex
  • Visual FoxPro
  • xBase

Lenguajes funcionales [ editar ]

Los lenguajes de programación funcional definen programas y subrutinas como funciones matemáticas y las tratan como de primera clase. Muchos de los llamados lenguajes funcionales son "impuros" y contienen características imperativas. Muchos lenguajes funcionales están vinculados a herramientas de cálculo matemático. Los lenguajes funcionales incluyen:

Puro [ editar ]

  • Agda
  • Limpio
  • Coq (Gallina)
  • Cuneiforme
  • Curry
  • Olmo
  • Futhark
  • Haskell
  • Esperanza
  • Idris
  • Alegría
  • Inclinarse
  • Mercurio
  • Miranda
  • PureScript
  • Ur
  • KRC
  • SACO
  • SASL
  • SecuenciaL

Impuro [ editar ]

  • APL
  • ATS
  • CALIFORNIA
  • C ++ (desde C ++ 11 )
  • C#
  • VB.NET
  • Ceilán
  • D
  • Dardo
  • Rizo
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript
    • JScript
    • Fuente
  • Erlang
    • Elixir
    • LFE
    • Destello
  • F#
  • Flix
  • Groovy
  • Salto
  • J
  • Java (desde la versión 8)
  • Julia
  • Kotlin
  • Ceceo
    • Clojure
    • Lisp común
    • Dylan
    • Emacs Lisp
    • LFE
    • Pequeña B
    • Logo
    • Esquema
      • Raqueta (anteriormente PLT Scheme)
  • Mathematica
  • ML
    • ML estándar (SML)
      • Alicia
    • OCaml
  • Nemerle
  • Nim
  • Ópalo
  • OPS5
  • Perl
  • PHP
  • Pitón
  • Q (lenguaje de programación ecuacional)
  • Q (lenguaje de programación de Kx Systems)
  • R
  • Raku
  • REBOL
  • rojo
  • Rubí
  • RECHAZAR
  • Oxido
  • Scala
  • Rápido
  • Hojas de cálculo
  • Tcl
  • Wolfram Language

Idiomas de descripción de hardware [ editar ]

En electrónica, un lenguaje de descripción de hardware (HDL) es un lenguaje informático especializado que se utiliza para describir la estructura, el diseño y el funcionamiento de los circuitos electrónicos y, más comúnmente, los circuitos lógicos digitales. Las dos variedades de HDL más utilizadas y con mejor soporte que se utilizan en la industria son Verilog y VHDL . Los lenguajes de descripción de hardware incluyen:

HDL para diseño de circuitos analógicos [ editar ]

  • Verilog-AMS (Verilog para señal analógica y mixta)
  • VHDL-AMS (VHDL con extensión de señal analógica / mixta)

HDL para diseño de circuitos digitales [ editar ]

  • Lenguaje de expresión booleano avanzado
  • Lenguaje de descripción de hardware de Altera
  • Bluespec
  • Confluencia
  • ELLA
  • Handel-C
  • Impulso C
  • JHDL
  • Lava
  • Lola
  • MyHDL
  • PALASMA
  • Ruby (lenguaje de descripción de hardware)
  • SystemC
  • SystemVerilog
  • Verilog
  • VHDL (VHSIC HDL)

Idiomas imperativos [ editar ]

Los lenguajes de programación imperativos pueden ser multi-paradigma y aparecer en otras clasificaciones. Aquí hay una lista de lenguajes de programación que siguen el paradigma imperativo :

  • Ada
  • ALGOL
  • BÁSICO
  • C
  • C ++
  • C#
  • Ceilán
  • ENFRIAR
  • COBOL
  • D
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript
    • JScript
    • Fuente
  • FORTRAN
  • GAUSS
  • Ir
  • Groovy
  • Java
  • Julia
  • Lua
  • MATLAB
  • Idiomas de la máquina
  • Modula-2 , Modula-3
  • PAPERAS
  • Nim
  • OCaml
  • Oberon
  • Objeto Pascal
  • Pascal
  • Perl
  • PHP
  • PL / I
  • Potencia Shell
  • PROSA
  • Pitón
  • Rubí
  • Oxido
  • Speakeasy
  • Rápido
  • Tcl
  • Wolfram Language

Idiomas del modo interactivo [ editar ]

Los lenguajes en modo interactivo actúan como una especie de caparazón: las expresiones o declaraciones se pueden ingresar una a la vez, y el resultado de su evaluación se ve de inmediato. El modo interactivo también se denomina bucle de lectura-evaluación-impresión (REPL).

  • APL
  • BÁSICO (algunos dialectos)
  • Clojure
  • Lisp común
  • Dart (con las herramientas de desarrollo de Observatory o Dartium)
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript
    • JScript
    • Fuente
  • Erlang
  • Elixir (con iex)
  • F#
  • Fril
  • GAUSS
  • Groovy
  • Haskell (con el intérprete de GHCi o Hugs)
  • IDL
  • J
  • Java (desde la versión 9)
  • Julia
  • Lua
  • MUMPS (un lenguaje de propósito general estándar ANSI)
  • Arce
  • Mathematica ( idioma Wolfram )
  • MATLAB
  • ML
  • OCaml
  • Perl
  • PHP
  • Lucio
  • Posdata
  • Prólogo
  • Pitón
  • PROSA
  • R
  • REBOL
  • Rexx
  • Ruby (con IRB )
  • Scala
  • Esquema
  • Smalltalk (en cualquier lugar de un entorno Smalltalk)
  • S-Lang (con el caparazón S-Lang, slsh)
  • Speakeasy
  • Rápido
  • Tcl (con el shell Tcl, tclsh)
  • Shell de Unix
  • Windows PowerShell ( CLI basada en .NET )
  • Visual FoxPro

Idiomas interpretados [ editar ]

Los lenguajes interpretados son lenguajes de programación en los que un intérprete puede ejecutar programas desde el formato de código fuente. Teóricamente, cualquier idioma se puede compilar o interpretar, por lo que el término idioma interpretado generalmente se refiere a idiomas que generalmente se interpretan en lugar de compilar.

  • Hormiga
  • APL
  • Lenguaje de scripting AutoHotkey
  • Lenguaje de secuencias de comandos AutoIt
  • BÁSICO (algunos dialectos)
  • Lenguaje de programación para empresas (PL / B, anteriormente DATABUS, versiones posteriores con compilación opcional agregada)
  • Eiffel (a través de la tecnología Melting Ice en EiffelStudio )
  • Emacs Lisp
  • Idioma de GameMaker
  • Groovy
  • J
  • Julia (compilado sobre la marcha en código de máquina , pero existe un transpilador Julia2C )
  • JavaScript
  • Lisp (versiones anteriores, anteriores a 1962 y algunas experimentales; los sistemas Lisp de producción son compiladores, pero muchos de ellos aún proporcionan un intérprete si es necesario)
  • LPC
  • Lua
  • MUMPS (un lenguaje estándar de propósito general ANSI)
  • Arce
  • Mathematica
  • MATLAB
  • OCaml
  • Pascal (implementaciones tempranas)
  • PCASTL
  • Perl
  • PHP
  • Posdata
  • Potencia Shell
  • PROSA
  • Pitón
  • Rexx
  • R
  • REBOL
  • Rubí
  • Jerga
  • Speakeasy
  • ML estándar (SML)
  • Girar
  • Tcl
  • TorqueScript
  • lenguaje de secuencias de comandos thinBasic
  • VBScript
  • Windows PowerShell : CLI basada en .NET
  • Wolfram Language
  • Algunos lenguajes de secuencias de comandos, a continuación

Lenguajes iterativos [ editar ]

Los lenguajes iterativos se construyen alrededor de generadores de oferta .

  • Aldor
  • Alphard
  • C#
  • CLU
  • Cobra
  • Eiffel , a través de "agentes"
  • Icono
  • IPL-v
  • Julia
  • Lua
  • Nim
  • PHP
  • Pitón
  • Sather

Idiomas por tipo de gestión de memoria [ editar ]

Idiomas de recolección de basura [ editar ]

  • C#
  • Cristal
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript
    • JScript
    • Fuente
  • Esmeralda
  • Erlang
  • Ir
  • Groovy
  • Java
  • Julia
  • Kotlin
  • Lisp (creador)
    • Arco
    • Clojure
    • Lisp común
    • Dylan
    • Emacs Lisp
    • Raqueta
    • Esquema
    • Logo
  • Haskell
  • Lua
  • ML
    • ML estándar (SML)
      • Alicia
    • OCaml
  • Perl
  • PHP
  • Potencia Shell
  • Pitón
  • Rubí
  • Charla
  • Nim (lenguaje de programación)

Idiomas con gestión de memoria manual [ editar ]

  • Ada
  • C
  • C ++
  • Fortran
  • Pascal
  • Oxido
  • C objetivo
  • Zig

Idiomas con gestión de memoria determinista [ editar ]

  • Ada
  • C
  • C ++
  • Fortran
  • Pascal
  • Óxido [1] [2]
  • C objetivo
  • Zig

Idiomas con recuento automático de referencias (ARC) [ editar ]

  • C objetivo
  • Rápido
  • Visual Basic
  • Xojo

Idiomas basados ​​en listas: LISP [ editar ]

Los lenguajes basados ​​en listas son un tipo de lenguaje estructurado de datos que se basan en la estructura de datos de listas .

  • Ceceo
    • Arco
    • Clojure
    • Lisp común
    • Dylan
    • Emacs Lisp
    • Raqueta
    • Esquema
    • Logo
  • Alegría
  • R
  • Fuente
  • Tcl
  • TRAC

Pequeños lenguajes [ editar ]

Los pequeños lenguajes [3] sirven a un dominio de problemas especializado.

  • awk : se utiliza para la manipulación de archivos de texto.
  • Cometa : se utiliza para resolver problemas complejos de optimización combinatoria en áreas como la asignación de recursos y la programación.
  • sed : analiza y transforma texto
  • SQL : tiene solo unas pocas palabras clave y no todas las construcciones necesarias para un lenguaje de programación completo [a] : muchos sistemas de administración de bases de datos amplían SQL con construcciones adicionales como un lenguaje de procedimiento almacenado

Lenguajes basados ​​en lógica [ editar ]

Los lenguajes basados ​​en lógica especifican un conjunto de atributos que debe tener una solución, en lugar de un conjunto de pasos para obtener una solución.

Los lenguajes notables que siguen este paradigma de programación incluyen:

  • ALF
  • Alma-0
  • CLACL (CLAC-Lenguaje)
  • Curry
  • Fril
  • Flix (un lenguaje de programación funcional con restricciones de registro de datos de primera clase)
  • Janus
  • λProlog (un lenguaje de programación lógica con tipificación polimórfica, programación modular y programación de orden superior)
  • Oz y el sistema de programación Mozart multiplataforma Oz
  • Prólogo (formula datos y el mecanismo de evaluación del programa como una forma especial de lógica matemática llamada lógica de Horn y un mecanismo de prueba general llamado resolución lógica )
    • Mercurio (basado en Prolog)
    • Visual Prolog (extensión Prolog orientada a objetos)
  • CUERDA

Lenguajes de máquina [ editar ]

Los lenguajes de máquina son directamente ejecutables por la CPU de una computadora. Por lo general, se formulan como patrones de bits, generalmente representados en octal o hexadecimal.. Cada patrón de bits hace que los circuitos de la CPU ejecuten una de las operaciones fundamentales del hardware. La activación de entradas eléctricas específicas (p. Ej., Pines del paquete de CPU para microprocesadores) y la configuración lógica para los valores de estado de la CPU controlan el cálculo del procesador. Los lenguajes de máquina individuales son específicos de una familia de procesadores; El código de lenguaje de máquina para una familia de procesadores no puede ejecutarse directamente en procesadores de otra familia a menos que los procesadores en cuestión tengan hardware adicional para soportarlo (por ejemplo, los procesadores DEC VAX incluyen un modo de compatibilidad PDP-11). Son (esencialmente) siempre definidos por el desarrollador de la CPU, no por terceros. La versión simbólica, el lenguaje ensamblador del procesador , también la define el desarrollador, en la mayoría de los casos. Algunos códigos de máquina de uso comúnlos conjuntos de instrucciones son:

  • BRAZO
    • Original de 32 bits
    • Instrucciones Thumb de 16 bits (subconjunto o registros usados)
    • 64 bits (cambio de arquitectura importante, más registros)
  • DIC :
    • 18 bits: PDP-1 , PDP-4 , PDP-7 , PDP-9 , PDP-15
    • 12 bits: PDP-5 , PDP-8 , LINC-8 , PDP-12
    • 36 bits: PDP-6 , PDP-10 , DECSYSTEM-20
    • 16 bits: PDP-11 (VAX y M68000 influenciados)
    • 32 bits: VAX
    • 64 bits: Alfa
  • Intel 8008 , 8080 y 8085
    • Zilog Z80
  • x86 :
    • X86 de 16 bits , utilizado por primera vez en Intel 8086
      • Intel 8086 y 8088 (este último se usó en la primera y temprana IBM PC )
      • Intel 80186
      • Intel 80286 (el primer procesador x86 con modo protegido , utilizado en IBM AT )
    • IA-32 , introducido en el 80386
    • x86-64 La especificación original fue creada por AMD . Hay variantes de proveedores, pero son esencialmente las mismas:
      • AMD 64
      • Intel Intel 64
  • IBM [b]
    • 305
    • 650
    • 701
    • 702 , 705 y 7080
    • 704 , 709 , 7040 , 7044, 7090 , 7094
    • Serie 1400 , 7010
    • 7030
    • 7070
    • System / 360 y sucesores, incluido z / Architecture
  • MIPS
  • Motorola 6800
  • Familia Motorola 68000 (CPU utilizadas en las primeras computadoras Apple Macintosh y Sun )
  • Tecnología MOS 65xx
    • 6502 (CPU para VIC-20 , Apple II y Atari 800 )
    • 6510 (CPU para Commodore 64 )
    • Western Design Center 65816/65802 (CPU para Apple IIGS y (variante) Super Nintendo Entertainment System )
  • National Semiconductor NS320xx
  • POWER , utilizado por primera vez en IBM RS / 6000
    • PowerPC : se utiliza en Power Macintosh y en muchas consolas de juegos , en particular de la séptima generación .
    • Energía ISA
  • Sun Microsystems (ahora Oracle ) SPARC
  • UNIVAC [b]
    • Computadoras de 30 bits: 490 , 492, 494, 1230
    • Computadoras de 36 bits
      • 1101 , 1103 , 1105
      • Serie 1100/2200
  • MCST Elbrus 2000

Macro lenguajes [ editar ]

Macro lenguajes de sustitución textual [ editar ]

Los lenguajes de macros transforman un archivo de código fuente en otro. Una "macro" es esencialmente un fragmento de texto corto que se expande en uno más largo (que no debe confundirse con macros higiénicas ), posiblemente con sustitución de parámetros. A menudo se utilizan para preprocesar el código fuente. Los preprocesadores también pueden proporcionar funciones como la inclusión de archivos .

Los lenguajes de macros pueden limitarse a actuar en regiones de código especialmente etiquetadas (prefijadas con a #en el caso del preprocesador de C). Alternativamente, puede que no, pero en este caso todavía es a menudo indeseable (por ejemplo) expandir una macro incrustada en un literal de cadena , por lo que aún necesitan un conocimiento rudimentario de la sintaxis. Siendo ese el caso, a menudo siguen siendo aplicables a más de un idioma. Contraste con los lenguajes incrustables en código fuente como PHP , que tienen todas las funciones.

  • cpp (el preprocesador de C)
  • m4 (originalmente de AT&T, incluido con Unix)
  • ML / I (macroprocesador de propósito general)

Idiomas de macros de aplicaciones [ editar ]

Se han incorporado en las aplicaciones lenguajes de secuencias de comandos como Tcl y ECMAScript ( ActionScript , ECMAScript para XML , JavaScript , JScript ). Estos a veces se denominan "lenguajes macro", aunque en un sentido algo diferente a las macros de sustitución textual como m4 .

Lenguajes de metaprogramación [ editar ]

La metaprogramación es la escritura de programas que escriben o manipulan otros programas, incluidos ellos mismos, como sus datos o que hacen parte del trabajo que de otro modo se realiza en tiempo de ejecución durante el tiempo de compilación . En muchos casos, esto permite a los programadores hacer más en la misma cantidad de tiempo que les tomaría escribir todo el código manualmente.

  • C ++
  • CWIC
  • Rizo
  • D
  • CE
  • Emacs Lisp
  • Elixir
  • F#
  • Groovy
  • Haskell
  • Julia
  • Ceceo
  • Lua
  • Sistema Maude
  • Mathematica
  • META II (y META I, un subconjunto)
  • MetaOCaml
  • Nemerle
  • Nim
  • Perl
  • Pitón
  • Rubí
  • Óxido [4]
  • Esquema
  • SecuenciaL
  • Charla
  • Fuente
  • TREEMETA
  • Wolfram Language

Idiomas multiparadigmas [ editar ]

Los lenguajes multiparadigmas admiten más de un paradigma de programación . Permiten que un programa utilice más de un estilo de programación . El objetivo es permitir que los programadores utilicen la mejor herramienta para un trabajo, admitiendo que ningún paradigma resuelve todos los problemas de la manera más fácil o eficiente.

  • 1C: lenguaje de programación empresarial (genérico, imperativo, orientado a objetos, basado en prototipos, funcional)
  • Ada ( concurrente , distribuido , genérico ( plantilla de metaprogramación ), imperativo , orientado a objetos ( basado en clases ))
  • ALF ( funcional , lógica )
  • Alma-0 (restricción, imperativo, lógica)
  • APL (funcional, imperativo, orientado a objetos (basado en clases))
  • BETA (funcional, imperativo, orientado a objetos (basado en clases))
  • C ++ (genérico, imperativo, orientado a objetos (basado en clases), funcional, metaprogramación)
  • C # (genérico, imperativo, orientado a objetos (basado en clases), funcional, declarativo)
  • Ceilán (genérico, imperativo, orientado a objetos (basado en clases), funcional, declarativo)
  • ChucK (imperativo, orientado a objetos, basado en el tiempo, concurrente, sobre la marcha)
  • Cobra (genérico, imperativo, orientado a objetos (basado en clases), funcional, contractual)
  • Common Lisp (funcional, imperativo, orientado a objetos (basado en clases), orientado a aspectos (el usuario puede agregar más paradigmas, por ejemplo, lógica))
  • Curl (funcional, imperativo, orientado a objetos (basado en clases), metaprogramación)
  • Curry (concurrente, funcional, lógico)
  • D (genérico, imperativo, funcional, orientado a objetos (basado en clases), metaprogramación)
  • Delphi Object Pascal (genérico, imperativo, orientado a objetos (basado en clases), metaprogramación)
  • Dylan (funcional, orientado a objetos (basado en clases))
  • eC (genérico, imperativo, orientado a objetos (basado en clases))
  • ECMAScript (funcional, imperativo, orientado a objetos (basado en prototipos))
    • ActionScript
    • ECMAScript para XML
    • JavaScript
    • JScript
  • Eiffel (imperativo, orientado a objetos (basado en clases), genérico, funcional (agentes), concurrente (SCOOP))
  • F # (funcional, genérico, orientado a objetos (basado en clases), orientado al lenguaje)
  • Fantom (funcional, orientado a objetos (basado en clases))
  • Go (imperativo, procedimental),
  • Groovy (funcional, orientado a objetos (basado en clases), imperativo, procedimental)
  • Puerto
  • Salto
  • J (funcional, imperativo, orientado a objetos (basado en clases))
  • Julia (imperativo, envío múltiple ("orientado a objetos"), funcional, metaprogramación)
  • LabVIEW ( flujo de datos , visual )
  • Lava (orientado a objetos (basado en clases), visual)
  • Lua (funcional, imperativo, orientado a objetos ( basado en prototipos ))
  • Mercurio (funcional, lógico, orientado a objetos)
  • Protocolos de metaobjetos (orientados a objetos (basados ​​en clases, basados ​​en prototipos))
  • Nemerle (funcional, orientado a objetos (basado en clases), imperativo, metaprogramación)
  • Objective-C (imperativo, orientado a objetos (basado en clases), reflexivo)
  • OCaml (funcional, imperativo, orientado a objetos (basado en clases), modular)
  • Oz (funcional (evaluación: ansioso , perezoso ), lógica, restricción , imperativo, orientado a objetos (basado en clases), concurrente, distribuido) y multiplataforma del sistema de programación Mozart Oz
  • Object Pascal (imperativo, orientado a objetos (basado en clases))
  • Perl (imperativo, funcional (no puede ser puramente funcional), orientado a objetos, orientado a clases, orientado a aspectos (a través de módulos))
  • PHP (imperativo, orientado a objetos, funcional (no puede ser puramente funcional))
  • Pike (lenguaje de programación dinámico interpretado, de uso general, de alto nivel, multiplataforma)
  • Prograph (flujo de datos, orientado a objetos (basado en clases), visual)
  • Python (funcional, compilado, interpretado, orientado a objetos (basado en clases), imperativo, metaprogramación, extensión, impuro, modo interactivo, iterativo, reflexivo, scripting)
  • R (matriz, interpretado, impuro, modo interactivo, basado en listas, basado en prototipos orientado a objetos, scripting)
  • Raqueta (funcional, imperativa, orientada a objetos (basada en clases) y puede ser extendida por el usuario)
  • REBOL (funcional, imperativo, orientado a objetos (basado en prototipos), metaprogramación (dialectado))
  • Rojo (funcional, imperativo, orientado a objetos (basado en prototipos), metaprogramación (dialectado))
  • ROOP (imperativo, lógico, orientado a objetos (basado en clases), basado en reglas)
  • Ruby (imperativo, funcional, orientado a objetos (basado en clases), metaprogramación)
  • Rust (concurrente, funcional, imperativo, orientado a objetos, genérico, metaprogramación, compilado)
  • Scala (funcional, orientado a objetos)
  • Seed7 (imperativo, orientado a objetos, genérico)
  • SISAL (concurrente, flujo de datos, funcional)
  • Hojas de cálculo (funcionales, visuales)
  • Swift (orientado a protocolos, orientado a objetos, funcional, imperativo, estructurado en bloques)
  • Tcl (funcional, imperativo, orientado a objetos (basado en clases))
    • Té (funcional, imperativo, orientado a objetos (basado en clases))
  • Windows PowerShell (funcional, imperativo, canalizado, orientado a objetos (basado en clases))
  • Wolfram Language

Análisis numérico [ editar ]

Varios lenguajes de programación de propósito general, como C y Python , también se utilizan para la informática técnica, esta lista se centra en lenguajes que se utilizan casi exclusivamente para la informática técnica.

  • OBJETIVOS
  • AMPL
  • Analytica
  • Fortran
  • FreeMat
  • GAUSS
  • JUEGOS
  • Octava GNU
  • Julia
  • Sistema Klerer-May
  • Mathematica
  • MATLAB
  • PROSA
  • R
  • Séneca : una variante de Oberon
  • Scilab
  • Wolfram Language

Idiomas distintos del inglés [ editar ]

  • Chino BÁSICO - Chino
  • Fjölnir - islandés
  • Lengua Symbolique d'Enseignement - Francés
  • Lexico - español
  • Rapira - Ruso
  • ezhil - tamil

Lenguajes basados ​​en clases orientados a objetos [ editar ]

Los lenguajes de programación orientados a objetos basados ​​en clases admiten objetos definidos por su clase. Las definiciones de clase incluyen datos de miembros. El paso de mensajes es un concepto clave (si no el concepto clave) en los lenguajes orientados a objetos.

Las funciones polimórficas parametrizadas por la clase de algunos de sus argumentos se denominan normalmente métodos. En los lenguajes con envío único , las clases también suelen incluir definiciones de métodos. En lenguajes con distribución múltiple , los métodos se definen mediante funciones genéricas . Hay excepciones en las que los métodos de envío único son funciones genéricas (por ejemplo , el sistema de objetos de Bigloo ).

Envío múltiple [ editar ]

  • Lisp común
  • Cecilio
  • Dylan
  • Julia

Envío único [ editar ]

  • ActionScript 3.0
  • Actor
  • Ada 95 y Ada 2005 (lenguaje polivalente)
  • APL
  • BETA
  • C ++
  • C#
  • Ceilán
  • Oxygene (anteriormente llamado Chrome)
  • Arrojar
  • Cobra
  • Fusión fría
  • Rizo
  • D
  • Lenguaje de especificación de aplicaciones distribuidas (DASL)
  • Objeto Delphi Pascal
  • mi
  • GNU E
  • CE
  • Eiffel
    • Sather
    • Ubercode
  • F-Script
  • Fortran 2003
  • Fortaleza
  • Gambas
  • Idioma de Game Maker
  • Puerto
  • J
  • Java
    • Procesando
    • Groovy
    • Únete a Java
    • X10
  • LabVIEW
  • Lava
  • Lua
  • Modula-2 (abstracción de datos, ocultación de información, tipificación fuerte, modularidad completa)
    • Modula-3 (se agregaron más funciones orientadas a objetos a Modula-2)
  • Nemerle
  • NetRexx
  • Oberon-2 (equivalencia total de orientación a objetos de una manera original, fuertemente tipada, wirthiana)
  • Objeto Pascal
  • Objeto REXX
  • Objective-C (un superconjunto de C que agrega un modelo de objeto derivado de Smalltalk y una sintaxis de paso de mensajes)
  • OCaml
  • Oz, sistema de programación Mozart
  • Perl 5
  • PHP
  • Lucio
  • Prograph
  • Python (lenguaje interpretativo, opcionalmente orientado a objetos)
  • Revolution (el programador no puede elegir los objetos)
  • Rubí
  • Scala
  • Speakeasy
  • Simula (primer lenguaje orientado a objetos, desarrollado por Ole-Johan Dahl y Kristen Nygaard )
  • Smalltalk (orientación a objetos pura, desarrollado en Xerox PARC )
    • F-Script
    • Pequeño Smalltalk
    • Pharo
    • Chirrido
      • Rasga
    • IBM VisualAge
    • VisualWorks
  • GIRAR
  • Súper colisionador
  • VBScript (lenguaje de 'macro scripting' de Microsoft Office)
  • Visual DataFlex
  • Visual FoxPro
  • Prólogo visual
  • X ++
  • Xojo
  • XOTcl

Lenguajes basados ​​en prototipos orientados a objetos [ editar ]

Los lenguajes basados ​​en prototipos son lenguajes orientados a objetos en los que se ha eliminado la distinción entre clases e instancias:

  • 1C: lenguaje de programación empresarial
  • Lenguaje concurrente basado en actores (ABCL, ABCL / 1, ABCL / R, ABCL / R2, ABCL / c +)
  • Ágora
  • Cecilio
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript (primero llamado Mocha, luego LiveScript)
    • JScript
  • Etoys en Squeak
  • Io
  • Lua
  • MUGIR
  • NewtonScript
  • Obliq
  • R
  • REBOL
  • rojo
  • Self (primer lenguaje basado en prototipos, derivado de Smalltalk )
  • TADS

Idiomas ajenos a las reglas [ editar ]

Los lenguajes de reglas fuera de juego denotan bloques de código por su sangría .

  • ISWIM , el lenguaje abstracto que introdujo la regla
  • ABC , padre de Python
    • Pitón
      • Cobra
      • Abucheo
      • Genio
  • Miranda , la madre de Haskell
    • Orwell
    • Haskell
      • Curry
  • Elixir (, hacer: bloques)
  • F#
  • Nim
  • Occam
  • GIRAR
  • Scala (fuera de juego opcional)

Idiomas de procedimiento [ editar ]

Los lenguajes de programación procedimentales se basan en el concepto de unidad y alcance (el rango de visualización de datos) de una declaración de código ejecutable. Un programa de procedimiento se compone de una o más unidades o módulos, codificados por el usuario o proporcionados en una biblioteca de códigos; cada módulo se compone de uno o más procedimientos, también denominados función, rutina, subrutina o método, según el idioma. Ejemplos de lenguajes de procedimiento incluyen:

  • Ada (lenguaje polivalente)
  • ALGOL (diseño de lenguaje muy influyente; el segundo compilador de lenguaje de alto nivel)
    • PEQUEÑA máquina ALGOL como lenguaje
  • Alma-0
  • BÁSICO (estos carecen de la mayoría de la modularidad en (especialmente) versiones anteriores a 1990)
  • BCPL
  • FELICIDAD
  • C
  • C ++ (C con objetos y mucho más, como genéricos a través de STL)
  • C # (similar a Java / C ++)
  • Ceilán
  • ENFRIAR
  • ChucK (sintaxis similar a C / Java, con nuevos elementos de sintaxis para tiempo y paralelismo)
  • COBOL
  • Cobra
  • Fusión fría
  • Lenguaje de programación combinado (CPL)
  • Rizo
  • D
  • Lenguaje de especificación de aplicaciones distribuidas (DASL) (combina programación declarativa y programación imperativa )
  • CE
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript (primero llamado Mocha, luego LiveScript)
    • JScript
    • Fuente
  • Eiffel
  • Fortran (mejor modularidad en estándares posteriores)
    • F
  • GAUSS
  • Ir
  • Puerto
  • HyperTalk
  • Java
    • Groovy
    • Únete a Java
  • JOVIAL
  • Julia
  • Lengua H
  • Lazo
  • Modula-2 (fundamentalmente basado en módulos)
  • Mathematica
  • MATLAB
  • Colina baja
  • MUMPS (el primer lanzamiento fue más modular que otros lenguajes de la época; el estándar se ha vuelto aún más modular desde entonces)
  • Nemerle
  • Nim
  • Oberon , Oberon-2 (seguimientos mejorados, más pequeños, más rápidos y más seguros para Modula-2)
    • Componente Pascal
    • Séneca
  • OCaml
  • Occam
  • Mirador
  • Pascal (sucesor de ALGOL 60, predecesor de Modula-2)
    • Pascal libre (FPC)
    • Objeto Pascal , Delphi
  • PCASTL
  • Perl
  • Lucio
  • SOCIEDAD ANÓNIMA
  • PL / I (lenguaje de propósito general grande, originalmente para mainframes IBM)
  • Más
  • Potencia Shell
  • PROSA
  • Pitón
  • R
  • Rapira
  • RPG (disponible sólo en IBM 's System i de gama media ordenadores)
  • Oxido
  • Jerga
  • VBScript
  • Visual Basic
  • Visual FoxPro
  • Wolfram Language
  • Microsoft Dynamics AX (X ++)

Idiomas de consulta [ editar ]

Lenguaje reflexivo [ editar ]

Los lenguajes reflexivos permiten a los programas examinar y posiblemente modificar su estructura de alto nivel en tiempo de ejecución o en tiempo de compilación. Esto es más común en lenguajes de programación de la máquina virtual de alto nivel como Smalltalk , y menos común en los lenguajes de programación de bajo nivel como C . Idiomas y plataformas que apoyan la reflexión:

  • Befunge
  • Ceilán
  • Encanto
  • Arrojar
  • CLI
    • C#
  • Cobra
  • Componente Pascal BlackBox Component Builder
  • Rizo
  • Cifrar
  • Objeto Delphi Pascal
  • CE
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript
    • JScript
  • Emacs Lisp
  • Eiffel
  • Puerto
  • Julia
  • JVM
    • Java
    • Groovy
    • Únete a Java
    • X10
  • Ceceo
    • Clojure
    • Lisp común
    • Dylan
    • Logo
    • Esquema
  • Lua
  • Sistema Maude
  • Oberon-2 - Sistema ETH Oberon
  • C objetivo
  • PCASTL
  • Perl
  • PHP
  • Pico
  • Poplog
    • POP-11
  • Potencia Shell
  • Prólogo
  • Pitón
  • REBOL
  • rojo
  • Rubí
  • Smalltalk (orientación a objetos pura, originalmente de Xerox PARC )
    • F-Script
    • Pequeño Smalltalk
    • Uno mismo
    • Chirrido
    • IBM VisualAge
    • VisualWorks
  • Snobol
  • Tcl
  • Wolfram Language
  • XOTcl
  • X ++
  • Xojo

Lenguajes basados ​​en reglas [ editar ]

Los lenguajes basados ​​en reglas crean instancias de reglas cuando se activan mediante condiciones en un conjunto de datos. De todas las activaciones posibles, se selecciona algún conjunto y se ejecutan las sentencias que pertenecen a esas reglas. Los lenguajes basados ​​en reglas incluyen: [ cita requerida ]

  • awk
  • CLIPS
  • Reglas de manejo de restricciones
  • Babea
  • Lenguaje de programación de GOAL agent
  • Cadena
  • OPS5
  • Prólogo
  • ToonTalk - los robots son reglas
  • Mathematica
  • XSLT [ cita requerida ]
  • Wolfram Language

Lenguajes de secuencias de comandos [ editar ]

El " lenguaje de secuencias de comandos " tiene dos significados aparentemente diferentes, pero de hecho similares. En un sentido tradicional, los lenguajes de scripting están diseñados para automatizar tareas de uso frecuente que generalmente implican llamar o pasar comandos a programas externos. Muchos programas de aplicación complejos proporcionan lenguajes integrados que permiten a los usuarios automatizar tareas. Los que son interpretativos a menudo se denominan lenguajes de secuencias de comandos.

Recientemente, muchas aplicaciones han incorporado lenguajes de secuencias de comandos tradicionales, como Perl o Visual Basic , pero todavía hay bastantes lenguajes de secuencias de comandos nativos en uso. Muchos lenguajes de secuencias de comandos se compilan en código de bytes y luego este código de bytes (generalmente) independiente de la plataforma se ejecuta a través de una máquina virtual (en comparación con la máquina virtual de Java ).

  • AppleScript
  • AutoHotKey
  • AutoIt
  • AWK
  • antes de Cristo
  • BeanShell
  • Intento
  • Ch (intérprete C / C ++ incrustable)
  • CLI
    • C # (compilado en bytecode y ejecutando JIT dentro de VM)
  • CLIST
  • Fusión fría
  • ECMAScript
    • ActionScript
    • ECMAScript para XML
    • JavaScript (primero llamado Mocha, luego LiveScript)
    • JScript
    • Fuente
  • Emacs Lisp
  • CMS EXEC
  • EJEC. 2
  • F-Script
  • Lenguaje de Game Maker (GML)
  • ICI
  • Io
  • JASS
  • Julia (aún, compilada sobre la marcha en código de máquina )
  • JVM
    • Groovy
    • Únete a Java
  • Ksh
  • Lazo
  • Lua
  • MAXScript
  • MEL
  • Objeto REXX (OREXX, OOREXX)
  • Mirador
  • Pascal Script
  • Perl
  • PHP (destinado a servidores web)
  • Potencia Shell
  • Pitón
  • R
  • REBOL
  • rojo
  • Rexx
  • Revolución
  • Rubí
  • Sh
  • Charla
  • Jerga
  • sed
  • Tcl
  • TorqueScript
  • VBScript
  • WebDNA , dedicado a sitios web basados ​​en bases de datos
  • Windows PowerShell ( CLI basada en .NET )
  • Winbatch
  • Muchos lenguajes de comandos de shell, como el shell de Unix o el lenguaje de comandos DIGITAL (DCL) en VMS, tienen potentes capacidades de scripting.

Idiomas basados ​​en pila [ editar ]

Los lenguajes basados ​​en pilas son un tipo de lenguaje estructurado de datos que se basan en la estructura de datos de la pila .

  • Beatnik
  • Canonware Onyx [5]
  • Factor
  • Adelante
  • Joy (todas las funciones funcionan en pilas de parámetros en lugar de parámetros con nombre)
  • Piet
  • Poplog a través de su lenguaje de implementación POP-11
  • Posdata
  • RPL
  • Jerga

Idiomas sincrónicos [ editar ]

Los lenguajes de programación síncronos están optimizados para programar sistemas reactivos, sistemas que a menudo se interrumpen y deben responder rápidamente. Muchos de estos sistemas también se denominan sistemas en tiempo real y se utilizan a menudo en sistemas integrados .

Ejemplos:

  • Argos
  • Averest
  • Esterel
  • Lustre
  • Señal

Idiomas de sombreado [ editar ]

Un lenguaje de sombreado es un lenguaje de programación de gráficos adaptado a la programación de efectos de sombreado. Tales formas de lenguaje generalmente consisten en tipos de datos especiales, como "color" y "normal". Debido a la variedad de mercados objetivo para gráficos por computadora en 3D.

Renderizado en tiempo real [ editar ]

Proporcionan una mayor abstracción de hardware y un modelo de programación más flexible que los paradigmas anteriores que codificaban ecuaciones de transformación y sombreado. Esto le da al programador un mayor control sobre el proceso de renderizado y entrega contenido más rico con menos gastos generales.

  • Lenguaje ensamblador de Adobe Graphics (AGAL) [6]
  • Lenguaje ensamblador ARB (ensamblado ARB)
  • Lenguaje de sombreado OpenGL (GLSL o glslang)
  • Lenguaje de sombreado de alto nivel (HLSL) o lenguaje ensamblador de sombreado de DirectX
  • Lenguaje de sombreado de PlayStation (PSSL)
  • Lenguaje de sombreado metálico (MSL)
  • CG
  • Shining Rock Shading Language (SRSL) [7]
  • Chispa [8]
  • Lenguaje de sombreado nitroso [9]
  • Lenguaje de sombreado Godot [10]

Renderizado sin conexión [ editar ]

Los lenguajes de sombreado utilizados en el renderizado sin conexión producen la máxima calidad de imagen. Procesar estos sombreadores requiere mucho tiempo. La potencia computacional requerida puede ser costosa debido a su capacidad para producir resultados fotorrealistas.

  • Lenguaje de sombreado RenderMan (RSL)
  • Lenguaje de sombreado Houdini VEX (VEX)
  • Lenguaje de sombreado de Gelato
  • Lenguaje de sombreado abierto (OSL)

Lenguajes de manejo de sintaxis [ editar ]

Estos lenguajes ayudan a generar analizadores léxicos y analizadores sintácticos para gramáticas libres de contexto .

  • ANTLR
  • Coco / R (EBNF con semántica)
  • GNU bison (versión de Yacc de la FSF)
  • GNU Flex (versión FSF de Lex)
  • glex / gyacc (compilador del compilador de GoboSoft para Eiffel)
  • lex (análisis léxico, de Bell Labs)
  • M4
  • Analizar la gramática de expresiones (PEG)
  • Prólogo
  • Emacs Lisp
  • Ceceo
  • SableCC
  • Esquema
  • yacc (otro compilador más, de Bell Labs)
  • JavaCC

Idiomas del sistema [ editar ]

Los lenguajes de programación del sistema son para tareas de bajo nivel como administración de memoria o administración de tareas. Un lenguaje de programación del sistema generalmente se refiere a un lenguaje de programación utilizado para la programación del sistema; Dichos lenguajes están diseñados para escribir software de sistemas, que generalmente requiere diferentes enfoques de desarrollo en comparación con el software de aplicación.

El software del sistema es un software de computadora diseñado para operar y controlar el hardware de la computadora y para proporcionar una plataforma para ejecutar software de aplicación. El software del sistema incluye categorías de software como sistemas operativos, software de utilidad, controladores de dispositivos, compiladores y enlazadores. Ejemplos de lenguajes del sistema incluyen:

Idiomas de transformación [ editar ]

Lenguajes visuales [ editar ]

Los lenguajes de programación visual permiten a los usuarios especificar programas de forma bidimensional (o más), en lugar de cadenas de texto unidimensionales, mediante diseños gráficos de varios tipos. Algunos lenguajes de programación de flujo de datos también son lenguajes visuales.

  • Analytica
  • Blockly
  • DRAKON
  • Fabrik
  • G (usado en LabVIEW )
  • Saltamontes
  • Lava
  • Limnor
  • Max
  • NXT-G
  • picto
  • Prograph
  • Datos puros
  • Compositor de cuarzo
  • Scratch (escrito y basado en Squeak , una versión de Smalltalk )
  • ¡Quebrar!
  • Simulink
  • Hojas de cálculo
  • Stateflow
  • Trasfondo
  • ToonTalk
  • VEE
  • VisSim
  • Vvvv
  • XOD
  • EICASLAB

Idiomas de Wirth [ editar ]

El informático Niklaus Wirth diseñó e implementó varios lenguajes influyentes.

  • ALGOL W
  • Euler
  • Modula
    • Modula-2 , Modula-3 , variantes
      • Variante de Obliq Modula 3
  • Oberon (Oberon, Oberon-07, Oberon-2)
    • Componente Pascal
    • Oberon-2
  • Pascal
    • Object Pascal (nombre general para Delphi , Free Pascal , Oxygene , otros)

Lenguajes basados ​​en XML [ editar ]

Estos son lenguajes basados ​​o que operan en XML .

  • Hormiga
  • ECMAScript para XML
  • MXML
  • LZX
  • XAML
  • XPath
  • XQuery
  • XProc
  • Transformaciones extensibles del lenguaje de hojas de estilo ( XSLT )

Ver también [ editar ]

  • Paradigma de programación
  • IEC 61131-3 : un estándar para lenguajes de controladores lógicos programables (PLC)
  • Lenguaje de programación educativo
  • Lenguaje de programación esotérico

Notas [ editar ]

  1. ^ Los objetos de SQL son colecciones de registros de bases de datos , llamadas tablas. Un lenguaje de programación completopuede especificar algoritmos , independientemente del tiempo de ejecución . Por tanto, se puede considerar que un algoritmo genera resultados utilizables. Por el contrario, SQL solo puede seleccionar registros que están limitados a la colección actual, los datos disponibles en el sistema, en lugar de producir una declaración de la exactitud del resultado.
  2. ^ a b No se enumeran los submodelos, solo los modelos base
  3. ^ Swift utiliza el recuento de referencias automático .

Referencias [ editar ]

  1. ^ "Comprensión de la propiedad: el lenguaje de programación Rust" . doc.rust-lang.org .
  2. ^ "Punteros inteligentes - el lenguaje de programación Rust" . doc.rust-lang.org .
  3. ^ Jon Bentley (AT&T) Agosto de 1986 MCCA 29 (8) "Pequeños lenguajes", págs. 711-721 de su columna Programming Pearls
  4. ^ "Macros de procedimiento para generar código a partir de atributos" . doc.rust-lang.org .
  5. ^ "Canonware Onyx" . Canonware.com . Archivado desde el original el 13 de marzo de 2017 . Consultado el 7 de julio de 2018 .
  6. ^ Scabia, Marco. "Qué es AGAL" . Conexión de desarrollador de Adobe . Adobe . Consultado el 8 de mayo de 2018 .
  7. ^ Hodorowicz, Luke. "Idiomas de sombreado" . www.shiningrocksoftware.com . Software Shining Rock . Consultado el 8 de mayo de 2018 .
  8. ^ Foley, Tim; Hanrahan, Pat. "Spark: Shaders modulares componibles para hardware de gráficos" . Software de Intel . ACM . Consultado el 8 de mayo de 2018 .
  9. ^ "Preguntas frecuentes sobre nitroso" . oxidegames.com . Consultado el 8 de mayo de 2018 .
  10. ^ Linietsky, Juan; Manzur, Ariel. "Lenguaje de sombreado - última documentación de Godot Engine" . docs.godotengine.org . Comunidad Godot . Consultado el 8 de mayo de 2018 .
  11. ^ Wulf, WA; Russell, DB; Haberman, AN (diciembre de 1971). "BLISS: un lenguaje para la programación de sistemas". Comunicaciones de la ACM . 14 (12): 780–790. CiteSeerX 10.1.1.691.9765 . doi : 10.1145 / 362919.362936 . 
  12. ^ "Aplicaciones C ++" .
  13. ^ [1]
  14. ^ "Investigación de Mozilla" . 1 de enero de 2014.