Na história antiga, Brendan Eich tinha um design de linguagem e, no mundo de hoje, o JavaScript é uma linguagem popular implementada e usada em muitos lugares diferentes.
O que fez com que o idioma se tornasse popular? A sintaxe do tipo C era familiar aos programadores anteriores? A Netscape tinha controle suficiente do mercado para forçá-lo a ser usado? Ou existe alguma razão mais profunda de que o JavaScript é popular e outras línguas não?
Particularmente, se você tivesse que tornar uma linguagem tão popular quanto o JavaScript, que condições iniciais você precisaria para recriar seu crescimento em popularidade?
programming-languages
javascript
history
Mathnerd314
fonte
fonte
Respostas:
Eu estava comentando sobre uma resposta anterior , mas estava ficando grande, então pensei em explicar isso.
Qualquer nova linguagem só pode ter sucesso se capitalizar em uma fronteira emergente na computação.
Exemplos anteriores:
Para responder à sua pergunta, o JavaScript era o idioma do Netscape Navigator quando este era o navegador dominante. Especificamente, era o idioma para o desenvolvimento dinâmico de front-end.
A próxima grande linguagem terá que resolver outra fronteira. Ainda parece haver uma disputa de terras no espaço de desenvolvimento da web de back-end. Além disso, a computação móvel não está totalmente resolvida, apesar do domínio atual da Apple. Além disso, há o surgimento da computação em vários núcleos e na nuvem, algo que muitas linguagens estão tentando capitalizar (como linguagens simultâneas como Erlang e Go ou linguagens funcionais como Haskell e OCaml).
Os empresários têm uma expressão semelhante à de "encontrar alguém em chamas e vender-lhe uma mangueira de incêndio". Então, se você deseja introduzir um novo idioma, de quem você está apagando? Toda nova fronteira na computação traz uma série de dores de cabeça; então forneça aspirina e você ficará dourado.
fonte
É bem simples: o Netscape usou um mecanismo JavaScript no navegador. Se você queria fazer scripting na web, JavaScript foi ele . O Internet Explorer tinha (e ainda possui) JavaScript e VBScript, mas, obviamente, se você deseja trabalhar em mais do que apenas o IE, não tem escolha a não ser usar o JavaScript.
O JavaScript é uma excelente linguagem por si só, mas não seria tão popular hoje em dia se não fosse o único idioma que você pode usar para criar HTML.
fonte
Vou adicionar uma atualização a isso porque acho que o surgimento de JS na Web do lado do cliente foi mal interpretado em alguns pontos-chave ao longo dos anos.
Não era o Ajax
Não estou dizendo que o Ajax não era importante para a evolução do entendimento do JS como uma linguagem, mas a luta pelo domínio do navegador do cliente acabou muito antes do termo Ajax ser cunhado.
Não foi porque era o único jogo na cidade
Havia Java Applets, Flash e VBScript. Ouvi dizer que havia outras opções de script nos anos 90 (mas eram necessários os plug-ins IIRC). Java é muito popular, mas os applets foram uma falha sombria. Eles eram feios e, com frequência, queijo suíço de segurança, mas o mais importante é que não acho que o Java se encaixava bem por razões que abordarei mais adiante. O Flash era muito popular e tinha uma forte presença por vários anos, mas mesmo quando o Flash finalmente tinha opções de SEO, elas não eram normalmente usadas, tornando muito difícil descobrir exclusivamente sites em Flash. Mesmo agora, a maioria de nós atualiza regularmente o Flash para poder ver filmes, mas esse é o verdadeiro calcanhar de Aquiles. A tecnologia proprietária nos navegadores é irritante. E, claro, o VB, que só funcionaria com o IE, então não.
O lugar certo na hora certa é relevante, mas não é a resposta completa
Sim, sem a onda da web, talvez nunca tenhamos visto o JavaScript ou um idioma em uso popular assim como vimos. Ou talvez tivéssemos ...
Acabou sendo a ferramenta perfeita para o domínio do problema
Eu diria que, por volta de 2000, tivemos os seguintes problemas:
Então, precisávamos de uma linguagem que fosse profunda, oferecendo a capacidade de realmente estruturar e arquitetar um aplicativo mais avançado com componentes portáteis / reutilizáveis no lado do cliente, mas também acessível a pessoas que não sabiam muito e precisavam apenas de coisas para aparecer / reaparecer quando você clicou em um botão.
Além disso, o MS sendo a fera desagradável / incompetente e / ou dominadora por meio de práticas anti-competitivas que às vezes são, não conseguiu realmente tocar sua implementação de API DOM não compatível por uma boa década, embora eles conseguissem adicione algo ocasional como o objeto XHR original e querySelectors no IE8.
O importante a ser observado é que, por volta de 2005, tínhamos conseguido enterrar tão completamente a complexidade envolvida no tratamento de problemas entre navegadores que não era mais um problema sério na frente do JavaScript. A falha no suporte adequado ao CSS2 pelo tempo que causou causou consideravelmente mais dor. Para ter uma idéia do grande volume e profundidade dos problemas, recomendo consultar o site quirksmode.org . Eu não acho que esse seja um feito que poderia ter sido alcançado com a mesma facilidade e em tantas bibliotecas em Java, certamente não no VB e definitivamente não com nenhuma estratégia de plug-in cujo objetivo seja contornar o problema inteiro, tornando-se um novo. tipo de incômodo.
Outros recursos de idioma que fazem muito sentido para a interface do usuário:
Funções de primeira classe: Na minha experiência, nada se presta melhor ao processamento assíncrono e aos paradigmas orientados a eventos do que uma linguagem que torna suas funções de primeira classe. Ambas as preocupações são abordadas regularmente no trabalho da interface do usuário.
Tipos dinâmicos: a transmissão e a verificação de tipos são uma necessidade muito rara em JavaScript, o que ajudou a manter o código conciso e enxuto. As preocupações da interface do usuário podem se tornar complexas e complicadas muito rapidamente. Manter o código rígido e ser absolutamente claro sobre o fluxo de dados é fundamental para entender e modificar / manter.
Não é protecionista: há muitos anos que alguém está pregando que você precisa se proteger de seus próprios erros e das coisas idiotas que o outro cara pode fazer com seu código, tornando as construções de código altamente rígidas e inflexíveis e impossíveis de interferir com a intenção original. de autoria e muitas pessoas ouviram. Não direi que eles estão sempre errados (pode pensar), mas direi que é a abordagem incorreta da interface do usuário da web e acredito que é um fenômeno que estamos desenvolvendo, mantendo e modificando clientes- GUIs laterais em um ritmo muito mais rápido e com maior facilidade do que esse trabalho normalmente era realizado em idiomas mais restritivos no passado. Ser capaz de mudar as coisas rapidamente e facilmente torna muito mais fácil ter esquemas de arquitetura dinâmica / fluida que não exigem quantidades monumentais de sobrecarga indireta e abstração, o que acaba facilitando a visualização do que está acontecendo no seu código. e antecipar ou manipular exceções com muito mais clareza. É mais fácil manter isso simplesmente com a simples virtude de tornar possível ser mais direto em tudo que você faz e com muito menos código do que seria necessário para a outra filosofia.
Como o JS se tornou popular? Ele provou ser uma excelente ferramenta para o trabalho uma e outra vez. Não é a linguagem com a qual estamos "presos". É a linguagem que pode ter inspirado muita evolução nas línguas populares em geral. E por isso, você pode agradecer a Brendan Eich e a qualquer contemporâneo que ajudou a colocar a idéia em sua mente, por gostar de Scheme como uma inspiração de design adequada para o problema em questão mais do que ele gostava de Java.
fonte
Uma tática usada inicialmente era o nome - "JavaScript" se destinava à popularidade do Java, que vinha crescendo há algum tempo.
fonte
Essa não foi a única linguagem de script no navegador entre navegadores? Sua popularidade parece ter crescido paralelamente à da web, o que faz sentido.
fonte
Hora certa, lugar certo. E não foi totalmente ruim.
É a mesma razão pela qual o Facebook está ganhando.
fonte
Na minha opinião, o Javascript é popular porque é bem suportado.
Primeiro, é o único idioma para o Netscape e o IE em seu tempo. Depois que uma "comunidade javascript" é estabelecida e se torna estável, ninguém pode pensar em "outro bem" que requer a construção de arranhões. Eles apenas contribuem para torná-lo cada vez melhor.
Se você deseja criar um novo idioma popular, a primeira coisa em que penso é que você deve determinar quem usa esse idioma . Os primeiros clientes são sempre difíceis de obter e você deve tornar seu idioma superior ao javascript de uma forma ou de outra. Talvez mesmo em um campo restrito / comunidade restrita de programadores, por exemplo, "mecanismo javascript melhor / mais rápido para iPhone móvel" possa ser uma boa opção.
Além disso, seu idioma deve ser fácil de usar e personalizar pela comunidade, porque é a comunidade que determina qual idioma pode sobreviver.
fonte
Você não vai acreditar em mim, mas o flash e (em um pouco dos applets java anteriormente) deram uma enorme contribuição no crescimento da popularidade do javascript e na evolução da própria linguagem.
Quando o flash apareceu, foi a primeira evidência de que aplicativos da Web são algo que vale a pena pensar.
Em certo sentido, a competição com plug-ins, tentativas constantes de mostrar - veja o que podemos fazer sem os plug-ins, tornaram o javascript uma linguagem com um espectro mais amplo de aplicativos e, portanto, tornou-o popular.
fonte
Eu acho que as pessoas pensavam que o Javascript tinha que fazer algo com Java.
(Como hoje em dia tudo começa com um "i")
A estratégia de marketing / publicidade desempenha um papel significativo.
fonte
Eu realmente acho que tem a ver com a sua C-como sintaxe . Segundo a Wikipedia, o Javascript apareceu em 95. Naquela época, o C estava no máximo de todos os tempos e o Java era a próxima linguagem. Eu acho que a sintaxe era realmente atraente (para a época) e sua associação de nome com a próxima grande linguagem, Java , deu uma vantagem.
Naquele momento, os programadores C se adaptaram facilmente a uma linguagem dinâmica.
Índice Tiobe
Se eu fosse recriar o sucesso do Javascript , analisaria os problemas que afetam os programadores modernos e daria a eles uma solução com uma sintaxe familiar.
A programação paralela da IMO é o próximo grande problema que os programadores estão enfrentando. Eu acho que as linguagens funcionais realmente fazem um ótimo trabalho para superar esse obstáculo. Se eu fosse criar o próximo Javascript , criaria uma linguagem funcional com uma plataforma comum . Além disso, acho que precisaria ser flexível o suficiente para ser uma linguagem complexa, mas poderosa o suficiente para ser uma linguagem de tipo estaticamente, com uma ótima estrutura.
Embora nem todos possam concordar, nessas condições, acho que o F # pode ter muito mérito no futuro.
fonte
O JavaScript se tornou popular por causa do AJAX e de boas ferramentas de inspeção como o Firebug. É claro que o fato de funcionar em todos os principais navegadores e ser a única maneira de fazer DHTML ajudou.
Basicamente, para tornar o idioma ainda mais feio bem-sucedido, ele deve ser capaz de fazer algo realmente útil que nenhum outro idioma pode. Além disso, você precisa fornecer ferramentas que permitam aos programadores realmente sentir que controlam qual idioma faz, o que não era o caso do javascript antes do firebug.
fonte
O Javascript é popular como um truque para superar as deficiências da marcação HTML para fazer com que as páginas da Web apareçam como os designers desejam que apareçam. Sem Javascript, todas as páginas da Web seriam assim - HTTP 1.1 . Quase um passo em frente ao protocolo Gopher .
fonte