Javascript si è sviluppato oltre a quello per cui era stato originariamente progettato?


10

Ho parlato con un amico dello scopo di Javascript, quando e come dovrebbe essere usato, ecc. Ha citato che:

JavaScript è stato progettato per aggiungere interattività alle pagine HTML

[...]

JavaScript offre ai progettisti HTML uno strumento di programmazione

  • Gli autori HTML non sono normalmente programmatori, ma JavaScript è un linguaggio di scripting con una sintassi molto semplice! Quasi tutti possono inserire piccoli "frammenti" di codice nelle loro pagine HTML JavaScript può reagire agli eventi
  • Un JavaScript può essere impostato per l'esecuzione quando succede qualcosa, ad esempio quando una pagina ha terminato il caricamento o quando un utente fa clic su un elemento HTML JavaScript può leggere e scrivere elementi HTML
  • Un JavaScript può leggere e modificare il contenuto di un elemento HTML JavaScript può essere utilizzato per convalidare i dati
  • Un JavaScript può essere utilizzato per convalidare i dati del modulo prima che vengano inviati a un server. Ciò salva il server da ulteriori elaborazioni
  • JavaScript può essere utilizzato per rilevare il browser del visitatore - Un JavaScript può essere utilizzato per rilevare il browser del visitatore e, a seconda del browser, caricare un'altra pagina appositamente progettata per quel browser.
  • JavaScript può essere utilizzato per creare cookie: un JavaScript può essere utilizzato per archiviare e recuperare informazioni sul computer del visitatore.

Tuttavia, sembra che Javascript si stia abituando a fare molto di più di questi giorni. Il mio amico sostiene anche di non utilizzare la funzionalità OOP di Javascript, sostenendo che "non dovresti elaborare i dati, limitarti a convalidare". Javascript è davvero limitato alla convalida dei dati e alla creazione di grafica appariscente su una pagina Web?

Continua affermando "non dovresti tentare di accedere ai database tramite javascript" e dice anche "in generale non vuoi fare il tuo pesante sollevamento in javascript". Non posso dire di essere d'accordo con la sua opinione, ma mi piacerebbe avere qualche input in più su questo.

Quindi, la mia domanda: Javascript si è evoluto dalla definizione sopra a qualcosa di più potente, il modo in cui lo usiamo è cambiato o ho semplicemente sbagliato? Mentre mi rendo conto che questa è una domanda soggettiva, non riesco a trovare ulteriori informazioni su di essa, quindi alcuni collegamenti sarebbero buoni, se non altro. Non sto cercando un dibattito, solo una risposta.


Mi chiedevo anche "chi" lo sta spingendo per farlo e perché?
NoChance,

1
Vorrei posizionare il materiale di partenza per ciò che il tuo amico ha capito su JavaScript a circa il 1998.
Erik Reppen

Risposte:


21

Le persone che pensano che JavaScript non sia un linguaggio di programmazione sono le persone che non dovrebbero rispettare l'opinione su JavaScript.

JavaScript è un linguaggio che è cresciuto organicamente ispirato dalla semantica di Scheme e dalla sintassi di Java. Il suo scopo originale non era generale ma ora è diventato tale.

JavaScript come lingua è adatto a fare praticamente qualsiasi attività se è adatto per questo. Dai un'occhiata ad esempi come node.js in cui JavaScript ha accesso all'ambiente host costituito da funzionalità IO che consente di utilizzarlo per la programmazione lato server generico

Il mio amico sostiene anche di non utilizzare la funzionalità OOP di Javascript, sostenendo che "non dovresti elaborare i dati, limitarti a convalidare". Javascript è davvero limitato alla convalida dei dati e alla creazione di grafica appariscente su una pagina Web?

No, JavaScript è un linguaggio di programmazione, se si desidera rappresentare strutture di dati, algoritmi e logica, utilizzare gli strumenti offerti dal linguaggio. In particolare, funzioni e prototipi di 1a classe sono strumenti potenti.

Continua affermando "non dovresti tentare di accedere ai database tramite javascript" e dice anche "in generale non vuoi fare il tuo pesante sollevamento in javascript". Non posso dire di essere d'accordo con la sua opinione, ma mi piacerebbe avere qualche input in più su questo.

Sbagliato, Nel browser abbiamo un database chiamato indexedDB a cui accediamo con JavaScript. È un database inserito direttamente nel browser e se vuoi usarlo (e dovresti) allora usi JavaScript.

Inoltre, sia mongodb che couchdb consentono di utilizzare javascript per eseguire direttamente query ad hoc sul database.

Per quanto riguarda il sollevamento di carichi pesanti, è in parte corretto. Se stai facendo un sollevamento pesante dovresti farlo in C o erlang. Sebbene il termine "sollevamento pesante" sia vago, ad esempio non codificherei o decodificherei i video in JavaScript, non farei l'elaborazione delle immagini in JavaScript (uso C). Non vorrei scricchiolare i numeri in JavaScript (usare fortran).

Javascript si è evoluto dalla definizione sopra a qualcosa di più potente, il modo in cui lo usiamo è cambiato o sto semplicemente sbagliando

JavaScript è stato scritto in un periodo di 2 settimane solo per inserire in HTML le funzionalità di scripting minori. Da allora è cresciuto notevolmente. Dall'ES3 (1999) è stato un potente linguaggio di programmazione per scopi generali.


È quello che ho pensato anche io. Ora devo solo capire come comunicarlo al mio amico.
Elliot Bonneville

@ElliotBonneville Posso suggerire un grosso indizio di schiuma ?

Hahaha, sì, puoi. :) È divertente.
Elliot Bonneville,

"potente linguaggio di programmazione generico" che è pieno di gotcha che rimarranno lì per sempre a causa della retrocompatibilità: codeproject.com/Articles/182416/…
Den

@Den sì, ha alcuni gotchas, ma anche C, C ++, PHP e Java.
Raynos,

9

La visione del tuo amico è effettivamente molto obsoleta e manca tutto ciò che è accaduto da quando Google ha rilasciato GMail.

Ora, questo significa che Javascript si è sviluppato oltre a quello per cui era stato originariamente progettato? Una specie di. Ma non dimenticare che il design è cambiato nel frattempo e cambierà in futuro in base alle nuove esigenze degli sviluppatori. Questo è valido anche per altre lingue popolari. Ad esempio, quando è stata rilasciata la prima versione di C #, nessuno si aspetterebbe di consentire il codice dinamico nella progettazione. Ora DLR è disponibile da alcuni anni.


2

La lingua va sempre oltre ciò che pensavamo all'inizio. Parla con chiunque all'inizio di C (o C ++), qualcuno ha pensato che il linguaggio sarà trovato quasi ovunque ora. Io non la penso così.

Ogni lingua vince per saperne di più / spingere oltre.

Sono d'accordo che Javascript era / è ancora un linguaggio poco apprezzato, il tuo amico non è l'unico. Il problema non è pensare che il linguaggio X o Y sia cattivo / inutile, il problema è mantenere questa idea per sempre. In Informatica / IT, tutto cambia rapidamente e cambierà ancora molto in futuro.

Ecco perché è importante imparare / pensare fuori dagli schemi ...


Non penso che molte persone possano ragionevolmente dire che JavaScript è ancora un linguaggio poco apprezzato. In effetti, penso che sia la lingua più popolare al mondo.
Jim G.
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.