Кіріспе

Microsoft әзірлеген JScript 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 функциясы арқылы), тіпті интерпретаторды VSA интерфейстері арқылы JScript NET қозғалтқышын пайдаланатын арнайы қолданбалармен де қолдануға болады. Екіншіден, JScript Microsoft компаниясының ActiveX/COM технологияларына негізделген және көптеген мүмкіндіктерін қамтамасыз ету үшін негізінен ActiveX компоненттерін пайдаланады (мысалы, ADO арқылы деректер базасына қол жеткізу, файлдарды өңдеу және т.б.), ал JScript NET осы функцияларды қамтамасыз ету үшін NET Framework-ті қолданады. Үйлесімділікті сақтау үшін (немесе NET-те балама кітапханасы болмаған жағдайда) JScript NET NET / COM Interop арқылы ActiveX нысандарына толық қол жеткізуді қамтамасыз етеді. NET Framework және C# және Visual Basic NET сияқты NET тілдері кеңінен қолданылғанмен, JScript NET бұқаралық ақпарат құралдары мен бағдарламашылар тарапынан көп назар қабылмады. Ол Microsoft компаниясының басты дамыту құралы Visual Studio NET-те қолдау көрсетілмейді. Алайда, ASP.NET JScript NET-ті қолдайды.

Тілдік айырмашылықтар

Төменде JScript NET және басқа .NET тілдері арасындағы тілдік ерекшеліктердің нақты мысалдары, сонымен қатар салыстырулар берілген.

C#-пен айырмашылықтары

JScript NET операциялық жүйе JScript NET бағдарламасын орындағанда тікелей шақыруы тиіс негізгі функцияны қажет етпейді, сондықтан JScript NET бағдарламасының ағыны жаһандық кодқа негізделуі мүмкін. JScript NET өте бос типтік тексеру жүйесіне ие болғандықтан, оны үйрену өте оңай, себебі нақты типті жариялау қағидасы мүлдем қажет емес. JScript NET .NET Framework Base Class Library-ге тікелей сілтемелерді қажет етпейді, өйткені JScript-тің алдыңғы нұсқаларында кездесетін кейбір функциялар JScript NET-те де бар (мысалы, тікбұрышты үшбұрыштың тангенсін есептеу функциялары). JScript NET C синтаксисімен тығыз байланысты, сондықтан C#, Java немесе C++ бағдарламашылары үшін оны үйрену өте оңай. JScript NET Windows Forms қолданбаларын жасау үшін қолданылуы мүмкін болса да, делегаттар тек JScript NET-те қолданылатындықтан, жаңа делегаттарды жасау мүмкін емес, сондықтан қиындықтар туындауы мүмкін. Осы себепті, JScript NET-те қолданушылық оқиғаларды имитациялау қиын.

Java-мен айырмашылықтары

JScript NET синтаксисі мен лексикалық ережелері Java-ға ұқсас, себебі екеуі де C тілінен туындаған. JScript бастапқыда Microsoft компаниясының ECMAScript стандартын іске асыруы болды, ол көбінесе 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 браузер немесе басқа да скрипттерді өңдеу қозғалтқышы болмаса да, іске қосылуы мүмкін, себебі компилятор дербес атқарылатын файлдар мен жиналымдарды (assemblies) құра алады. Дегенмен, олардың жұмыс істеуі үшін .NET Framework орнатылған болуы керек. JScript NET .NET Framework BCL (Базалық сыныптар кітапханасы) -на қолжетімділік береді, бұл көптеген қосымша мүмкіндіктерді ұсынады. JScript NET тек ASP.NET үшін скрипт тілі ретінде қол жетімді, ол веб-беттерді жасауға қолданылатын технология; осылайша, JScript NET PHP және басқа серверлік скрипт тілдері сияқты рөл атқарады. Алайда, Internet Explorer әлі де ескі JScript қозғалтқышын ғана қолданады, сондықтан JScript.NET веб-беттерді (немесе HTA немесе HTC) скрипттеу үшін қолданылмайды. Осы тұрғыдан алғанда, JScript JScript NET-тен гөрі көбірек мүмкіндіктерге ие.