JScript .NET - JScript .NET

JScript .NET
Paradigma multi-paradigma
Sviluppatore Microsoft Corporation
Disciplina di battitura anatra , debole , dinamica
piattaforma .NET Framework
Influenzato da
JScript , ECMAScript
JScript .NET
Estensione del nome file
.js

JScript .NET è un linguaggio di programmazione .NET sviluppato da Microsoft .

Le differenze principali tra JScript e JScript .NET possono essere riassunte come segue:

In primo luogo, JScript è un linguaggio di scripting e come tali programmi (o più suggestivamente, script ) possono essere eseguiti senza la necessità di compilare prima il codice. Questo non è il caso del compilatore da riga di comando JScript .NET, poiché questa versione di nuova generazione si basa su .NET Common Language Runtime (CLR) per l'esecuzione, che richiede che il codice sia compilato in Common Intermediate Language (CIL), precedentemente chiamato Microsoft Intermediate Language (MSIL), codice prima che possa essere eseguito. Tuttavia, JScript .NET fornisce ancora il supporto completo per l'interpretazione del codice in fase di esecuzione (ad esempio, tramite il Function costruttore o la eval funzione) e in effetti l'interprete può essere esposto da applicazioni personalizzate che ospitano il motore JScript .NET tramite le interfacce VSA.

In secondo luogo, JScript ha una solida base nelle tecnologie ActiveX / COM di Microsoft e si basa principalmente sui componenti ActiveX per fornire gran parte delle sue funzionalità (incluso l'accesso al database tramite ADO , la gestione dei file, ecc.), Mentre JScript .NET utilizza .NET Framework per fornire funzionalità equivalenti. Per la compatibilità con le versioni precedenti (o per i casi in cui non esiste una libreria equivalente .NET), JScript .NET fornisce ancora l'accesso completo agli oggetti ActiveX tramite .NET / COM Interop utilizzando sia il costruttore ActiveXObject che i metodi standard della classe .NET Type .

Sebbene .NET Framework e i linguaggi .NET come C # e Visual Basic .NET abbiano visto un'adozione diffusa, JScript .NET non ha mai ricevuto molta attenzione, dai media o dagli sviluppatori. Non è supportato nel principale strumento di sviluppo di Microsoft, Visual Studio .NET . Tuttavia, ASP.NET supporta JScript .NET.

Differenze linguistiche

Di seguito sono riportati i principali esempi di differenze linguistiche tra JScript .NET e altri linguaggi .NET, inclusi i confronti.

Differenze con C #

  • JScript NET non necessita di main () funzione che il sistema operativo deve chiamare direttamente durante l'esecuzione di un'applicazione JScript NET, come tale, il flusso del programma JScript NET può essere basata su codice globale.
  • JScript .NET, a causa del suo sistema di controllo dei tipi molto flessibile, può essere molto facile da imparare, poiché la convenzione della dichiarazione esplicita del tipo non è affatto richiesta.
  • JScript .NET non richiede riferimenti espliciti alla libreria di classi di base .NET Framework, poiché in JScript .NET sono presenti alcune funzioni trovate nelle versioni precedenti di JScript (ad esempio funzioni per trovare la tangente di un angolo per un triangolo rettangolo ).
  • JScript .NET è strettamente collegato alla sintassi C ed è quindi molto facile da imparare per gli sviluppatori C # , Java o C ++ .
  • Sebbene JScript .NET possa essere utilizzato per creare applicazioni Windows Form, JScript .NET avrà alcuni problemi, poiché i delegati possono essere utilizzati solo in JScript .NET e non creati. Pertanto, gli eventi personalizzati sono difficili da emulare in JScript .NET.

Differenze con C ++

  • JScript .NET non necessita di un main () la funzione .
  • JScript .NET non richiede una dichiarazione di tipo esplicita sulle variabili. (In C ++ , l'uso di modelli e generici può essere paragonato a questo, emulato liberamente con la specializzazione dei modelli, ecc.)
  • JScript .NET inoltre non richiede cast di tipi espliciti sull'utilizzo delle variabili nel programma. Il codice utilizzato per recuperare una stringa di caratteri, ma utilizzato solo per i numeri interi può essere lanciato in modo implicito; il viceversa può essere fatto senza errori in fase di compilazione, ma c'è la possibilità di perdita di precisione o di dati.

per esempio:

import System;

Console.WriteLine("Hello, what's your name?");
Console.WriteLine("Type your name: ");

var _name = Console.ReadLine();

Console.WriteLine("Hello, " + _name);

Differenze con Java

  • Sintassi JScript .NET e le convenzioni lessicali sono simili a Java in quanto entrambi sono derivati da C . JScript era originariamente l'implementazione di Microsoft di ECMAScript , che è più comunemente noto come JavaScript , sebbene non sia correlato a Java. Pertanto, gli utenti di Java e di altri linguaggi derivati ​​dal C troveranno JScript più facile da imparare.
  • JScript .NET consente agli sviluppatori di utilizzare variabili non tipizzate e talvolta possono dedurre il loro tipo dal loro utilizzo per ottimizzare il codice compilato. D'altra parte, Java richiede la digitazione di tutte le variabili.
  • JScript .NET può aggiungere proprietà e metodi agli oggetti in fase di esecuzione , mentre gli oggetti Java sono sempre conformi alla loro interfaccia dichiarata.
  • JScript .NET supporta le variabili globali , qualcosa che Java no.

Differenze con le versioni precedenti di JScript

  • JScript .NET consente agli sviluppatori di dichiarare variabili e funzioni con informazioni sul tipo (ad esempio, var x: String; ), mentre le informazioni sul tipo per variabili e funzioni di JScript non possono essere dichiarate (ad esempio, var x; ).
  • Gli script JScript .NET non vengono interpretati, ma eseguiti in modo indipendente. Quando viene eseguita, un'applicazione JScript .NET richiamerà CLR . Il CLR eseguirà le istruzioni CIL senza utilizzare un interprete.
  • JScript .NET può essere eseguito senza la presenza di un browser o di un altro motore di scripting poiché il compilatore può generare eseguibili e assembly autonomi . Tuttavia questi richiedono ancora l' installazione di .NET Framework per poter funzionare.
  • JScript .NET fornisce l'accesso a .NET Framework BCL ( Base Class Library ), fornendo molte più funzionalità.
  • JScript .NET è disponibile solo come linguaggio di scripting per ASP.NET , la tecnologia utilizzata per generare pagine web; quindi, JScript .NET assume un ruolo simile a PHP e ad altri linguaggi di scripting lato server. Internet Explorer, tuttavia, utilizza ancora solo il vecchio motore JScript, quindi JScript.NET non può essere utilizzato per creare script su pagine Web (o HTA o HTC). A questo proposito, JScript è molto più versatile di JScript .NET.

Guarda anche

Appunti

Riferimenti