Qual è la base storica dell'uso di Javascript nella programmazione web?

9

Vengo da un contesto di biologia scientifica in cui utilizziamo molto anche Python.

Ora che ho iniziato a iniziare con lo sviluppo Web, mi sono sempre trovato a chiedermi perché è JavaScript il linguaggio primario sul lato client del Web.

Il predominio di JavaScript è un incidente storico o qualcos'altro? Inoltre, sono curioso di sapere se ci sono ostacoli nell'integrazione di Python nello scripting lato client?

    
posta rd108 07.05.2011 - 03:51
fonte

5 risposte

16

JavaScript è stato il primo linguaggio di scripting disponibile in un browser Web popolare, quindi è stato implementato quasi universalmente. Essendo l'unico linguaggio di programmazione disponibile in tutti i browser più diffusi, non c'era altra scelta se non quella di essere il linguaggio di programmazione predominante sul lato client.

Internet Explorer ha implementato JavaScript in un modo che consente i motori di scripting collegabili (fornito con VBScript e JScript). Se si preferisce (come ho fatto io) scrivere il proprio codice in PerlScript o PythonScript, è possibile, ma tutti i client devono avere quella lingua di script installata e devono utilizzare IE. Potresti farlo per progetti interni, ma in nessun modo funzionerebbe su Internet.

    
risposta data 07.05.2011 - 04:04
fonte
7

JavaScript è stato originariamente creato da Brendan Eich. È stato inizialmente distribuito con la versione beta di Netscape Navigator 2.0 nel settembre 1995 come LiveScript, ma è stato rinominato JavaScript in un annuncio congiunto con Sun Microsystems nel dicembre 1995. Solo in seguito (nel 1996) JavaScript è stato inviato a Ecma International e alla fine è diventato lo standard ECMAScript.

L'attuale posizione dominante sul mercato è in gran parte dovuta all'inerzia storica.

Fonte: link

    
risposta data 07.05.2011 - 04:09
fonte
2

Non sono sicuro, ma è un linguaggio di scripting leggero, clientide. Penso che le sue origini risalgano ai primi browser di Netscape (anche se potrei sbagliarmi). In effetti, il suo stesso nome è stato modificato prima della pubblicazione per includere la parola "java" anche se non aveva nulla a che fare con java. È stata una tattica rapida per guadagnare popolarità al momento.

    
risposta data 07.05.2011 - 03:56
fonte
1

Sono sicuro che ha molto a che fare con la storia.

Ma sono anche sicuro che non voglio che i siti web siano in grado di eseguire linguaggi di programmazione completi come Python sul mio browser. Le implicazioni sulla sicurezza mi spaventerebbero da qualsiasi sito come quello (o dovrei essere molto sicuro che la sandbox del browser fosse a tenuta d'aria).

    
risposta data 07.05.2011 - 13:30
fonte
-2

"La predominanza di JavaScript è un incidente storico o qualcos'altro?"

Personalmente ritengo che il successo di JS sia una questione di design tanto quanto molti sono stati e continueranno a detestarlo per ammetterlo e non solo per qualche incidente o semplicemente per il fatto che è stato il primo a il parco giochi.

Sebbene sia stato chiamato in modo tale da fare appello agli sviluppatori Java e sintassi come la sintassi basata su C di Java anche per fare appello agli sviluppatori Java, Brendan Eich ha preso una delle decisioni più pessime nella storia del www che doveva principalmente trarre da Scheme per l'ispirazione della meccanica della lingua, che è qualcosa che gli sviluppatori Java non sembrano aver apprezzato molto (cosa che trovo molto divertente).

JavaScript utilizza l'ereditarietà prototipale altamente flessibile / granulare per OOP, ha chiusure, i tipi sono dinamici al 100%, le funzioni stesse sono di prima classe permettendo loro di essere passati in giro come qualsiasi altro oggetto o tipo di dati e di essere riutilizzati in differenti contesti e persino essere applicati agli oggetti al volo come se fossero stati dichiarati come membri di oggetti reali dall'inizio. È praticamente urlante essere utilizzato per architetture basate sugli eventi che devono normalizzare una tonnellata di spazzatura proprietaria o gestire problemi di interfaccia utente non lineari.

Alla fine dell'alba del web è l'unico linguaggio che sia mai stato seriamente all'altezza del compito di normalizzare i browser attraverso una vera guerra dei browser in cui Netscape e IE hanno provato a fare le cose diversamente di proposito, seguite da 10+ anni di tregua nei browser in cui IE ha fatto le cose in modo diverso perché la MS è pigra e auto-trincerata in alcune pratiche anti-competitive virtuosamente stupide risultanti nella stagnazione del browser, e ora un mondo in cui i browser stanno finalmente iniziando a concordare le stesse specifiche generali per quanto riguarda in HTML, CSS e DOM API con IE sono solo 2-3 anni indietro rispetto agli ultimi sviluppi piuttosto che 10 a causa di Google e Mozilla che eliminano i compilatori JIT che hanno fatto apparire i numeri delle prestazioni di IE così patetici che MS è stata finalmente svergognata nel modernizzare correttamente i loro maledetti browser . IE9 è il primo ad aggiornare seriamente il supporto dell'API DOM ai livelli supportati da Netscape nel 2000.

JS ha avuto competizione sotto forma di applet Java e ActionScript per Flash di Adobe. Questo è tutto sul serio fronte dei contendenti. MS ha cercato di spingere VB ma ha fallito miseramente perché ... beh ... VB. Inoltre, proprietario. In realtà c'erano molti più siti Flash di quanto la maggior parte delle persone capisca. Non riuscivi a trovare le cose stupide con i motori di ricerca. Le applet facevano le loro cose, ed era brutto. Davvero brutto. JS era l'unico linguaggio che ha realmente affrontato il problema di lavorare nel contesto di più browser da persone che non erano d'accordo su chi stava impostando le specifiche con le quali avrebbero dovuto fare i conti.

Negli ultimi anni, JS è esploso in un campo di applicazione molto più ampio. In combinazione con altre tecnologie web, è in grado di battere fondamentalmente tutte le altre soluzioni sul fronte mobile dal momento che + la tecnologia web è davvero l'unica scelta realistica in questo momento se davvero vuoi scrivere un'app e farlo funzionare su tutto.

Quindi no, e sì, sono un grande fan, ma non penso che abbia danneggiato tutti gli altri contendenti sul lato client per caso, più di quanto non diventi esplosivo, il popolare al di fuori del browser potrebbe essere considerato un incidente adesso . Prima di JS, non c'erano molte lingue simili a Scheme che non fossero principalmente accademiche. Ciò ha dato a JS alcuni potenti vantaggi e le esigenze uniche del lato client hanno reso possibile che quei vantaggi diventassero lentamente chiari.

    
risposta data 06.12.2012 - 08:36
fonte

Leggi altre domande sui tag