As 10 principais linguagens de programação, de acordo com o índice TIOBE, parecem ser fortemente influenciadas por C:
1. Java
A linguagem deriva grande parte de sua sintaxe de C e C ++, mas possui um modelo de objeto mais simples e menos recursos de baixo nível. - wikipedia.org
2. C
C é uma das linguagens de programação mais amplamente usadas de todos os tempos e existem muito poucas arquiteturas de computador para as quais não existe um compilador C. - wikipedia.org
3. C #
Durante o desenvolvimento do .NET Framework, as bibliotecas de classes foram originalmente escritas usando um sistema de compilador de código gerenciado chamado Simple Managed C (SMC). Em janeiro de 1999, Anders Hejlsberg formou uma equipe para construir um novo idioma na época chamado Cool, que significa "Linguagem Orientada a Objetos tipo C". - wikipedia.org
4. C ++
Foi desenvolvido por Bjarne Stroustrup a partir de 1979 no Bell Labs como um aprimoramento da linguagem C. - wikipedia.org
5. Objetivo-C
Objective-C é uma linguagem de programação reflexiva e orientada a objetos que adiciona mensagens no estilo Smalltalk à linguagem de programação C. - wikipedia.org
6. PHP
Ele reescreveu esses scripts como binários CGI (Common Gateway Interface) da linguagem de programação C, estendendo-os para adicionar a capacidade de trabalhar com formulários da Web e se comunicar com bancos de dados e chamou essa implementação de "Personal Home Page / Forms Interpreter" ou PHP / FI. - wikipedia.org
8. Python
O Python foi concebido no final dos anos 80 e sua implementação foi iniciada em dezembro de 1989 por Guido van Rossum na CWI na Holanda como sucessor da linguagem de programação ABC (ela própria inspirada no SETL) capaz de manipular exceções e fazer interface com o sistema operacional Amoeba. - wikipedia.org
ABC (linguagem de programação) Seus projetistas afirmam que os programas ABC têm tipicamente cerca de um quarto do tamanho dos programas Pascal ou C equivalentes e são mais legíveis. - wikipedia.org
9. Perl
O Perl empresta recursos de outras linguagens de programação, incluindo C, script de shell (sh), AWK e sed. - wikipedia.org
10. JavaScript
JavaScript usa sintaxe influenciada pela de C. - wikipedia.org
Parece que a maioria empresta sua sintaxe de C e / ou é fortemente influenciada de várias outras maneiras, pelo menos em seus inícios. Por quê?
fonte
Respostas:
Com o surgimento do UNIX na década de 1970, sua linguagem de programação padrão de sistemas C rapidamente se tornou a língua franca do mundo da programação. Por um bom tempo, C foi praticamente obrigatório para todos os programadores. Como tal, o fato de C ter influenciado quase todas as linguagens de programação que vieram depois de uma maneira ou de outra não é surpreendente, por duas razões:
Mas outras línguas existiam, e ainda existem, algumas delas até anteriores ao C - há a família LISP (CL, Clojure e Scheme são os dialetos modernos mais populares), a família ML (com vários dialetos modernos), há todo um exército de Dialetos BÁSICOS (VB.NET e VBA são implementações modernas), há Pascal e seus parentes (Delphi é o mais conhecido) e muitas linguagens 'estranhas' que tiveram influência de muitas outras linguagens e inventaram algumas coisas; exemplos incluem Go, Python, Lua, Haskell (e seu antecessor, Miranda), Prolog e Erlang. Embora nenhuma dessas linguagens (exceto Python) esteja entre as 10 principais, muitas delas possuem uma base de usuários estável e uma comunidade ativa; eles certamente não vão embora.
Além disso, deve-se notar que a quantidade de influência C nessas linguagens difere bastante, variando entre as linguagens C ++ e Objective-C quase 100% compatíveis com C, até o Python (que abandona deliberadamente muitos dos recursos de sintaxe de C). E essa é apenas a sintaxe: em termos de semântica, a maioria dos idiomas nessa lista não tem muito em comum com C. A esmagadora maioria possui gerenciamento de memória embutido no idioma e, consequentemente, copia a semântica, a passagem de argumentos etc. , são muito diferentes. O JavaScript, por exemplo, tem fortes influências semânticas do Scheme, enquanto sua sintaxe foi projetada para se parecer com Java (que, por sua vez, baseia sua sintaxe de bits e partes em C, mas não sua semântica). Outras diferenças (com exceção de C ++ e Objective-C, que são compatíveis com versões anteriores do C) incluem tratamento de erros, regras de escopo,
#include
) e o fato de muitas dessas linguagens serem 'virtualizadas', ou seja, executadas em um intérprete, compilador JIT ou máquina virtual.A propósito, o Python tem alguma influência em C, mas certamente não é "baseado em" C. A sintaxe e a semântica diferem radicalmente de C, e isso ocorre por design. O Python empresta apenas recursos do C, onde outras alternativas são igualmente "boas" (conforme o tipo "Zen do Python",
import this
em um intérprete de python).Quanto ao futuro da programação; as previsões variam. A influência do C não está desaparecendo, mas os desenvolvimentos recentes em hardware (máquinas com vários núcleos se tornando comuns, GPUs poderosas, a CPU deixando de ser o gargalo de desempenho típico, conexões de rede rápidas e confiáveis, etc.) exigem abordagens radicalmente diferentes da programação em geral. Qualquer pessoa que já tenha escrito um aplicativo distribuído multithread em uma linguagem imperativa pode dizer que é incrivelmente difícil, enquanto linguagens como Haskell possuem recursos que removem a maioria dos problemas típicos e oferecem uma abordagem mais abstrata e mais estruturada ao processamento distribuído, simultâneo e paralelo. (pureza sendo um conceito importante nesse contexto). As linguagens de programação mais recentes (por exemplo, C # ou D) já incluem muitos recursos para suportar esse idioma. Em qualquer caso,
fonte
É como perguntar por que o inglês é a língua dominante nos EUA. Por que não espanhol ou francês? Eles controlavam mais o território dos EUA do que as colônias inglesas. Por que não holandês? A primeira capital dos EUA estava em uma ex-colônia holandesa. Não tenho certeza de que possa haver uma "resposta" para isso.
No entanto, a linha do tempo "Computer Languages History" ( http://www.levenez.com/lang/ ) fornece todas as respostas possíveis.
fonte
Se você criar uma nova linguagem de programação, ter uma sintaxe semelhante às linguagens existentes populares facilita o aprendizado para seus novos usuários. Especialmente se muitos conceitos forem semelhantes entre idiomas.
Também acho que a sintaxe no estilo C é relativamente fácil de ler. Para comparar com Pascal, o uso dos símbolos "{" e "}" para blocos de código é mais legível que "begin" e "end", que são opticamente muito semelhantes aos identificadores. O Python é ainda mais legível, mas incluir espaço em branco na sintaxe abre um novo conjunto de problemas com a edição. Outro exemplo: Lisp e JavaScript compartilham algumas idéias, mas quando a mesma coisa é escrita na sintaxe no estilo C, é menos obscura.
Tenho certeza de que muitas pessoas discordariam do segundo parágrafo, porque todo mundo tem seu próprio idioma favorito, mas acho que a popularidade da sintaxe no estilo C é parcialmente uma coincidência histórica, mas em parte também mostra que os autores de C fizeram algumas coisas boas. decisões.
fonte
As linguagens de programação evoluem ao longo do tempo, assim como as línguas naturais, com algumas linguagens mais antigas influenciando essa evolução de maneira mais forte que outras, enquanto outras desaparecem na obscuridade e é mais difícil rastrear sua influência no nível da superfície, isto é, sintaxe.
A influência de C vem de muitas fontes - é de baixo nível, generalizada, apoiada nos círculos Unix e Microsoft. Também é a sobrevivência da questão mais adequada - é fácil ver que a sintaxe concisa do tipo C teve mais apelo do que a sintaxe detalhada do Algol de Pascal e outros concorrentes do C nas décadas de 1970 e 1980. Por isso, foi amplamente adotado pelos idiomas que vieram depois dele.
Com o atual crescimento da importância da programação multithread e das linguagens funcionais sendo particularmente adequadas a isso, eu diria que veremos a influência deles no futuro. Caso em questão: Python, que chegou a fazer essa lista no post de perguntas.
Uma boa visão da linha do tempo da história da linguagem para refletir
fonte
A maioria dos idiomas listados praticamente não tem nada a ver com C, além de semelhanças sintáticas irrelevantes. Os únicos dois derivados C reais são Objective-C e C ++.
fonte