Vale a pena aprender javascript se você não planeja ser desenvolvedor web?


26

Ouvi dizer que o Javascript é uma linguagem completa, assim como o c ++. Isso é verdade? O que mais é bom para a programação além de coisas na web?


realmente só é bom para webstuffs, porque requer algum tipo de analisador, a maioria dos quais é incorporado apenas em navegadores da web. Quero dizer, você poderia construir seu próprio analisador JS para uso em desktop, mas que não usaria mais de javascript, que interage com o html na sua página ...
dkuntz2

3
@ DKuntz2 Acho que o Chrome V8 JS Engine é uma biblioteca independente e você pode reutilizá-lo em um aplicativo de desktop. Você ainda teria que desenvolver sua própria API. Link: code.google.com/apis/v8/embed.html
Vitor Py

1
Há também o spidermonkeyMozilla javascriptparser. Também é autônomo e pode ser usado em qualquer aplicativo.
Jgdddd #

@ dkuntz2 Javascript não é apenas bom para "coisas da web" - eu uso o node.js como uma ferramenta de script de uso geral e para o desenvolvimento de aplicativos de desktop.
Anderson Green

@VitorBraga Acho que desenvolver aplicativos com o node.js seria uma boa opção - ele possui um conjunto abrangente de bibliotecas que são úteis para tarefas de script de uso geral, como edição de imagens e leitura / gravação de arquivos.
Anderson Green

Respostas:


23

Acho que vale a pena aprender, porque é bem diferente da linguagem OO comum e, pelo menos, você aprende um paradigma de programação diferente.

Pode ser útil em outro lugar que não seja o navegador? Claro: confira o node.js , que usa a assincronicidade do javascript para criar uma plataforma de desenvolvimento puramente sem bloqueio, e couchapps , que permite criar um aplicativo Web inteiro com ele.

Se você acredita em algumas pessoas, o javascript será a principal linguagem de desenvolvimento futura, apenas por causa de seu amplo uso. É de longe a linguagem mais popular no github, e quase todos os desenvolvedores têm alguma exposição a ela. Em projetos como o node.js, o javascript tem um futuro interessante.




3

Embora o Javascript seja uma linguagem completa, sintaticamente, orientada a objetos etc., na maioria das vezes ele não possui bibliotecas para fazer interface com coisas que ainda não foram incorporadas. Ele é bem-intencionado para acessar e modificar dados XML, por exemplo, mas na verdade não fornece muitas interfaces ao hardware.

Esta pergunta no Stack Overflow aborda alguns exemplos de onde está e pode ser usada fora da programação da web.


2

Eu diria que vale a pena aprender uma linguagem com recursos dinâmicos e funcionais, mas não precisa necessariamente ser Javascript.

O LISP leva os conceitos acima muito além do Javascript e, portanto, é considerado uma excelente linguagem para aprender, mesmo que você nunca precise usar o próprio LISP.


2

O JavaScript pode ser usado para scripts de shell "prontos para uso" no Windows e no Mac:

Na minha opinião, no Windows é a escolha mais agradável, porque as alternativas são arquivos VBScript e BAT (pelo menos se você não puder confiar em instalações adicionais).


Há também o PowerShell no Windows.
precisa saber é o seguinte

O PowerShell não está instalado por padrão nas versões anteriores ao 2008/7 do Windows, tanto quanto eu sei.
Joeri Sebrechts

2

Javascript também é usado para scripts Greasemonkey que você pode usar para personalizar ou adicionar funcionalidades aos sites que você visita. (Esse link aponta para a extensão Firefox, mas também está disponível para outros navegadores)

Tecnicamente, é claro que isso ainda é "coisa da web", mas é diferente porque os desenvolvedores da web não são os únicos que o usam.


1

Não vale a pena aprender além do básico.

Mesmo se você trabalha em aplicativos da Web, mas no back-end, dedique seus recursos de aprendizado em assuntos mais relacionados ao seu campo. Javascript é apenas outro idioma sem mensagem especial que o enriquecerá significativamente.


2
Discordo. É a única linguagem generalizada baseada em protótipo. Além disso, entre os idiomas mais difundidos, possui um dos melhores suportes para fechamentos. Assim, pode-se aprender algo valioso usando-o. Finalmente, é incrivelmente rápido para uma linguagem interpretada.
Andrea

@Llistes_Sugra Se você acredita e acredita seriamente nessa opinião, não sabe o suficiente sobre JavaScript. Eu recomendo que você aprenda mais sobre isso e veja se deseja revisar essa opinião; Estou quase certo de que você irá
Jay

1

Existem outras tecnologias baseadas em Javascript que você pode aprender se quiser. Aprendê-los pelo menos permitiria que você entendesse a sintaxe do javascript quando você o ler lendo o código-fonte para páginas da web. E vamos admitir, todos dizemos que nunca faremos X , mas no final, em algum momento, sempre fazemos. Pelo menos um pouco.

Uma boa linguagem semelhante a javascript para check-out é a nova linguagem QML do Qt , que é javascirpt como sintaxe, mas para uma GUI de aplicativo normal. É muito interessante brincar e você aprenderá algum javascript no processo de não escrever páginas da web.


1

Eu adicionaria isso como um comentário à resposta aceita, mas depois percebi que poderia ser melhor servido como uma resposta separada. Dito isto, é mais um complemento para a resposta aceita do que uma resposta concorrente.

Extensão de script

Existem muitos mecanismos Javascript disponíveis para a maioria dos grandes idiomas que você pode incorporar em um sistema. Isso faz com que seja uma boa opção para estender sua plataforma com recursos de script e é fácil inventar sua própria linguagem. Você ganha instantaneamente todo o material de aprendizagem, portanto, obter recursos para configurar e criar scripts para o seu sistema será muito mais fácil.


1

Javascript é uma ótima linguagem básica

Isto é :

  • poderoso
  • fácil de aprender
  • suporta paradigmas procedurais e orientados a objetos
  • é rápido de escrever e começar a correr
  • popularizou muitos conceitos modernos de linguagem - fechamentos, funções anônimas, programação assíncrona / orientada a eventos, tipos dinâmicos / inferência
  • possui ótimas ferramentas (editores, tempos de execução, ferramentas de cotão, navegadores)
  • tem suporte online incrível com muitas comunidades ativas
  • pode fazer funções de matemática
  • possui habilidades gráficas (via HTML / Canvas)
  • pode usá-lo para escrever aplicativos

Pessoalmente, acredito que vale a pena aprender, mesmo que você não o use diariamente. Isso ampliará sua mente de forma que você considere soluções diferentes ao usar outras linguagens como C ++ ou C # - por exemplo, Iteração versus solução algorítmica, tipagem dinâmica e inferência de tipo.

Vi pessoas usá-lo para processar números / despejos de dados mais rapidamente do que ferramentas profissionais, colando seus dados em uma área de texto HTML de uma página que eles construíram com algum código JS para trás para trabalhar com os dados.

Para que mais serve?

Incorporando dentro de outra coisa:

Todas as empresas em que trabalhei nos últimos 12 anos criaram produtos comerciais e ferramentas de desenvolvimento interno que usavam JavaScript (ou parente próximo - ECMAScript, ActionScript, etc.) como base, como era fácil de aprender, tinham - implementações integradas (gratuitas) prontas para uso (SpiderMonkey e Microsoft Active Scripting SDK) e o desempenho foi 'bom o suficiente' para começar e apenas continuou melhorando.

Antes do jQuery / Prototype e de todo o movimento AJAX, a escolha do JS parecia não óbvia - por que não usar VBA (shudder), algo lex + yacc-capaz ou rolar sua própria linguagem? O poder do JS como uma linguagem combinada com widgets / frameworks avançados significava que não era necessário escrever muito código; portanto, uma solução pronta para uso era atraente, pois mais esforço poderia ser gasto no restante do produto.

À medida que o idioma aumentou em capacidade e velocidade, a aposta no JS foi recompensada. Com mais desenvolvedores capazes de agregar JS, a contratação também é mais fácil.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.