Ho sentito che Javascript è un linguaggio completo proprio come c ++. È vero? Cos'altro è buono per la programmazione oltre a quella web?
Penso che valga la pena di imparare perché è molto diverso dal tuo linguaggio OO run-of-the-mill e per lo meno imparerai un diverso paradigma di programmazione.
Può essere utile ovunque tranne che nel browser? Certo: controlla node.js , che usa l'asincronicità di javascript per creare una piattaforma di sviluppo puramente non bloccante, e couchapps , che ti consente di creare un'intera app web con esso.
Se credi in alcune persone, javascript sarà il principale linguaggio di sviluppo futuro, a causa del suo ampio utilizzo. È di gran lunga il linguaggio più popolare su GitHub e quasi tutti gli sviluppatori hanno una certa visibilità. Con progetti come node.js, javascript ha un futuro interessante.
Per quanto ne so, oltre alla programmazione web, JavaScript è anche usato per qualche nuovo ambiente desktop. Ad esempio, GNOME 3 (un ambiente desktop per Linux) che utilizza JavaScript + CSS per consentire agli utenti e agli sviluppatori di personalizzare il proprio ambiente desktop.
Creazione di app in stile Metro utilizzando JavaScript utilizza JavaScript per Windows 8 potrebbe essere interessante vedere dove va. Solo un'altra idea da aggiungere alle altre risposte qui.
Sebbene Javascript sia un linguaggio sintattico completo, orientato agli oggetti, ecc., per lo più non dispone di librerie che si interfacciano con elementi non già integrati. È ben progettato per accedere e modificare i dati XML, ad esempio, ma in realtà non fornire molte interfacce all'hardware.
Questa domanda su Stack Overflow tratta alcuni esempi di dove è e può essere usato al di fuori della programmazione web.
Direi che vale la pena imparare un linguaggio con capacità dinamiche e funzionali, ma non necessariamente deve essere Javascript.
LISP prende i concetti di cui sopra molto più lontano di Javascript, ed è quindi considerato un linguaggio eccellente da apprendere, anche se non è mai necessario usare LISP stesso.
Javascript è anche usato per Greasemonkey script che puoi usare per personalizzare o aggiungere funzionalità ai siti che visiti (Questo link punta all'estensione di Firefox, ma è disponibile anche per altri browser)
Tecnicamente ovviamente questo è ancora "roba web", ma è diverso in quanto gli sviluppatori web non sono gli unici (su) a utilizzarlo.
Non vale la pena di imparare oltre le basi.
Anche se lavori in applicazioni web, ma nel back-end, dedica le tue risorse di apprendimento a materie più correlate al tuo campo. Javascript è solo un'altra lingua senza messaggi speciali che ti arricchiranno in modo significativo.
Esistono altre tecnologie basate su Javascript che potresti imparare, se lo desideri. Apprenderli ti permetterebbe almeno di capire la sintassi di javascript quando lo attraversi leggendo il codice sorgente per le pagine web. E ammettiamolo, tutti noi diciamo che non stiamo andando a mai X , ma alla fine a un certo punto lo facciamo sempre. Almeno un po '.
Un buon linguaggio simile a javascript da verificare è la nuova QML lingua di Qt, che è javascirpt come la sintassi ma per una normale GUI dell'applicazione. È molto interessante giocare e imparerai alcuni javascript nel processo di non-scrittura-pagine web.
Stavo per aggiungere questo come commento alla risposta accettata, ma poi ho capito che potrebbe essere meglio servire come risposta separata. Detto questo, si intende più come un complemento della risposta accettata piuttosto che una risposta in competizione.
Ci sono molti motori Javascript disponibili per la maggior parte delle grandi lingue che puoi incorporare in un sistema. Questo lo rende una buona scelta per estendere la piattaforma con funzionalità di scripting e batte le mani inventando la tua lingua. Ottieni immediatamente tutto il materiale didattico in modo da ottenere risorse per configurare e scriptare il tuo sistema sarà molto più semplice.
Javascript è un ottimo linguaggio di base
È:
Personalmente ritengo che valga la pena di imparare anche se non lo userai tutti i giorni. Allargherà la tua mente in modo tale da prendere in considerazione diverse soluzioni quando utilizzi altri linguaggi come C ++ o C # - ad es. Iterazione contro soluzione algoritmica, tipizzazione dinamica e inferenza del tipo.
Ho visto persone che lo usano per scricchiolare numeri / dump di dati più velocemente di strumenti professionali, incollando i loro dati in un'area di testo HTML di una pagina che avevano costruito con un codice JS dietro per lavorare attraverso i dati.
What else is it good for?
Incorporamento all'interno di qualcos'altro:
Tutte le società per cui ho lavorato negli ultimi 12 anni hanno costruito sia prodotti commerciali che strumenti di sviluppo interni che hanno utilizzato JavaScript (o parente stretto - ECMAScript, ActionScript, ecc.) come base per l'apprendimento facile, disponeva di implementazioni (gratuite) facilmente integrate e pronte all'uso (SpiderMonkey e Microsoft Active Scripting SDK) e le prestazioni erano "abbastanza buone" per cominciare e hanno continuato a migliorare.
Prima che jQuery / Prototype e l'intero movimento AJAX arrivassero, la scelta di JS sembrava non ovvia: perché non usare VBA (shudder), qualcosa lex + yacc-able o rollare la tua lingua? La potenza di JS come linguaggio combinato con ricchi widget / framework non implicava la necessità di scrivere un sacco di codice, quindi una soluzione off-the-shelf era interessante poiché uno sforzo maggiore poteva essere speso per il resto del prodotto.
Poiché la lingua è aumentata in termini di capacità e velocità, la scommessa su JS ha dato i suoi frutti. Con più sviluppatori in grado di ingannare JS, anche l'assunzione è più facile.
Leggi altre domande sui tag javascript