Lista de linguagens de programação por tipo - List of programming languages by type
Listas de linguagem de programação |
---|
Esta é uma lista de linguagens de programação notáveis , agrupadas por tipo.
Não existe um esquema de classificação abrangente para linguagens de programação. Assim, em muitos casos, um idioma é listado em vários títulos.
Linguagens de matriz
Linguagens de programação de matriz (também chamadas de vetor ou multidimensional ) generalizam operações em escalares para aplicar transparentemente a vetores , matrizes e matrizes de dimensões superiores .
Linguagens de montagem
As linguagens assembly correspondem diretamente a uma linguagem de máquina (veja abaixo ), embora possa não haver um mapeamento 1-1 entre uma instrução individual e uma instrução individual, então as instruções de código de máquina aparecem em uma forma compreensível por humanos. As linguagens assembly permitem que os programadores usem endereços simbólicos, que o montador converte em endereços absolutos ou relocáveis . A maioria dos montadores também oferece suporte a macros e constantes simbólicas .
Linguagens de autoria
Uma linguagem de autoria é uma linguagem de programação projetada para uso por um especialista não em informática para criar facilmente tutoriais, sites e outros programas de computador interativos.
Linguagens de programação de restrição
Uma linguagem de programação de restrição é uma linguagem de programação declarativa em que os relacionamentos entre as variáveis são expressos como restrições . A execução prossegue tentando encontrar valores para as variáveis que satisfaçam todas as restrições declaradas.
Linguagens de interface de linha de comando
Linguagens de interface de linha de comando (CLI) também são chamadas de linguagens de lote ou linguagens de controle de trabalho. Exemplos:
- 4DOS (shell de linha de comando estendida para PCs IBM )
- 4OS2 (shell de linha de comando estendida para PCs IBM )
- bash (o shell Bourne-Again da GNU , Free Software Foundation (FSF))
- CLIST ( lista de comandos MVS )
- CMS EXEC
- csh e tcsh (shell semelhante a C de Bill Joy na UC Berkeley )
- Linguagem de Comando DIGITAL (DCL) - linguagem CLI padrão para VMS ( DEC , Compaq , HP )
- Linguagem de lote DOS ( linguagem CLI / lote padrão para o IBM PC executando sistemas operacionais DOS , popular antes do Windows )
- EXEC 2
- Expect (uma ferramenta de teste e automação Unix )
- peixe (uma concha Unix )
- Shell Hamilton C (um shell C para Windows)
- ksh (um shell Unix padrão , escrito por David Korn )
- Rc (shell de linha de comando para o Plano 9 )
- Rexx
- sh (o shell Unix padrão , escrito por Stephen R. Bourne )
- TACL (Tandem Advanced Command Language)
- Linguagem de lote do Windows ( linguagem de arquivo de lote do Windows conforme entendida por COMMAND.COM e CMD.EXE )
- Windows PowerShell ( CLI baseada em .NET )
- zsh (um shell Unix )
Linguagens compiladas
Essas são linguagens normalmente processadas por compiladores , embora teoricamente qualquer linguagem possa ser compilada ou interpretada. Veja também linguagem compilada .
- ActionScript
- Ada (linguagem multiuso)
- ALGOL 58
-
ALGOL 60 (design de linguagem muito influente)
- SMALL Machine ALGOL Like Language
- Ballerina (compilado para bytecode específico para o Ballerina Runtime (BVM))
- BASIC (alguns dialetos, incluindo a primeira versão de Dartmouth BASIC)
- BCPL
- C (uma das linguagens procedurais mais amplamente utilizadas)
- C ++ (linguagem multiparadigma amplamente usada, derivada de C)
- C # (compilado em CIL , gera uma imagem nativa em tempo de execução)
- Ceylon (compilado em bytecode JVM )
- FRIO
- CLIPPER 5.3 (linguagem de programação para software baseado em DOS)
- CLEO (linguagem clara para pedidos expressos) nos computadores Leo britânicos
- Clojure (compilado em bytecode JVM )
- COBOL
- Cobra
- Lisp Comum
- Cristal
- Ondulação
- D (de uma reengenharia de C ++)
- DASL compila em Java, JavaScript, JSP, Flex, etc. como arquivo .war
- Delphi ( Borland 's Object Pascal sistema de desenvolvimento)
- DIBOL (Digital Interactive Business Oriented Language)
- Dylan
- eC
- Eiffel (linguagem orientada a objetos desenvolvida por Bertrand Meyer )
- Olmo
- Emacs Lisp
- Esmeralda
- Erlang
- F # (compilado em CIL , para gerar imagem em tempo de execução)
- Fator
- Fortran (o primeiro de alto nível, linguagem compilada, de IBM 's John Backus )
- GAUSS
- Ir
- Gosu (compilado em bytecode JVM )
- Groovy (compilado em bytecode JVM )
- Haskell
- Porto
- Java (geralmente compilado em bytecode JVM, embora existam compiladores à frente do tempo (AOT) que compilam em código de máquina )
- JOVIAL
- Julia (compilado em tempo real para o código de máquina)
- Kotlin (Kotlin / Native usa LLVM para produzir binários nativos)
- LabVIEW
- Mercúrio
- Mesa
- Nemerle (compilado em bytecode de linguagem intermediária)
- Nim
- Objective-C
- P
- Pascal (maioria das implementações)
- PL / I (linguagem de uso geral, originalmente para mainframes IBM)
- Mais
- Python (compila para bytecode VM intermediário )
- RPG (gerador de programa de relatório)
- Ferrugem
- Scala (compilado em bytecode JVM )
- Esquema (algumas implementações, por exemplo, Gambit)
- SequenceL - puramente funcional, paralelização automática e livre de corrida
- Simula (primeira linguagem orientada a objetos, um superconjunto do ALGOL 60 )
- Smalltalk compila para bytecode independente de plataforma para uma máquina virtual
- Rápido
- ML
- Turing
- Vala (compilador para o sistema de tipo GObject)
- Visual Basic (use Common Intermediate Language (CIL) que é JIT compilado em um tempo de execução nativo)
- Visual FoxPro
- Visual Prolog
- Xojo
Linguagens simultâneas
As linguagens de passagem de mensagens fornecem construções de linguagem para simultaneidade . O paradigma predominante para simultaneidade em linguagens convencionais, como Java, é a simultaneidade de memória compartilhada . As linguagens simultâneas que fazem uso da passagem de mensagens geralmente foram inspiradas por cálculos de processo, como processos sequenciais de comunicação (CSP) ou o cálculo π .
- Ada - linguagem multiuso
- Alef - linguagem concorrente com threads e passagem de mensagens, usada para programação de sistemas nas primeiras versões do Plan 9 da Bell Labs
- Ateji PX, uma extensão da linguagem Java para paralelismo
- Ballerina - uma linguagem projetada para implementar e orquestrar micro-serviços. Fornece um modelo de simultaneidade paralela com base em mensagem.
- ChucK - linguagem de programação específica de domínio para áudio, controle preciso sobre simultaneidade e tempo
- Cilk - um C simultâneo
- Cω - C Omega, uma linguagem de pesquisa que estende C #, usa comunicação assíncrona
- Clojure - um dialeto do Lisp para a máquina virtual Java
- Capela
- Co-array Fortran
- Pascal simultâneo (por Brinch-Hansen)
- Curry
- E - usa promessas, garante que os impasses não ocorram
- Eiffel (através do mecanismo SCOOP , Simple Concurrent Object-Oriented Computation)
- Elixir (roda no Erlang VM)
- Emerald - usa threads e monitores
- Erlang - usa passagem de mensagem assíncrona sem nada compartilhado
- Esquema de Gambit - usando a biblioteca de cupins
- Ir
- Haskell - suporta programação simultânea, distribuída e paralela em várias máquinas
-
Java
- Junte-se a Java - linguagem concorrente baseada em Java
- X10
- Julia
- Joule - linguagem de fluxo de dados, comunica-se por passagem de mensagem
- Limbo - parente de Alef , usado para programação de sistemas no Inferno (sistema operacional)
- MultiLisp - variante do esquema estendida para oferecer suporte ao paralelismo
- occam - fortemente influenciado por processos sequenciais de comunicação (CSP)
- Orc
- Oz - linguagem multiparadigma, suporta estado compartilhado e simultaneidade de passagem de mensagem, e futuros, e Mozart Programming System multi-plataforma Oz
- P
- Pict - essencialmente uma implementação executável do cálculo π de Milner
- Python - usa paralelismo baseado em thread e paralelismo baseado em processo
- Ferrugem
- Scala - implementa atores de estilo Erlang na JVM
- SequenceL - puramente funcional, paralelização automática e livre de corrida
- SR - linguagem de pesquisa
- Paralelo C unificado
- XProc - linguagem de processamento XML, permitindo simultaneidade
Idiomas de colchetes
As linguagens de programação de colchetes ou chaves têm uma sintaxe que define blocos de instrução usando os caracteres colchetes ou chaves {
e}
. Esta sintaxe originado com BCPL (1966), e foi popularizado por C . Muitas linguagens de chaves descendem de ou são fortemente influenciadas por C. Exemplos de linguagens de chaves incluem:
- ABCL / c +
- Alef
- AWK
- B
- ac
- BCPL
- Bailarina
- C - desenvolvido por volta de 1970 na Bell Labs
- C ++
- C #
- Ceilão
- ChucK - linguagem de programação de áudio
- Cilk - C simultâneo para programação paralela multithread
- Cyclone - uma variante C mais segura
- D
- Dardo
- DASL - baseado em Java
- E
- eC
- ECMAScript
- GLSL
- HLSL
- ICI
- Java
- LPC
- MEL
- Nemerle - combina recursos C # e ML, fornece habilidades de extensão de sintaxe
- PCASTL
- Perl
- PHP
- Pico
- Pique
- PowerShell
- R
- Ferrugem
- Gíria
- Escala (chaves opcionais)
- sed
- SuperCollider
- Rápido
- UnrealScript
- Yorick
- YASS
Linguagens de Dataflow
As linguagens de programação de fluxo de dados contam com uma representação (geralmente visual) do fluxo de dados para especificar o programa. Freqüentemente usado para reagir a eventos discretos ou para processar fluxos de dados. Exemplos de linguagens de fluxo de dados incluem:
Linguagens orientadas a dados
Linguagens orientadas a dados fornecem maneiras poderosas de pesquisar e manipular as relações que foram descritas como tabelas de relacionamento de entidade que mapeiam um conjunto de coisas em outros conjuntos. Exemplos de linguagens orientadas a dados incluem:
- Clarion
- Clipper
- dBase uma linguagem de acesso a banco de dados relacional
- Gremlin
- MUMPS (uma linguagem de uso geral padrão ANSI com especializações para trabalho de banco de dados)
- Caché (semelhante ao MUMPS)
- RDQL
- SPARQL
- SQL
- Tutorial D - veja também O Terceiro Manifesto
- Visual FoxPro - um mecanismo RDBMS nativo, orientado a objetos, RAD
- WebDNA
- Wolfram Language
Linguagens de mesa de decisão
As tabelas de decisão podem ser usadas como um auxílio para esclarecer a lógica antes de escrever um programa em qualquer linguagem, mas na década de 1960 várias linguagens foram desenvolvidas em que a lógica principal é expressa diretamente na forma de uma tabela de decisão, incluindo:
Linguagens declarativas
Linguagens declarativas expressam a lógica de uma computação sem descrever seu fluxo de controle em detalhes. A programação declarativa contrasta com a programação imperativa por meio de linguagens de programação imperativas, onde o fluxo de controle é especificado por ordens seriais (imperativos). Linguagens de programação (puras) funcionais e baseadas em lógica também são declarativas e constituem as principais subcategorias da categoria declarativa. Esta seção lista exemplos adicionais que não estão nessas subcategorias.
- Analytica
- Ant (combina programação declarativa e programação imperativa )
- Curry
- Cifra
- Distributed Application Specification Language (DASL) (combina programação declarativa e programação imperativa )
- ECL
- Gremlin
- Brilho
- Mercúrio
- MetaPost
- Modelica
- Prolog
- QML
- Onça
- RDQL
- SequenceL - puramente funcional, paralelização automática e livre de corrida
- SPARQL
- SQL (apenas DQL, não DDL, DCL e DML)
- Wolfram Language
- xBase
- Transformações XSL
Linguagens incorporáveis
No código fonte
Linguagens incorporáveis de origem incorporam pequenos pedaços de código executável dentro de um pedaço de texto de forma livre, geralmente uma página da web.
As linguagens incorporadas do lado do cliente são limitadas pelas capacidades do navegador ou cliente pretendido. Eles visam fornecer dinamismo às páginas da web sem a necessidade de entrar em contato novamente com o servidor.
As linguagens incorporadas do lado do servidor são muito mais flexíveis, pois quase todas as linguagens podem ser incorporadas a um servidor. O objetivo de ter fragmentos de código do lado do servidor embutidos em uma página da web é gerar marcação adicional dinamicamente; o próprio código desaparece quando a página é veiculada, para ser substituído por sua saída.
Lado do servidor
- PHP
- VBScript
- SMX - dedicado a páginas da web
- Tcl - lado do servidor no NaviServer e um componente essencial nos sistemas da indústria eletrônica
- WebDNA - dedicado a sites baseados em banco de dados
Os exemplos acima são especialmente dedicados a esse propósito. Um grande número de outras linguagens, como Erlang , Scala , Perl e Ruby podem ser adaptadas (por exemplo, sendo transformadas em módulos Apache ).
Lado do cliente
- ActionScript
- JavaScript (também conhecido como ECMAScript ou JScript)
- VBScript (somente Windows)
No código do objeto
Uma ampla variedade de linguagens dinâmicas ou de script pode ser incorporada ao código executável compilado. Basicamente, o código-objeto do interpretador da linguagem precisa ser vinculado ao executável. Fragmentos de código-fonte para a linguagem incorporada podem então ser passados para uma função de avaliação como strings. As linguagens de controle de aplicativos podem ser implementadas dessa forma, se o código-fonte for inserido pelo usuário. Idiomas com pequenos intérpretes são preferidos.
Linguagens de programação educacional
Linguagens desenvolvidas principalmente com a finalidade de ensino e aprendizagem de programação.
Linguagens esotéricas
Uma linguagem de programação esotérica é uma linguagem de programação projetada como um teste dos limites do design de uma linguagem de programação de computador, como uma prova de conceito ou como uma piada.
Linguagens de extensão
Linguagens de programação de extensão são linguagens incorporadas em outro programa e usadas para aproveitar seus recursos em scripts de extensão.
- AutoLISP (específico para AutoCAD )
- BeanShell
- CAL
- C / AL (C / LADO)
- Astúcia
- Emacs Lisp
- JavaScript e alguns dialetos, por exemplo, JScript
- Lua (embutido em muitos jogos)
- OpenCL (extensão de C e C ++ para usar a GPU e extensões paralelas da CPU)
- OptimJ (extensão de Java com suporte de linguagem para escrever modelos de otimização e abstrações poderosas para processamento de dados em massa)
- Perl
- Pique
- Python (embutido no Maya, Blender e outros pacotes de animação 3-D)
- Rexx
- Ruby (Google SketchUp)
- Gíria
- SQL
- Esquilo
- Tcl
- Script Vim (vim)
- Visual Basic for Applications (VBA)
- Windows PowerShell
Linguagens de quarta geração
As linguagens de programação de quarta geração são linguagens de alto nível construídas em torno de sistemas de banco de dados. Eles geralmente são usados em ambientes comerciais.
- 1C: linguagem de programação empresarial
- ABAP
- CorVision
- GraphTalk do CSC
- CA-IDEAL (Ambiente de desenvolvimento interativo para uma vida de aplicativo) para uso com CA-DATACOM / DB
- Gerador de relatórios Easytrieve (agora CA-Easytrieve Plus)
- FOCO
- IBM Informix-4GL
- LINC 4GL
- MAPPER ( Unisys / Sperry ) - agora parte do BIS
- MARK-IV ( Sterling / Informática ) agora VISÃO: CONSTRUTOR de CA
- NATURAL
- Progresso 4GL
- PV-Wave
- LiveCode (não baseado em um banco de dados; ainda assim, o objetivo é trabalhar em um nível mais alto de abstração do que 3GLs)
- SAS
- SQL
- Ubercode (VHLL ou linguagem de nível muito alto)
- Uniface
- Visual DataFlex
- Visual FoxPro
- xBase
Linguagens funcionais
As linguagens de programação funcional definem programas e sub-rotinas como funções matemáticas e os tratam como de primeira classe. Muitas das chamadas linguagens funcionais são "impuras", contendo características imperativas. Muitas linguagens funcionais estão vinculadas a ferramentas de cálculo matemático. As linguagens funcionais incluem:
Puro
Impuro
- APL
- ATS
- CAL
- C ++ (desde C ++ 11 )
- C #
- VB.NET
- Ceilão
- D
- Dardo
- Ondulação
- ECMAScript
- Erlang
- F #
- Flix
- Groovy
- Saltar
- J
- Java (desde a versão 8)
- Julia
- Kotlin
-
Lisp
- Clojure
- Lisp Comum
- Dylan
- Emacs Lisp
- LFE
- Pequeno b
- Logotipo
-
Esquema
- Racket (anteriormente PLT Scheme)
- Chá
- Mathematica
- ML
- Nemerle
- Nim
- Opala
- OPS5
- Perl
- PHP
- Pitão
- Q (linguagem de programação equacional)
- Q (linguagem de programação da Kx Systems)
- R
- Raku
- REBOL
- vermelho
- Rubi
- REFAL
- Ferrugem
- Scala
- Rápido
- Planilhas
- Tcl
- Wolfram Language
Linguagens de descrição de hardware
Na eletrônica, uma linguagem de descrição de hardware (HDL) é uma linguagem de computador especializada usada para descrever a estrutura, o projeto e a operação de circuitos eletrônicos e, mais comumente, de circuitos lógicos digitais. As duas variedades de HDL mais amplamente usadas e bem suportadas usadas na indústria são Verilog e VHDL . As linguagens de descrição de hardware incluem:
HDLs para design de circuito analógico
- Verilog-AMS (Verilog para analógico e sinal misto)
- VHDL-AMS (VHDL com extensão analógica / sinal misto)
HDLs para design de circuito digital
Linguagens imperativas
As linguagens de programação imperativas podem ser multiparadigma e aparecer em outras classificações. Aqui está uma lista de linguagens de programação que seguem o paradigma imperativo :
- Ada
- ALGOL 58
- ALGOL 60 (design de linguagem muito influente)
- BASIC
- C
- C ++
- C #
- Ceilão
- FRIO
- COBOL
- D
- ECMAScript
- FORTRAN
- GAUSS
- Ir
- Groovy
- Java
- Julia
- Lua
- MATLAB
- Linguagens de máquina
- Modula-2 , Modula-3
- CAXUMBA
- Nim
- OCaml
- Oberon
- Object Pascal
- Pascal
- Perl
- PHP
- PL / I
- PowerShell
- PROSA
- Pitão
- Rubi
- Ferrugem
- Barato
- Rápido
- Tcl
- Wolfram Language
Linguagens de modo interativo
As linguagens de modo interativo agem como uma espécie de shell: expressões ou declarações podem ser inseridas uma de cada vez, e o resultado de sua avaliação é visto imediatamente. O modo interativo também é denominado loop de leitura-avaliação (REPL).
- APL
- BASIC (alguns dialetos)
- Clojure
- Lisp Comum
- Dart (com Observatório ou ferramentas de desenvolvedor Dartium)
- ECMAScript
- Erlang
- Elixir (com iex)
- F #
- Fril
- GAUSS
- Groovy
- Haskell (com o interpretador GHCi ou Hugs)
- IDL
- J
- Java (desde a versão 9)
- Julia
- Lua
- MUMPS (uma linguagem de uso geral padrão ANSI)
- Bordo
- Mathematica ( linguagem Wolfram )
- MATLAB
- ML
- OCaml
- Perl
- PHP
- Pique
- PostScript
- Prolog
- Pitão
- PROSA
- R
- REBOL
- Rexx
- Ruby (com IRB )
- Scala
- Esquema
- Smalltalk (em qualquer lugar em um ambiente Smalltalk)
- S-Lang (com o shell S-Lang, slsh)
- Barato
- Rápido
- Tcl (com o shell Tcl, tclsh)
- Shell Unix
- Windows PowerShell ( CLI baseada em .NET )
- Visual FoxPro
Linguagens interpretadas
Linguagens interpretadas são linguagens de programação nas quais os programas podem ser executados a partir da forma de código-fonte, por um intérprete. Teoricamente, qualquer linguagem pode ser compilada ou interpretada, portanto, o termo linguagem interpretada geralmente se refere a linguagens que normalmente são interpretadas em vez de compiladas.
- Formiga
- APL
- Linguagem de script AutoHotkey
- Linguagem de script AutoIt
- BASIC (alguns dialetos)
- Linguagem de programação para negócios (PL / B, anteriormente DATABUS, versões posteriores adicionadas compilação opcional)
- Eiffel (via tecnologia Melting Ice em EiffelStudio )
- Emacs Lisp
- Linguagem do GameMaker
- Groovy
- J
- Julia (compilado em tempo real para o código de máquina , mas existe um transpiler Julia2C )
- JavaScript
- Lisp (versões anteriores, pré-1962 e algumas experimentais; sistemas Lisp de produção são compiladores, mas muitos deles ainda fornecem um interpretador, se necessário)
- LPC
- Lua
- MUMPS (uma linguagem de uso geral padrão ANSI)
- Bordo
- Mathematica
- MATLAB
- OCaml
- Pascal (implementações iniciais)
- PCASTL
- Perl
- PHP
- PostScript
- PowerShell
- PROSA
- Pitão
- Rexx
- R
- REBOL
- Rubi
- Gíria
- Barato
- ML padrão (SML)
- Rodar
- Tcl
- Chá
- TorqueScript
- linguagem de script thinBasic
- VBScript
- Windows PowerShell - CLI baseada em .NET
- Wolfram Language
- Algumas linguagens de script - abaixo
Linguagens iterativas
Linguagens iterativas são construídas em torno de geradores de oferta .
Idiomas por tipo de gerenciamento de memória
Linguagens de coleta de lixo
A coleta de lixo (GC) é uma forma de gerenciamento automático de memória. O coletor de lixo tenta recuperar a memória que foi alocada pelo programa, mas não é mais usada.
Linguagens com gerenciamento manual de memória
Linguagens com gerenciamento de memória determinística
Idiomas com contagem automática de referência (ARC)
Linguagens baseadas em lista - LISPs
Linguagens baseadas em lista são um tipo de linguagem estruturada de dados que se baseia na estrutura de dados de lista .
Pequenas línguas
Pequenos idiomas servem a um domínio de problema especializado.
- awk - usado para manipulação de arquivo de texto.
- Cometa - usado para resolver problemas complexos de otimização combinatória em áreas como alocação de recursos e programação
- sed - analisa e transforma o texto
- SQL - tem apenas algumas palavras-chave e não todas as construções necessárias para uma linguagem de programação completa - muitos sistemas de gerenciamento de banco de dados estendem SQL com construções adicionais como uma linguagem de procedimento armazenado
Linguagens baseadas em lógica
As linguagens baseadas em lógica especificam um conjunto de atributos que uma solução deve ter, em vez de um conjunto de etapas para obter uma solução.
As linguagens notáveis que seguem este paradigma de programação incluem:
- ALF
- Alma-0
- CLACL (linguagem CLAC)
- Curry
- Fril
- Flix (uma linguagem de programação funcional com restrições Datalog de primeira classe)
- Janus
- λProlog (uma linguagem de programação lógica com tipagem polimórfica, programação modular e programação de ordem superior)
- Oz , e Mozart Programming System multi-plataforma Oz
-
Prolog (formula dados e o mecanismo de avaliação do programa como uma forma especial de lógica matemática chamada lógica de Horn e um mecanismo de prova geral chamado resolução lógica )
- Mercúrio (baseado no Prolog)
- Visual Prolog (extensão Prolog orientada a objetos)
- CORDA
Linguagens de máquina
As linguagens de máquina são executáveis diretamente pela CPU de um computador. Eles são normalmente formulados como padrões de bits, geralmente representados em octal ou hexadecimal . Cada padrão de bit faz com que os circuitos da CPU executem uma das operações fundamentais do hardware. A ativação de entradas elétricas específicas (por exemplo, pinos de pacote de CPU para microprocessadores) e configurações lógicas para valores de estado de CPU controlam a computação do processador. Linguagens de máquina individuais são específicas para uma família de processadores; o código de linguagem de máquina para uma família de processadores não pode ser executado diretamente em processadores de outra família, a menos que os processadores em questão tenham hardware adicional para suportá-lo (por exemplo, os processadores DEC VAX incluíram um modo de compatibilidade PDP-11). Eles são (essencialmente) sempre definidos pelo desenvolvedor da CPU, não por terceiros. A versão simbólica, a linguagem assembly do processador , também é definida pelo desenvolvedor, na maioria dos casos. Alguns conjuntos de instruções de código de máquina comumente usados são:
-
BRAÇO
- 32 bits original
- Instruções Thumb de 16 bits (subconjunto ou registros usados)
- 64 bits (grande mudança de arquitetura, mais registros)
- DEZ :
- Intel 8008 , 8080 e 8085
-
x86 :
-
X86 de 16 bits , usado pela primeira vez no Intel 8086
- Intel 8086 e 8088 (o último foi usado no primeiro IBM PC )
- Intel 80186
- Intel 80286 (o primeiro processador x86 com modo protegido , usado no IBM AT )
- IA-32 , introduzido no 80386
- x86-64 A especificação original foi criada pela AMD . Existem variantes de fornecedores, mas são essencialmente as mesmas:
-
X86 de 16 bits , usado pela primeira vez no Intel 8086
- IBM
- MIPS
- Motorola 6800
- Família Motorola 68000 (CPUs usadas nos primeiros computadores Apple Macintosh e primeiros Sun )
-
MOS Technology 65xx
- 6502 (CPU para VIC-20 , Apple II e Atari 800 )
- 6510 (CPU para Commodore 64 )
- Western Design Center 65816/65802 (CPU para Apple IIGS e (variante) Super Nintendo Entertainment System )
- National Semiconductor NS320xx
-
POWER , usado pela primeira vez no IBM RS / 6000
- PowerPC - usado no Power Macintosh e em muitos consoles de jogos , principalmente da sétima geração .
- Power ISA
- Sun Microsystems (agora Oracle ) SPARC
- UNIVAC
- MCST Elbrus 2000
Linguagens macro
Linguagens de macro de substituição textual
Linguagens de macro transformam um arquivo de código-fonte em outro. Uma "macro" é essencialmente um pequeno trecho de texto que se expande para um mais longo (não deve ser confundido com macros higiênicas ), possivelmente com substituição de parâmetro. Eles são freqüentemente usados para pré - processar o código-fonte. Os pré-processadores também podem fornecer recursos como a inclusão de arquivos .
Linguagens de macro podem ser restritas a agir em regiões de código especialmente rotuladas (pré-fixadas com um #
no caso do pré-processador C). Alternativamente, eles podem não, mas neste caso ainda é frequentemente indesejável (por exemplo) expandir uma macro embutida em um literal de string , então eles ainda precisam de um conhecimento rudimentar da sintaxe. Sendo esse o caso, muitas vezes ainda são aplicáveis a mais de um idioma. Compare com as linguagens incorporáveis de origem, como o PHP , que são repletas de recursos.
- cpp (o pré-processador C)
- m4 (originalmente da AT&T, empacotado com Unix)
- ML / I (processador de macro de uso geral)
Linguagens de macro do aplicativo
Linguagens de script como Tcl e ECMAScript ( ActionScript , ECMAScript para XML , JavaScript , JScript ) foram incorporadas aos aplicativos. Algumas vezes são chamadas de "linguagens macro", embora em um sentido um pouco diferente das macros de substituição textual como m4 .
Linguagens de metaprogramação
Metaprogramação é a escrita de programas que escrevem ou manipulam outros programas, incluindo eles próprios, como seus dados ou que fazem parte do trabalho que é feito em tempo de execução durante o tempo de compilação . Em muitos casos, isso permite que os programadores façam mais no mesmo período de tempo que levariam para escrever todo o código manualmente.
Linguagens multiparadigmáticas
As linguagens multiparadigmas oferecem suporte a mais de um paradigma de programação . Eles permitem que um programa use mais de um estilo de programação . O objetivo é permitir que os programadores usem a melhor ferramenta para um trabalho, admitindo que nenhum paradigma resolve todos os problemas da maneira mais fácil ou eficiente.
- 1C: Linguagem de programação empresarial (genérica, imperativa, orientada a objetos, baseada em protótipo, funcional)
- Ada ( concorrente , distribuído , genérico ( metaprogramação de modelo ), imperativo , orientado a objetos ( baseado em classe ))
- ALF ( funcional , lógico )
- Alma-0 (restrição, imperativo, lógica)
- APL (funcional, imperativo, orientado a objetos (baseado em classe))
- BETA (funcional, imperativo, orientado a objetos (baseado em classe))
- C ++ (genérico, imperativo, orientado a objetos (baseado em classe), funcional, metaprogramação)
- C # (genérico, imperativo, orientado a objetos (baseado em classe), funcional, declarativo)
- Ceilão (genérico, imperativo, orientado a objetos (baseado em classe), funcional, declarativo)
- ChucK (imperativo, orientado a objeto, baseado em tempo, simultâneo, instantâneo )
- Cobra (genérico, imperativo, orientado a objetos (baseado em classe), funcional, contratual)
- Common Lisp (funcional, imperativo, orientado a objetos (baseado em classes), orientado a aspectos (o usuário pode adicionar outros paradigmas, por exemplo, lógica))
- Curl (funcional, imperativo, orientado a objetos (baseado em classe), metaprogramação)
- Curry (concorrente, funcional, lógico)
- D (genérico, imperativo, funcional, orientado a objetos (baseado em classe), metaprogramação)
- Delphi Object Pascal (genérico, imperativo, orientado a objetos (baseado em classe), metaprogramação)
- Dylan (funcional, orientado a objetos (baseado em classes))
- eC (genérico, imperativo, orientado a objetos (baseado em classe))
- ECMAScript (funcional, imperativo, orientado a objetos (baseado em protótipo))
- Eiffel (imperativo, orientado a objetos (baseado em classe), genérico, funcional (agentes), simultâneo (SCOOP))
- F # (funcional, genérico, orientado a objetos (baseado em classes), orientado a linguagem)
- Fantom (funcional, orientado a objetos (baseado em classes))
- Go (imperativo, processual),
- Groovy (funcional, orientado a objetos (baseado em classe), imperativo, procedural)
- Porto
- Saltar
- J (funcional, imperativo, orientado a objetos (baseado em classe))
- Julia (imperativo, envio múltiplo ("orientado a objetos"), funcional, metaprogramação)
- LabVIEW ( fluxo de dados , visual )
- Lava (orientado a objetos (baseado em classe), visual)
- Lua (funcional, imperativo, orientado a objetos ( baseado em protótipo ))
- Mercúrio (funcional, lógico, orientado a objetos)
- Protocolos de metaobjetos (orientados a objetos (baseados em classes, baseados em protótipos))
- Nemerle (funcional, orientado a objetos (baseado em classe), imperativo, metaprogramação)
- Objective-C (imperativo, orientado a objetos (baseado em classe), reflexivo)
- OCaml (funcional, imperativo, orientado a objetos (baseado em classe), modular)
- Oz (funcional (avaliação: ansioso , preguiçoso ), lógico, restrição , imperativo, orientado a objetos (baseado em classe), concorrente, distribuído) e Mozart Programming System multi-plataforma Oz
- Object Pascal (imperativo, orientado a objetos (baseado em classes))
- Perl (imperativo, funcional (não pode ser puramente funcional), orientado a objetos, orientado a classes, orientado a aspectos (por meio de módulos))
- PHP (imperativo, orientado a objetos, funcional (não pode ser puramente funcional))
- Pike (linguagem de programação dinâmica interpretada, de uso geral, de alto nível, de plataforma cruzada)
- Prograph (fluxo de dados, orientado a objetos (baseado em classe), visual)
- Python (funcional, compilado, interpretado, orientado a objetos (baseado em classe), imperativo, metaprogramação, extensão, impuro, modo interativo, iterativo, reflexivo, script)
- R (matriz, interpretado, impuro, modo interativo, baseado em lista, baseado em protótipo orientado a objeto, script)
- Racket (funcional, imperativo, orientado a objetos (baseado em classe) e pode ser estendido pelo usuário)
- REBOL (funcional, imperativo, orientado a objetos (baseado em protótipo), metaprogramação (dialetada))
- Vermelho (funcional, imperativo, orientado a objetos (baseado em protótipo), metaprogramação (dialetada))
- ROOP (imperativo, lógico, orientado a objetos (baseado em classe), baseado em regras)
- Ruby (imperativo, funcional, orientado a objetos (baseado em classe), metaprogramação)
- Rust (concorrente, funcional, imperativo, orientado a objetos, genérico, metaprogramação, compilado)
- Scala (funcional, orientado a objetos)
- Seed7 (imperativo, orientado a objetos, genérico)
- SISAL (simultâneo, fluxo de dados, funcional)
- Planilhas (funcionais, visuais)
- Swift (orientado a protocolo, orientado a objetos, funcional, imperativo, estruturado em blocos)
-
Tcl (funcional, imperativo, orientado a objetos (baseado em classe))
- Chá (funcional, imperativo, orientado a objetos (baseado em classe))
- Windows PowerShell (funcional, imperativo, pipeline, orientado a objetos (baseado em classe))
- Wolfram Language
Análise numérica
Várias linguagens de programação de propósito geral, como C e Python , também são usadas para computação técnica. Esta lista se concentra em linguagens quase exclusivamente usadas para computação técnica.
- FreeMat
- GAUSS
- GAMS
- GNU Octave
- Julia
- Sistema Klerer-May
- Mathematica
- MATLAB
- PROSA
- R
- Sêneca - uma variante de Oberon
- Scilab
- Wolfram Language
Idiomas não baseados no inglês
- Chinês BASIC - Chinês
- Fjölnir - islandês
- Língua Symbolique d'Enseignement - Francês
- Lexico - espanhol
- Rapira - Russo
- ezhil - tâmil
Linguagens baseadas em classes orientadas a objetos
Linguagens de programação orientadas a objetos baseadas em classes oferecem suporte a objetos definidos por suas classes. As definições de classe incluem dados de membros. A passagem de mensagens é um conceito-chave (se não o conceito-chave) em linguagens orientadas a objetos.
Funções polimórficas parametrizadas pela classe de alguns de seus argumentos são normalmente chamadas de métodos. Em linguagens com despacho único , as classes normalmente também incluem definições de método. Em linguagens com envio múltiplo , os métodos são definidos por funções genéricas . Existem exceções onde os métodos de despacho único são funções genéricas (por exemplo , o sistema de objetos de Bigloo ).
Envio múltiplo
- Lisp Comum
- Cecil
- Dylan
- Julia (o conceito de "objeto" não está presente em Julia, mas a linguagem permite vários despachos em diferentes tipos em tempo de execução)
Despacho único
- ActionScript 3.0
- Ator
- Ada 95 e Ada 2005 (linguagem multiuso)
- APL
- BETA
- C ++
- C #
- Ceilão
- Oxygene (anteriormente denominado Chrome)
- Mandril
- Cobra
- Fusão a frio
- Ondulação
- D
- Linguagem de especificação de aplicativo distribuído (DASL)
- Delphi Object Pascal
- E
- GNU E
- eC
- Eiffel
- F-Script
- Fortran 2003
- Fortaleza
- Gambas
- Linguagem do Game Maker
- Porto
- J
- Java
- LabVIEW
- Lava
- Lua
-
Modula-2 (abstração de dados, ocultação de informações, tipagem forte, modularidade total)
- Modula-3 (adicionou mais recursos orientados a objetos ao Modula-2)
- Nemerle
- NetRexx
- Oberon-2 (equivalência completa de orientação a objetos de maneira original, fortemente tipada e Wirthiana)
- Object Pascal
- Objeto REXX
- Objective-C (um superconjunto de C adicionando um modelo de objeto derivado de Smalltalk e sintaxe de passagem de mensagem)
- OCaml
- Oz, sistema de programação de Mozart
- Perl 5
- PHP
- Pique
- Prograph
- Python (linguagem interpretativa, opcionalmente orientada a objetos)
- Revolução (o programador não consegue pegar os objetos)
- Rubi
- Scala
- Barato
- Simula (primeira linguagem orientada a objetos, desenvolvida por Ole-Johan Dahl e Kristen Nygaard )
- Smalltalk (orientação a objetos pura, desenvolvido na Xerox PARC )
- RODAR
- SuperCollider
- VBScript (linguagem de 'macro scripting' do Microsoft Office)
- Visual DataFlex
- Visual FoxPro
- Visual Prolog
- X ++
- Xojo
- XOTcl
Linguagens baseadas em protótipos orientadas a objetos
Linguagens baseadas em protótipo são linguagens orientadas a objetos em que a distinção entre classes e instâncias foi removida:
- 1C: linguagem de programação empresarial
- Linguagem simultânea baseada em ator (ABCL, ABCL / 1, ABCL / R, ABCL / R2, ABCL / c +)
- Agora
- Cecil
-
ECMAScript
- ActionScript
- ECMAScript para XML
- JavaScript (primeiro denominado Mocha, depois LiveScript)
- JScript
- Etoys em Squeak
- Io
- Lua
- MOO
- NewtonScript
- Obliq
- R
- REBOL
- vermelho
- Auto (primeira linguagem baseada em protótipo, derivada de Smalltalk )
- TADS
Linguagens de regras proibidas
Linguagens de regras externas denotam blocos de código por sua indentação .
Linguagens procedimentais
As linguagens de programação procedimental são baseadas no conceito de unidade e escopo (a faixa de visualização de dados) de uma instrução de código executável. Um programa procedural é composto de uma ou mais unidades ou módulos, codificados pelo usuário ou fornecidos em uma biblioteca de códigos; cada módulo é composto por um ou mais procedimentos, também chamados de função, rotina, sub-rotina ou método, dependendo da linguagem. Exemplos de linguagens procedurais incluem:
- Ada (linguagem multiuso)
- ALGOL 58
-
ALGOL 60 (design de linguagem muito influente)
- SMALL Machine ALGOL Like Language
- Alma-0
- BASIC (falta grande parte da modularidade nas versões (especialmente) anteriores a cerca de 1990)
- BCPL
- BENÇÃO
- C
- C ++ (C com objetos e muito mais, como genéricos por meio de STL)
- C # (semelhante a Java / C ++)
- Ceilão
- FRIO
- ChucK (sintaxe semelhante a C / Java, com novos elementos de sintaxe para tempo e paralelismo)
- COBOL
- Cobra
- Fusão a frio
- CPL (Linguagem de Programação Combinada)
- Ondulação
- D
- Distributed Application Specification Language (DASL) (combina programação declarativa e programação imperativa )
- eC
-
ECMAScript
- ActionScript
- ECMAScript para XML
- JavaScript (primeiro denominado Mocha, depois LiveScript)
- JScript
- Fonte
- Eiffel
- Adiante
- Fortran (melhor modularidade em padrões posteriores)
- GAUSS
- Ir
- Porto
- HyperTalk
- Java
- JOVIAL
- Julia
- Língua H
- Laço
- Modula-2 (fundamentalmente baseado em módulos)
- Mathematica
- MATLAB
- Mesa
- MUMPS (o primeiro lançamento era mais modular do que outras linguagens da época; o padrão se tornou ainda mais modular desde então)
- Nemerle
- Nim
- Oberon , Oberon-2 (acompanhamentos melhorados, menores, mais rápidos e mais seguros para Modula-2)
- OCaml
- Occam
- Oriel
-
Pascal (sucessor do ALGOL 60, predecessor do Modula-2)
- Pascal grátis (FPC)
- Object Pascal , Delphi
- PCASTL
- Perl
- Pique
- PL / C
- PL / I (grande linguagem de uso geral, originalmente para mainframes IBM)
- Mais
- PowerShell
- PROSA
- Pitão
- R
- Rapira
- RPG
- Ferrugem
- Gíria
- VBScript
- Visual básico
- Visual FoxPro
- Wolfram Language
- Microsoft Dynamics AX (X ++)
Linguagens de consulta
Linguagem Reflexiva
As linguagens reflexivas permitem que os programas examinem e possivelmente modifiquem sua estrutura de alto nível em tempo de execução ou tempo de compilação. Isso é mais comum em alto nível linguagens de programação de máquina virtual como Smalltalk , e menos comum em linguagens de programação de baixo nível como C . Linguagens e plataformas de apoio à reflexão:
- Befunge
- Ceilão
- Charme
- Mandril
- CLI
- Cobra
- Component Pascal BlackBox Component Builder
- Ondulação
- Cifra
- Delphi Object Pascal
- eC
- ECMAScript
- Emacs Lisp
- Eiffel
- Porto
- Julia
- JVM
- Lisp
- Lua
- Sistema Maude
- Oberon-2 - Sistema ETH Oberon
- Objective-C
- PCASTL
- Perl
- PHP
- Pico
- Poplog
- PowerShell
- Prolog
- Pitão
- REBOL
- vermelho
- Rubi
- Smalltalk (orientação de objeto pura, originalmente do Xerox PARC )
- Snobol
- Tcl
- Wolfram Language
- XOTcl
- X ++
- Xojo
Linguagens baseadas em regras
Linguagens baseadas em regras instanciam regras quando ativadas por condições em um conjunto de dados. De todas as ativações possíveis, algum conjunto é selecionado e as instruções pertencentes a essas regras são executadas. As linguagens baseadas em regras incluem:
Linguagens de script
" Linguagem de script " tem dois significados aparentemente diferentes, mas na verdade semelhantes. Em um sentido tradicional, as linguagens de script são projetadas para automatizar tarefas usadas com frequência que geralmente envolvem chamar ou passar comandos para programas externos. Muitos programas de aplicativos complexos fornecem linguagens integradas que permitem aos usuários automatizar tarefas. Aqueles que são interpretativos são freqüentemente chamados de linguagens de script.
Recentemente, muitos aplicativos incorporaram linguagens de script tradicionais, como Perl ou Visual Basic , mas ainda existem algumas linguagens de script nativas em uso. Muitas linguagens de script são compiladas em bytecode e, em seguida, esse bytecode independente de plataforma (geralmente) é executado por meio de uma máquina virtual (compare com a máquina virtual Java ).
- AppleScript
- AutoHotKey
- AutoIt
- AWK
- ac
- BeanShell
- Bash
- Ch (interpretador C / C ++ incorporável)
- CLI
- CLIST
- Fusão a frio
-
ECMAScript
- ActionScript
- ECMAScript para XML
- JavaScript (primeiro denominado Mocha, depois LiveScript)
- JScript
- Fonte
- Emacs Lisp
- CMS EXEC
- EXEC 2
- F-Script
- Linguagem Game Maker (GML)
- ICI
- Io
- JASS
- Julia (ainda, compilada em tempo real para o código de máquina )
- JVM
- Ksh
- Laço
- Lua
- MAXScript
- MEL
- Objeto REXX (OREXX, OOREXX)
- Oriel
- Pascal Script
- Perl
- PHP (destinado a servidores Web)
- PowerShell
- Pitão
- R
- REBOL
- vermelho
- Rexx
- Revolução
- Rubi
- Sh
- Conversa fiada
- Gíria
- sed
- Chá
- Tcl
- TorqueScript
- VBScript
- WebDNA , dedicado a sites baseados em banco de dados
- Windows PowerShell ( CLI baseada em .NET )
- Winbatch
- Muitas linguagens de comando de shell, como shell Unix ou DIGITAL Command Language (DCL) no VMS, possuem habilidades de script poderosas.
Linguagens baseadas em pilha
Linguagens baseadas em pilha são um tipo de linguagem estruturada em dados que se baseia na estrutura de dados em pilha .
Linguagens síncronas
Linguagens de programação síncronas são otimizadas para sistemas reativos de programação, sistemas que são frequentemente interrompidos e devem responder rapidamente. Muitos desses sistemas também são chamados de sistemas de tempo real e são usados com frequência em sistemas embarcados .
Exemplos:
Linguagens de sombreamento
Uma linguagem de sombreamento é uma linguagem de programação gráfica adaptada para programar efeitos de sombreamento. Essas formas de linguagem geralmente consistem em tipos de dados especiais, como "cor" e "normal". Devido à variedade de mercados-alvo para computação gráfica 3D.
Renderização em tempo real
Eles fornecem abstração de hardware superior e um modelo de programação mais flexível do que os paradigmas anteriores que codificavam as equações de transformação e sombreamento. Isso dá ao programador maior controle sobre o processo de renderização e entrega um conteúdo mais rico com menor sobrecarga.
- Adobe Graphics Assembly Language (AGAL)
- Linguagem assembly ARB (assembly ARB)
- Linguagem de sombreamento OpenGL (GLSL ou glslang)
- High-Level Shading Language (HLSL) ou DirectX Shader Assembly Language
- Linguagem de Shader para PlayStation (PSSL)
- Metal Shading Language (MSL)
- CG
- Shining Rock Shading Language (SRSL)
- Fagulha
- Linguagem de sombreamento nitroso
- Godot Shading Language
Renderização offline
Linguagens de sombreamento usadas na renderização offline produzem qualidade de imagem máxima. O processamento de tais sombreadores é demorado. O poder computacional necessário pode ser caro devido à sua capacidade de produzir resultados fotorrealísticos.
- RenderMan Shading Language (RSL)
- Linguagem de sombreamento Houdini VEX (VEX)
- Linguagem de sombreamento do Gelato
- Open Shading Language (OSL)
Linguagens de manipulação de sintaxe
Estas línguas ajudar com a geração de analisadores léxicos e analisadores de gramáticas livres de contexto .
- ANTLR
- Coco / R (EBNF com semântica)
- GNU bison (versão da FSF do Yacc)
- GNU Flex (versão FSF do Lex)
- glex / gyacc (compilador-compilador GoboSoft para Eiffel)
- lex (análise lexical, da Bell Labs)
- M4
- Analisar a gramática da expressão (PEG)
- Prolog
- Emacs Lisp
- Lisp
- SableCC
- Esquema
- yacc (mais um compilador-compilador, da Bell Labs)
- JavaCC
Idiomas do sistema
As linguagens de programação do sistema são para tarefas de baixo nível, como gerenciamento de memória ou gerenciamento de tarefas. Uma linguagem de programação do sistema geralmente se refere a uma linguagem de programação usada para a programação do sistema; tais linguagens são projetadas para escrever software de sistema, o que geralmente requer abordagens de desenvolvimento diferentes em comparação com o software de aplicativo.
O software do sistema é um software de computador projetado para operar e controlar o hardware do computador e para fornecer uma plataforma para executar o software do aplicativo. O software do sistema inclui categorias de software como sistemas operacionais, software utilitário, drivers de dispositivo, compiladores e vinculadores. Exemplos de linguagens do sistema incluem:
Língua | Originador | Apareceu pela primeira vez | Influenciado por | Usado para |
---|---|---|---|---|
ESPOL | Burroughs Corporation | 1961 | ALGOL 60 | MCP |
PL / I | IBM , SHARE | 1964 | ALGOL 60, FORTRAN, algum COBOL | Multics |
PL360 | Niklaus Wirth | 1968 | ALGOL 60 | ALGOL W |
C | Dennis Ritchie | 1969 | BCPL | A maioria dos kernels de sistema operacional , incluindo Windows NT e a maioria dos sistemas semelhantes a Unix |
PL / S | IBM | 196x | PL / I | OS / 360 |
BENÇÃO | Universidade Carnegie Mellon | 1970 | ALGOL-PL / I | VMS (porções) |
PL / 8 | IBM | 197x | PL / I | AIX |
PL / MP e PL / MI | IBM | 197x | PL / I | CPF , OS / 400 |
PL-6 | Honeywell, Inc. | 197x | PL / I | CP-6 |
SYMPL | CDC | 197x | JOVIAL | Subsistemas NOS , a maioria dos compiladores, editor FSE |
C ++ | Bjarne Stroustrup | 1979 | C , Simula | Consulte Aplicativos C ++ |
Ada | Jean Ichbiah , S. Tucker Taft | 1983 | ALGOL 68 , Pascal , C ++ , Java , Eiffel | Sistemas embarcados, kernels de SO, compiladores, jogos, simulações, CubeSat , controle de tráfego aéreo e aviônica |
D | Marte Digital | 2001 | C ++ | Múltiplos domínios |
Nim | Andreas Rumpf | 2008 | Ada , Modula-3 , Lisp , C ++ , Object Pascal , Python , Oberon | Kernels de SO, compiladores, jogos |
Ferrugem | Mozilla Research | 2010 | C ++ , Haskell , Erlang , Ruby | Motor de layout servo , sistema operacional Redox |
Rápido | Apple Inc. | 2014 | C , Objective-C , Rust | macOS , desenvolvimento de aplicativos iOS |
Zig | Andrew Kelley | 2016 | C , C ++ , LLVM IR , Go , Rust , JavaScript | Como um substituto para C |
Linguagens de transformação
Linguagens visuais
As linguagens de programação visual permitem que os usuários especifiquem programas de uma forma bidimensional (ou mais), em vez de strings de texto unidimensionais, por meio de layouts gráficos de vários tipos. Algumas linguagens de programação de fluxo de dados também são linguagens visuais.
Línguas wirth
O cientista da computação Niklaus Wirth projetou e implementou várias linguagens influentes.
- ALGOL W
- Euler
-
Modula
-
Modula-2 , Modula-3 , variantes
- Variante Obliq Modula 3
-
Modula-2 , Modula-3 , variantes
- Oberon (Oberon, Oberon-07, Oberon-2)
-
Pascal
- Object Pascal (nome abrangente para Delphi , Free Pascal , Oxygene , outros)
Linguagens baseadas em XML
São linguagens baseadas ou que operam em XML .
Veja também
- Paradigma de programação
- IEC 61131-3 - um padrão para linguagens de controlador lógico programável (PLC)
- Linguagem de programação educacional
- Linguagem de programação esotérica