Eu realmente gostaria de focar no motivo pelo qual algumas novas linguagens de programação são adotadas no mainstream e outras permanecem relativamente específicas. Gostaria de saber sobre casos como casos de uso específicos, compatibilidade com versões anteriores ou alguns novos recursos, dificuldade de implementação simples ou complexa. Exemplos específicos seriam apreciados, mas não vamos nos envolver com a definição exata de "mainstream" ou "nicho" aqui.
programming-languages
DeadMG
fonte
fonte
Respostas:
Se alguém realmente soubesse, seriam pessoas muito ricas.
Dito isto, aqui está o meu palpite:
Disponibilidade
O BASIC é uma linguagem horrível que veio com (todos?) PCs quando foram lançados. O Apple II (o computador padrão para muitas escolas de ensino médio) e o ATARI 400/800 (o primeiro computador doméstico super barato) vieram com o BASIC.
Se você possuía uma máquina UNIX (sistema AT&T V ou Berkeley), possuía C. Se você queria programar a máquina, era isso que precisava usar.
EDIT : Com o advento e a onipresença da 'net', este requisito se transforma em:
Facilidade de transição
Java é um bom exemplo aqui. Se você conhecia a programação C, o Java não estava muito longe, e ainda assim fornecia muitos dos recursos que faltavam ao C e o C ++ falhou ao fornecer de maneira limpa.
O C ++, por razões óbvias, foi um passo fácil em relação ao C e foi fácil vender para o gerenciamento como um C. "aprimorado". O C ++ teve o benefício adicional de ser compatível com versões anteriores de grande parte da base de código C herdada existente.
Perl era uma amálgama de utilitários C, awk, sed e outros utilitários Unix, tudo em um único pacote. Antes de sua aparência, a maior parte da administração do sistema era feita por meio de scripts de shell colando tudo de uma maneira insatisfatória. Trazer tudo sob um processo com as estruturas de dados e o controle de uma linguagem C foi uma dádiva de Deus.
Preenche uma necessidade
C decolou porque lhe permitiu produzir eficiências próximas à montagem sem se atolar no mundo específico da máquina, difícil de manter.
O FORTRAN decolou porque permitiu a tradução fácil de idéias matemáticas em código sem ter que se perder nos detalhes da máquina.
Da mesma forma para LISP e manipulação simbólica.
O Python surgiu da necessidade de um Perl "melhor". (Sou tendencioso aqui, então não direi mais.)
O PHP era essencialmente o BASIC para a Web - ele era instalado por padrão em muitos servidores da Web e era fácil juntar algo útil rapidamente.
Advocacia, Base de usuários, Código contribuído
Vamos ser sinceros, Haskell não seria tão popular quanto em uma linguagem que não está em produção se não fosse pela incansável defesa de seus desenvolvedores e base de usuários.
Muitos idiomas têm um culto à personalidade por trás dos criadores do idioma, e todos sabemos quem eles são.
O FORTRAN possui enormes conjuntos de códigos matemáticos estabelecidos e aprovados; o mesmo para Java e web / systems-integration / MVC-systems; o mesmo para Perl e CPAN; o mesmo para T E X e gerenciamento de documentos; etc.
O É Fator
Por alguma razão, algumas línguas parecem ter a quantidade certa de novas , com um aceno suficiente para as antigas , de uma maneira que a faz parecer fácil ou necessária. Ou seja, faz seu próprio caso. E quem sabe exatamente como isso acontece?
Enfim, esse é o meu melhor palpite sobre por que alguns conseguem. Quanto ao motivo pelo qual alguns não ... bem, se eles não atendem aos critérios acima, provavelmente é por isso que falharam.
fonte
Os idiomas se tornam populares porque têm uma vantagem sobre os idiomas existentes em uma área necessária.
Java
PHP
Javascript
Objetivo-C
Rubi
C #
ActionScript
Erlang
fonte
Serei cínico: dinheiro e, com isso, marketing.
Não é por acaso que o C # é suportado pela Microsoft, Java pelo Oracle e Objective C pela Apple. Apenas o Google's Go realmente não aumentou até agora.
É claro que o dinheiro não é o único motivo, mas ter bolsos profundos certamente ajuda a colocar seu idioma no mercado.
fonte
Por um lado, é marketing, mais precisamente apresentações, blogs etc. É importante ter recursos com os quais os programadores convencionais possam se relacionar e obter benefícios sobre o que sabem (Java vs. C ++ - coletor de lixo versus gerenciamento de memória). Por último, mas não menos importante, é ter baixa barreira de entrada - exemplos, boas documentações, instalação perfeita, boa comunidade e suporte, desenvolvimento vibrante.
fonte
Quase todas as línguas possuíam programas não triviais de resolução de problemas do mundo real, escritos usando-os muito cedo em suas vidas.
O Unix foi escrito em C, assim como as ferramentas do Unix, quando o C era muito jovem e evoluindo.
O Anaconda (programa de instalação do RedHat) foi escrito em Python quando Python era jovem e não tinha a popularidade de hoje.
É isso que me lembro de imediato. Essa lista pode tocar em cada um dos idiomas que sobreviveram a seus anos de formação.
Então, a adoção em larga escala nas universidades pode ajudar a longevidade de um idioma. Java é muito popular nas universidades como uma linguagem de ensino. Até certo ponto, o Lisp e os dialetos do Lisp também gozam desse status.
fonte