Algum idioma se tornou muito popular por algo diferente do seu propósito?

70

Veja este cenário:

  • Um programador cria uma linguagem para resolver algum problema.

  • Ele então libera essa linguagem para ajudar outras pessoas a resolver problemas semelhantes.

  • Outro programador descobre que é realmente muito melhor para uma categoria diferente de problemas.

  • Em virtude deste novo aplicativo, a linguagem se torna popular principalmente para esse aplicativo.

Há alguma ocorrência disso realmente ocorrendo?

Em outras palavras, o propósito pretendido de uma linguagem tem alguma influência sobre como ela é realmente usada ou se ela se torna popular? É importante que uma linguagem tenha um propósito anunciado?

    
por Jon Purdy 04.11.2012 / 18:37
fonte

19 respostas

118

Lisp . McCarthy originalmente especificou Lisp em um artigo para mostrar que poucas anotações simples são suficientes para construir uma linguagem completa. Ele ficou surpreso ao descobrir que o Lisp poderia ser implementado em código de máquina (Steve Russel fez a primeira implementação do interpretador Lisp). Lisp é amplamente utilizado para programação de IA.

    
por 30.05.2011 / 09:50
fonte
111

O Java foi originalmente destinado à programação de sistemas embarcados. De Wikipedia "Java foi originalmente projetado para televisão interativa" . Mas tornou-se imensamente popular para aplicativos e programação da Web.

    
por 30.05.2011 / 08:16
fonte
32

Lua foi projetada principalmente como linguagem de configuração e acabou encontrando um nicho como a linguagem de script mais popular para jogos (porque é pequena, rápida, poderosa, portátil, facilmente estendida e integrada, com sintaxe amigável). O jogo mais popular para usá-lo, o World of Warcraft, nem mesmo o usa para configuração, usando XML.

    
por 30.05.2011 / 13:16
fonte
32

A intenção original de Larry Wall para perl era de uma " linguagem de script Unix de propósito geral para fazer o processamento de relatórios mais fácil "e a página de manual descreve a linguagem como:

Perl is a interpreted language optimized for scanning arbitrary text files, extracting information from those textfiles, and printing reports based on that information.

E, claro, a página man também nos diz que Perl significa Extração prática e linguagem de relatório (o nome real é um erro de ortografia do nome original Pearl , alterado quando Wall descobriu um já existente idioma PEARL ).

Perl percorreu um longo caminho desde então, como é a linguagem a partir da qual os deuses forjaram o universo .

    
por 22.11.2011 / 04:17
fonte
28

Eu acho que o JavaScript se encaixa nessa questão também, porque eu não acho que Brendan Eich, nos dias do Netscape, tenha imaginado versões futuras de seu LiveScript seria usado para criar os chamados "aplicativos" da web de hoje.

O JavaScript passou de simples validações de formulários e substituições de imagens para uma ferramenta poderosa que pode competir com aplicativos off-line, tanto em termos de funcionalidade quanto de beleza.

Infelizmente, acho que muitos ainda veem isso como um brinquedo.

    
por 30.05.2011 / 16:24
fonte
19

Erlang. Foi inventado há muito tempo nos laboratórios da Ericsson para desenvolver aplicativos de telefonia, provavelmente para suas linhas de comutação e dispositivos de acesso. Agora evoluiu para uma linguagem dinâmica de propósito geral promissora com um conceito interessante de concorrência.

Seria interessante se, no futuro, houvesse mais idiomas do mundo das telecomunicações cruzando suas linhas para o mundo da TI e evoluíssem a partir daí, linguagens espias aquelas inicialmente projetadas para modelagem e verificação de protocolos.

    
por 30.05.2011 / 13:06
fonte
15

Pascal. Criado para ensinar programação.

    
por 30.05.2011 / 11:57
fonte
14

PHP originalmente significava Página Pessoal Pessoal , mas hoje também é usado para alguns aplicativos da Web um pouco maiores.

    
por 30.05.2011 / 16:58
fonte
14

Tenho certeza de que VBScript não foi feito para escrever malware, mesmo que seja um uso extremamente comum para ele.

    
por 30.05.2011 / 22:29
fonte
13

Inicialmente projetado como um método para tornar o código mais genérico, o Template Meta Programming em C ++ foi descoberto completo, e até hoje é usado para melhorar a linguagem C ++ através de bibliotecas como boost .

    
por 30.05.2011 / 18:58
fonte
11

BASIC é outro caso famoso. Seu nome (Código de Instrução Simbólico Multiuso para principiantes) sugere sua origem como uma língua de aprendiz, mas cresceu um pouco desde então.

    
por 30.05.2011 / 12:28
fonte
11

VHDL e Verilog (a.k.a. VerilogHDL) foram originalmente destinados a descrever circuitos e componentes digitais. Eles foram usados como uma forma de documentação e para simular o comportamento dos componentes. Mais tarde, a Synopsys e outros desenvolveram tecnologia que poderia traduzir (um subconjunto dessas) descrições em listas de portas, que por sua vez podem ser usadas para produzir hardware real.

VHDL e Verilog são chamados de Linguagens de Descrição de Hardware (HDLs) por razões históricas. Hoje eles são realmente usados como idiomas de hardware design (mesmo acrônimo).

    
por 30.05.2011 / 16:00
fonte
10

O ML começou como uma linguagem para desenvolver e criar scripts para um provador de teoremas. Foi a "meta linguagem" do teorema.

    
por 30.05.2011 / 09:05
fonte
7

C
 Originalmente foi originalmente desenvolvido para uso com o sistema operacional Unix. Mas o idioma tornou-se tão popular que até Dennis Ritchie ficou surpreso.
Em seu famoso livro A linguagem de programação C . Ritchie afirma que "se espalhou muito além de suas origens como a linguagem do UNIX operacional sistema. "e como ele ficou surpreso ao se tornar uma linguagem popular para o desenvolvimento de aplicativos.

    
por 30.05.2011 / 08:39
fonte
3

C ++ foi originalmente projetado como "C com classes" para facilitar a programação orientada a objetos em C ++.

Os modelos foram fornecidos em uma versão posterior para permitir a implementação de classes de contêiner com rigidez de tipos. Só foi notado mais tarde que esses modelos realmente constituem uma linguagem de programação em tempo de compilação Turing-completa.

Como conseqüência, muitos aplicativos agora usam o C ++ não como uma linguagem de programação orientada a objetos, mas como uma linguagem de programação orientada por algoritmos que depende muito do polimorfismo em tempo de compilação e da metaprogramação.

    
por 30.05.2011 / 14:43
fonte
2

ADA - originalmente projetado sob contrato do DoD para aviônicos. Embora ainda seja usado nesse aplicativo, ele também é popular, por exemplo, para middleware de negócios em tempo real.

    
por 30.05.2011 / 12:47
fonte
2

"o propósito pretendido de uma linguagem tem alguma influência sobre como ela é realmente usada ou se ela se torna popular?"

Eu não acho que o propósito pretendido de uma linguagem tenha muito a ver com seu uso real e popularidade: existem algumas grandes linguagens que foram projetadas desde o início para serem inovadoras, flexíveis e versáteis, mas nunca se tornaram tão usadas ou popular, exceto em mercados verticais muito especializados - por exemplo, Eiffel. OTOH, Basic, Pascal, C, etc etc dominaram a paisagem por anos, embora eles foram projetados originalmente para fins limitados e específicos.

As considerações de marketing / financeiras e de suporte da IMO sempre desempenharam um papel importante na disseminação e extensão de determinados idiomas. Por exemplo: a Borland cria o TurboPascal e empacota, comercializa e suporta. MS vem com C # e pacotes, mercados e suporta. Como resultado, essas linguagens se tornaram populares, surgiram indústrias de ferramentas de terceiros e cada vez mais desenvolvedores e empresas saltaram na onda.

Mas nos últimos anos, as linguagens e ferramentas openSource estão mudando a dinâmica e as linguagens agora se tornam mais populares, baseadas mais em 'mérito' do que em marketing - por exemplo, Ruby, Python e Perl. Mas isso não é por causa da "intenção" dos inventores, mas sim pelo fato de a linguagem ter potencial para extensão e uso conveniente.

    
por 30.05.2011 / 23:31
fonte
2

Eu não acho que exista uma linguagem popular que não tenha sido redirecionada a partir de sua intenção original. Mesmo C foi originalmente escrito para fazer um sistema operacional portátil (unix).

Qualquer tentativa de escrever uma linguagem de programação verdadeiramente genérica sem um alvo específico em mente provavelmente falharia miseravelmente devido à falta de restrição e foco.

    
por 31.05.2011 / 08:01
fonte
1

Eu ouvi que o Ruby foi criado como uma linguagem para escrever poesia no, você pode escrever um código muito bonito também!

I’ll be straight with you. I want you to cry. To weep. To whimper sweetly. This book is a poignant guide to Ruby. That means code so beautiful that tears are shed. That means gallant tales and somber truths that have you waking up the next morning in the arms of this book.

    
por 31.05.2011 / 00:10
fonte