Язык программирования, разработанный Microsoft
JScript .NET — это язык программирования .NET , разработанный Microsoft .
Основные различия между JScript и JScript .NET можно резюмировать следующим образом:
Во-первых, JScript — это язык сценариев , и поэтому программы (или, скорее, сценарии ) могут выполняться без необходимости предварительной компиляции кода. Это не относится к компилятору командной строки JScript .NET, поскольку эта версия следующего поколения использует для выполнения .NET Common Language Runtime (CLR), что требует, чтобы код был скомпилирован в Common Intermediate Language (CIL), ранее называвшийся Microsoft Intermediate Language (MSIL), код перед его запуском. Тем не менее, JScript .NET по-прежнему обеспечивает полную поддержку интерпретации кода во время выполнения (например, через Function
конструктор или eval
функцию), и интерпретатор действительно может быть доступен пользовательским приложениям, в которых размещен движок JScript .NET, через интерфейсы VSA [ жаргон ] .
Во-вторых, JScript опирается на технологии Microsoft ActiveX / COM и в первую очередь опирается на компоненты ActiveX для обеспечения большей части своих функций (включая доступ к базе данных через ADO , обработку файлов и т. д.), тогда как JScript .NET использует .NET Framework для обеспечить эквивалентную функциональность. Для обеспечения обратной совместимости (или там, где не существует эквивалентной библиотеки .NET) JScript .NET по-прежнему обеспечивает полный доступ к объектам ActiveX через взаимодействие .NET/COM с использованием как конструктора ActiveXObject, так и стандартных методов класса .NET Type .
Хотя .NET Framework и языки .NET, такие как C# и Visual Basic .NET, получили широкое распространение, JScript .NET никогда не привлекал особого внимания ни со стороны средств массовой информации, ни со стороны разработчиков. Он не поддерживается в главном инструменте разработки Microsoft — Visual Studio .NET . Однако ASP.NET поддерживает JScript .NET.
Языковые различия
Ниже приведены яркие примеры языковых различий между JScript .NET и другими языками .NET, включая сравнения.
Различия с C#
- JScript .NET не требует функции main() , которую операционная система должна вызывать непосредственно при выполнении приложения JScript .NET, поэтому поток выполнения программы JScript .NET может основываться на глобальном коде.
- JScript .NET, из-за его очень свободной системы проверки типов, может быть очень прост в освоении, поскольку соглашение о явном объявлении типа вообще не требуется.
- JScript .NET не требует явных ссылок на библиотеку базовых классов .NET Framework, поскольку некоторые функции из более ранних версий JScript присутствуют в JScript .NET (например, функции для поиска тангенса угла прямоугольного треугольника ).
- JScript .NET тесно связан с синтаксисом C , поэтому его очень легко освоить разработчикам C# , Java или C++ .
- Хотя JScript .NET можно использовать для создания приложений Windows Forms, с JScript .NET возникнут некоторые проблемы, поскольку делегаты можно только использовать в JScript .NET, но не создавать. Таким образом, пользовательские события сложно эмулировать в JScript .NET.
Различия с C++
- JScript .NET не требует функции main() .
- JScript .NET не требует явного объявления типа переменных. (В C++ использование шаблонов и дженериков можно сравнить с этим, свободно эмулируя специализацию шаблонов и т. д.)
- JScript .NET также не требует явного приведения типов при использовании переменных в программе. Код, используемый для получения строки символов, но используемый только для целых чисел, может быть приведен неявно; наоборот можно сделать без ошибок во время компиляции, но есть вероятность потери точности или данных.
например:
импортировать систему ; Консоль . WriteLine ( "Привет, как тебя зовут?" ); Консоль . WriteLine ( "Введите свое имя: " );вар _name = Консоль . ЧитатьЛинию (); Консоль . WriteLine ( "Привет," + _имя );
Различия с Java
- Синтаксис и лексические соглашения JScript .NET аналогичны Java , поскольку оба они произошли от C. JScript изначально был реализацией ECMAScript от Microsoft , который более известен как JavaScript , хотя и не связан с Java. Таким образом, пользователям Java и других языков, производных от C, JScript будет легче изучать.
- JScript .NET позволяет разработчикам использовать нетипизированные переменные и иногда может определить их тип на основе их использования для оптимизации скомпилированного кода. С другой стороны, Java требует ввода всех переменных.
- JScript .NET может добавлять свойства и методы к объектам во время выполнения , тогда как объекты Java всегда соответствуют объявленному интерфейсу.
- JScript .NET поддерживает глобальные переменные , чего нет в Java.
Различия со старыми версиями JScript
- JScript .NET позволяет разработчикам объявлять переменные и функции с информацией о типе (например, var x : String; ), тогда как информация о типе для переменных и функций JScript не может быть объявлена (например, var x; ).
- Скрипты JScript .NET не интерпретируются, а выполняются независимо. При выполнении приложение JScript .NET вызывает CLR . CLR выполнит инструкции CIL без использования интерпретатора.
- JScript .NET можно запускать без браузера или другого механизма сценариев , поскольку компилятор может создавать автономные исполняемые файлы и сборки. Однако для их работы по-прежнему требуется установка .NET Framework .
- JScript .NET предоставляет доступ к .NET Framework BCL ( библиотеке базовых классов ), обеспечивая гораздо большую функциональность.
- JScript .NET доступен только как язык сценариев для ASP.NET — технологии, используемой для создания веб-страниц; таким образом, JScript .NET играет ту же роль, что и PHP и другие серверные языки сценариев. Internet Explorer, однако, по-прежнему использует только более старый движок JScript, поэтому JScript.NET нельзя использовать для создания сценариев веб-страниц (а также HTA или HTC). В этом отношении JScript гораздо более универсален, чем JScript .NET.
Смотрите также
Примечания
Рекомендации
- Начало работы с JScript .NET
- Знакомство с JScript .NET
- Учебник по JScript.NET и учебник по формам