Vale la pena imparare javascript se non prevedi di diventare uno sviluppatore web?


26

Ho sentito che Javascript è un linguaggio completo proprio come c ++. È vero? Cos'altro è buono per la programmazione oltre al web?


in realtà è buono solo per i webstuff, perché richiede una qualche forma di parser, la maggior parte dei quali sono integrati solo nei browser web. Voglio dire, potresti creare il tuo parser JS per uso desktop, ma di quanto non userebbe la maggior parte di javascript, che interagisce con l'html sulla tua pagina ...
dkuntz2

3
@ DKuntz2 Penso che Chrome V8 JS Engine sia una libreria indipendente e potresti riutilizzarla in un'applicazione desktop. Dovresti comunque sviluppare la tua API. Link: code.google.com/apis/v8/embed.html
Vitor Py

1
C'è anche quello spidermonkeyche è Mozillas javascriptparser. È anche autonomo e può essere utilizzato in qualsiasi applicazione.
jgauffin,

@ dkuntz2 Javascript non è adatto solo per "contenuti Web": utilizzo node.js come strumento di scripting generico e per lo sviluppo di applicazioni desktop.
Anderson Green,

@VitorBraga Penso che lo sviluppo di applicazioni con node.js sarebbe una buona opzione: ha un set completo di librerie che sono utili per attività di scripting generiche come l'editing di immagini e la lettura / scrittura di file.
Anderson Green,

Risposte:


23

Penso che valga la pena imparare perché è abbastanza diverso dal tuo linguaggio OO run-of-the-mill e per lo meno imparerai un diverso paradigma di programmazione.

Può essere utile altrove rispetto al browser? Certo: controlla node.js , che utilizza 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 essa.

Se credi ad alcune persone, JavaScript sarà il principale linguaggio di sviluppo futuro, semplicemente a causa del suo ampio utilizzo. È di gran lunga la lingua più popolare su Github e quasi tutti gli sviluppatori hanno una certa esposizione ad esso. Con progetti come node.js, javascript ha un futuro interessante.




3

Sebbene Javascript sia un linguaggio completo sintatticamente, orientato agli oggetti, ecc., Per lo più manca di librerie per interfacciarsi con cose non già integrate. Ad esempio, è ben concepito per accedere e modificare i dati XML, ma in realtà non fornisce molte interfacce all'hardware.

Questa domanda su Stack Overflow affronta alcuni esempi di dove si trova e può essere utilizzata al di fuori della programmazione Web.


2

Direi che vale la pena imparare una lingua con capacità dinamiche e funzionali, ma non deve necessariamente essere Javascript.

LISP prende i concetti di cui sopra molto più lontano di Javascript, ed è quindi considerato un linguaggio eccellente da imparare, anche se non è mai necessario utilizzare LISP stesso.


2

JavaScript può essere utilizzato per script di shell "out of the box" sia su Windows che su Mac:

A mio avviso, su Windows è la scelta più appetibile, perché le alternative sono file VBScript e BAT (almeno se non puoi fare affidamento su installazioni aggiuntive).


C'è anche PowerShell su Windows.
JBR Wilkinson,

Per quanto ne so, PowerShell non è installato per impostazione predefinita con versioni precedenti a 2008/7 di Windows.
Joeri Sebrechts,

2

Javascript è utilizzato anche per gli script Greasemonkey che è possibile utilizzare per personalizzare o aggiungere funzionalità ai siti visitati. (Quel link punta all'estensione di Firefox, ma è disponibile anche per altri browser)

Tecnicamente ovviamente si tratta ancora di "roba web", ma è diverso in quanto gli sviluppatori web non sono (solo) quelli che la usano.


1

Non vale la pena imparare oltre le basi.

Anche se lavori in applicazioni Web, ma nel back-end, dedica le tue risorse di apprendimento in materie più correlate al tuo campo. Javascript è solo un'altra lingua senza un messaggio speciale che ti arricchirà in modo significativo.


2
Non sono d'accordo. È l'unico linguaggio diffuso basato sui prototipi. Inoltre, tra le lingue diffuse, ha uno dei migliori supporti per le chiusure. Quindi si può imparare qualcosa di prezioso usandolo. Infine, è incredibilmente veloce per un linguaggio interpretato.
Andrea

@Llistes_Sugra Se tieni e credi seriamente a quell'opinione, non conosci abbastanza JavaScript. Ti consiglierei di saperne di più e vedere se vuoi rivedere questa opinione; Sono quasi certo che lo farai
Jay,

1

Esistono altre tecnologie basate su Javascript che potresti imparare invece se lo desideri. Impararli ti farebbe almeno capire la sintassi di javascript quando ti imbatti in esso leggendo il codice sorgente per le pagine web. E ammettiamolo, tutti diciamo che non faremo mai X , ma alla fine ad un certo punto lo facciamo sempre. almeno un po '.

Un buon linguaggio simile a JavaScript per verificare è il nuovo linguaggio QML di Qt , che è javascirpt come sintassi ma per una normale GUI dell'applicazione. È molto interessante giocare con te e imparerai alcuni javascript nel processo di non-scrittura-pagine-web.


1

Stavo per aggiungere questo come commento alla risposta accettata, ma poi mi sono reso conto che potrebbe essere meglio servire come risposta separata. Detto questo, si intende più come un complemento della risposta accettata piuttosto che una risposta concorrente.

Estensione di scripting

Esistono molti motori Javascript disponibili per la maggior parte delle grandi lingue che è possibile incorporare in un sistema. Questo lo rende una buona scelta per estendere la tua piattaforma con capacità di scripting e batte le mani giù inventando la tua lingua. Ottieni istantaneamente tutto il materiale di apprendimento, quindi ottenere risorse da configurare e creare script per il tuo sistema sarà molto più semplice.


1

Javascript è un ottimo linguaggio di base

È :

  • potente
  • facile da imparare
  • supporta paradigmi procedurali e orientati agli oggetti
  • è veloce da scrivere e iniziare a correre
  • ha reso popolari molti concetti linguistici moderni: chiusure, funzioni anonime, programmazione asincrona / guidata da eventi, tipi / inferenze dinamici
  • ha ottimi strumenti (editor, runtime, strumenti per la lanugine, browser)
  • ha un fantastico supporto online con molte comunità attive
  • può fare funzioni matematiche
  • ha abilità grafiche (via HTML / Canvas)
  • puoi usarlo per scrivere app

Personalmente credo che valga la pena imparare anche se non lo utilizzerai quotidianamente. Amplia la tua mente in modo tale da prendere in considerazione soluzioni diverse quando usi altri linguaggi come C ++ o C # - ad es. Iterazione contro soluzione algoritmica, tipizzazione dinamica e inferenza del tipo.

Ho visto persone usarlo per sgretolare i dump di numeri / dati più velocemente degli strumenti professionali, incollando i loro dati in un'area di testo HTML di una pagina che avevano costruito con del codice JS dietro per lavorare attraverso i dati.

A cos'altro serve?

Incorporamento in qualcos'altro:

Tutte le aziende per le quali ho lavorato negli ultimi 12 anni hanno costruito sia prodotti commerciali che strumenti di sviluppo interno che utilizzavano JavaScript (o parenti stretti - ECMAScript, ActionScript, ecc.) Come base, poiché era facile da imparare, avevano facilmente- implementazioni integrate (gratuite) 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 (brivido), qualcosa lex + yacc-capace o rollare la tua lingua? La potenza di JS come linguaggio combinato con ricchi widget / framework significava che non era necessario scrivere un sacco di codice, quindi una soluzione standard era attraente in quanto si potevano dedicare maggiori sforzi al 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 grok JS, assumere è anche più facile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.