Lista de linguagens de programação por tipo - List of programming languages by type

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:

Linguagens compiladas

Essas são linguagens normalmente processadas por compiladores , embora teoricamente qualquer linguagem possa ser compilada ou interpretada. Veja também linguagem compilada .

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 π .

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:

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:

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.

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

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.

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.

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

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 :

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).

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.

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:

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:

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.

Idiomas não baseados no inglês

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

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:

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:

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:

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 ).

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.

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.

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 .

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.

Linguagens baseadas em XML

São linguagens baseadas ou que operam em XML .

Veja também

Notas

Referências