ti-enxame.com

Por que existem tantas linguagens de programação? Por que novos idiomas ainda estão sendo criados?

Por que existem tantas linguagens de programação?

E o que leva alguém a criar uma linguagem de programação, apesar de outras línguas já existirem?

51
Moshe

Linguagens de programação evoluem

Novas linguagens de programação geralmente aprendem com as línguas existentes e adicionam, removem e combinam recursos de uma nova maneira. Existem alguns paradigmas diferentes, como orientado a objetos e funcional e muitos idiomas tentam misturar recursos dos dois.

Também há novos problemas que precisam ser resolvidos, por exemplo, o aumento de CPUs multi-core. A solução mais comum para isso foram os threads, mas algumas linguagens de programação tentam resolver o problema de simultaneidade de uma maneira diferente, por exemplo. o modelo do ator. Veja Erlang - Software para um mundo simultâneo

37
Jonas

É um ciclo. Você inicia um novo idioma e fica livre para se livrar de todas as más sintaxes e más escolhas de seus antecessores. Na versão 1, o idioma parece ótimo porque não possui essa bagagem e faz o trabalho. Em versões mais recentes, você começa a experimentar recursos que podem não funcionar, ou traz recursos de outros idiomas mais novos que fazem com que sua sintaxe seja um pouco desagradável. Eis que, depois de mais algumas versões, você percebe que seu idioma agora é tão complicado quanto o que você substituiu, com problemas de sintaxe boba e bagagem herdada. E, de repente, você percebe que, se você criar uma linguagem nova, poderá corrigir tudo isso ...

23
RationalGeek

Pela mesma razão, existem martelos, chaves de fenda, serras de mão, serras de fita, britadeiras, pés de cabra e uma série de outras ferramentas: nem todo idioma é perfeito para todas as tarefas. Algumas linguagens são direcionadas a domínios de problemas específicos: R é particularmente bom para análise estatística, C é particularmente bom para escrever kernels de sistema operacional, Haskell é particularmente bom para cálculos financeiros ou matemáticos, Erlang é particularmente bom em programação simultânea etc.

Além disso, pela mesma razão que as camisas têm cores diferentes: algumas pessoas gostam do "estilo" de um idioma em detrimento de outro.

E, é claro, muitos programadores acham divertido inventar uma nova linguagem, apenas para ver o que acontece, ou talvez porque tenham algum conhecimento sobre linguagens e queiram coçar ou experimentar algumas idéias.

11
mipadi

Porque todos são péssimos (de um jeito ou de outro).

No momento, criamos cerca de 5.000 idiomas para descrever problemas naturais e nenhum deles está disponível para escrever programas (um exemplo seria "inglês").

Até que alguém encontre uma maneira de criar uma linguagem de programação que possa expressar o que você pode expressar em uma frase em uma linguagem natural, ela continuará chegando.

8
Aaron Digulla

Obviamente, uma motivação importante para criar um novo idioma é conseguir algo melhor do que os idiomas já existentes. E como sempre há espaço para melhorias, sempre haverá novos idiomas.

Os interesses comerciais são outro grande motivo. Acredito que é importante, por exemplo, a Microsoft, que eles possam oferecer um idioma para todas as necessidades, para que empresas e desenvolvedores prefiram suas plataformas.

6
Carlos

Código legado. Se você inicia um novo idioma, não precisa ouvir/considerar todas as reclamações ao alterar um idioma antigo. Mesmo que todos concordem que a nova implementação é melhor, ela não pode quebrar o código antigo. E há muitos códigos antigos por aí.

6
JeffO

porque é divertido criar novos idiomas mesmo se eles não tiverem uso real

Uma linguagem de programação esotérica (às vezes reduzida para esolang) é uma linguagem de programação projetada para testar os limites do design da linguagem de programação de computador, como prova de conceito ou piada.

4
jk.

Criar uma linguagem de programação é bastante divertido. É quase um trabalho criativo, já que você não está limitado aos requisitos anteriores. Não é mais tão difícil de implementar, pois você sempre pode compilar em C e compilar o código C para obter um desempenho adequado se estiver escrevendo um compilador em primeiro lugar.

Obviamente, a maioria de nós tem menos boas idéias do que pensamos, por isso muitas vezes acabam decepcionando ou não sendo amadas por ninguém além do designer original.

Pense em qualquer linguagem de programação que você conhece. Você pode facilmente criar várias coisas de que não gosta, certo? Você provavelmente tem idéias de como elas podem ser corrigidas. Com um pouco mais de impulso, supondo que você saiba muito sobre a criação de compiladores (e muitas pessoas sabem), você pode começar a projetar e até implementar o seu próprio.

3
David Thornley

resposta curta e rápida

Reinventando a roda ... Qual é a tendência atual ...

Resposta longa e chata

Muitas pessoas esquecem que "outra nova linguagem semelhante para programadores antigos" é "uma nova linguagem simples para novos programadores".

O que quero dizer com isso?

Bem, para programadores de "vários anos", Java ou C # pode ser uma linguagem de programação adicional para o Cobol existente, (OO/Procedural) Básico, C/C++, enquanto para programadores "novos", = Java ou C # são novas linguagens, enquanto Cobol, (OO/Procedural) Basic, C/C++ não existe para eles, portanto, reinventar a roda se torna uma coisa comum ...

E, se houver uma nova tendência em tecnologia, as pessoas podem criar uma nova linguagem de programação com base nessa tendência, como ecmascript/javascript para a Web e programação funcional ...

Felicidades.

2
umlcat

novas linguagens de programação são criadas por vários motivos diferentes, principalmente porque há um novo paradigma de programação ou devido aos avanços nas pessoas de hardware que criam uma nova linguagem para tirar proveito dos novos recursos de hardware, como multitarefa, etc.

no meu caso, geralmente construo pequenos compiladores (com uma nova linguagem de programação), por motivos especiais. se eu faço muitos jogos e acredito que uma linguagem de programação criada especificamente para o desenvolvimento de jogos resultará em um código menor e um desenvolvimento mais rápido, então eu o construo. e, no final, verifica-se que também pode ser usado para outra programação de uso geral.

Eu acho que a maioria das pessoas que cria linguagens de programação tem um objetivo específico em mente, há quem as crie para fins gerais desde o início. mas a maioria não é.

A propósito, eu acho que existem muitas linguagens de programação, mas centenas de novas sempre serão lançadas. alguns por diversão, outros por um objetivo de nicho, como um projeto escolar ou por centenas de outros motivos. e mais cedo ou mais tarde um novo se tornará popular. Isso nunca vai acabar.

1
Sergio Fernandez

Existem algumas razões, a maioria ocorre porque as pessoas pensam que o que existe não facilita a resolução de alguns conjuntos de problemas. Alguns são apenas por diversão ou por interesse acadêmico.

Eu acho que há um argumento sólido de que a questão de como você cria a linguagem perfeita ainda não foi resolvida (e talvez nunca seja). Portanto, desde que as pessoas tenham novas idéias sobre o que tornaria uma ótima linguagem, as pessoas continuarão tentando. Algumas dessas tentativas mapearão novos espaços legais como Erlang e outras fracassarão, mas desde que alguma coisa seja aprendida com o flop, tudo bem.

0
Zachary K

Pela mesma razão, existem tantos <whatever> e continuamos criando novos <whatever>

Há uma dúzia de estruturas PHP MVC, por exemplo, mas as pessoas sempre criam novas para atender a necessidades específicas, para evitar se tornar dependente de outra equipe ou apenas para tentar criar algo melhor. O mesmo vale para basicamente todos os tipos de ferramentas ou aplicativos.

É uma coisa muito boa, praticamente uma vitória para todos na minha opinião.

0
Fosco

As universidades contribuem com muitas linguagens de programação, assim como grandes empresas como Ericsson (Erlang = linguagem Ericsson), Bell Labs (linguagens B e C), Google (linguagem Go alguns meses antes). Muitos dos que foram escritos como parte da pesquisa universitária não são muito utilizados. Existem algumas exceções notáveis, no entanto. Suponho que escrever sua própria linguagem/compilador seja um bom tópico para teses de doutorado de pessoas que estudam a teoria da computação ou disciplinas relacionadas. Parece-me que Python é uma das primeiras linguagens nascidas do esforço online colaborativo de vários programadores em torno de uma única idéia.

0
ixtmixilix