Overview
Definition
Scriptlanguages,scriptingprogramminglanguages,scriptinglanguagesareusedtoshortenthetraditionalwriting-compiling-link-run(edit-compile-link-run)processtocreateacomputerprogramminglanguage.Althoughmanyscriptinglanguageshavesurpassedthefieldofsimplecomputertaskautomationandarematureenoughtowritesophisticatedprograms,theyarestillcalledscripts.Almostallcomputersystemshaveascriptinglanguageatalllevels.Includingtheoperatingsystemlayer,suchascomputergames,networkapplications,wordprocessingdocuments,networksoftware,etc.Inmanyways,high-levelprogramminglanguagesandscriptinglanguagescrosseachother,andthereisnoclearboundarybetweenthetwo.Ascriptcanautomateinteractiveoperationsthatwouldotherwisebeperformedwiththekeyboard.AShellscriptismainlycomposedofcommandsthatoriginallyneedtobeenteredonthecommandline,orinatexteditor,userscanusescriptstocombinesomecommonlyusedoperationsintoasetofsequences.Thelanguagemainlyusedtowritesuchscriptsiscalledscriptinglanguage.Manyscriptinglanguagesactuallyexceedthesimpleusercommandsequenceinstructions,andcanalsowritemorecomplexprograms.
Introduction
Thescriptlanguageisacomputerprogramminglanguagecreatedtoshortenthetraditionaledit-compile-link-runprocess.Itsnamingoriginatedfromascript"screenplay",whichwillrepeatthedialogboxverbatimeverytimeitisrun.Earlyscriptinglanguagesareoftenreferredtoasbatchprocessinglanguagesorjobcontrollanguages.
Ascriptisusuallyinterpretedandexecutedratherthancompiled.Scriptinglanguagesusuallyhavesimple,easy-to-learn,andeasy-to-usefeatures.Thepurposeistoallowprogrammerstoquicklycompleteprogramwriting.Themacrolanguagecanberegardedasabranchofthescriptinglanguage,andthetwoalsohavesubstantialsimilarities.
(Summarypicturesource:)
Features
1.Scriptinglanguage(JavaScript,VBscript,etc.)isbetweenHTMLandC,C++,Java,C#,etc.Betweenprogramminglanguages.HTMLisusuallyusedforformattingandlinkingtext.Theprogramminglanguageisusuallyusedtoissueaseriesofcomplexinstructionstothemachine.
2.Therearemanysimilaritiesbetweenscriptinglanguagesandprogramminglanguages.Itsfunctionsaremoresimilartoprogramminglanguages,andvariablesarealsoinvolved.Thebiggestdifferencewithprogramminglanguagesisthatthegrammarandrulesofprogramminglanguagesaremorestrictandcomplicated.
3.Relationshipwithprogramcode:Scriptisalsoalanguage,whichisalsocomposedofprogramcode.
4.Scriptinglanguageisaninterpretivelanguage,suchasPython,vbscript,javascript,installshieldscript,ActionScript,etc.,unlikec\c++,etc.,itcanbecompiledintobinarycodeandexecutablefileThescriptlanguagedoesnotneedtobecompiledandcanbeuseddirectly,andtheinterpreterisresponsiblefortheinterpretation.
5.Scriptinglanguagesgenerallyexistintheformoftext,similartoacommand.
Forexample,ifyoucreateaprogramcalledaaa.exe,youcanopenafilewith.aaastheextension,andspecifyasetofrules(grammar)forthewritingof.aafiles.Afterwritingthe.aafile,yourprogramusesthiskindofrulestounderstandthewriter'sintentionandrespond,thenthissetofrulesisascriptinglanguage.
6.Relativetocompiledcomputerprogramminglanguages:Whenaprogramdevelopedinascriptlanguageisexecuted,itisinterpretedandexecutedbyitscorrespondinginterpreter(orvirtualmachine).Thesystemprogramminglanguageispre-compiledintomachinelanguageandexecuted.Themainfeatureofthescriptlanguageis:theprogramcodeisthescriptprogram,andalsothefinalexecutablefile.Scriptinglanguagescanbedividedintostand-aloneandembeddedtypes.Thestand-alonescriptinglanguagecompletelyreliesontheinterpreterwhenitisexecuted,whiletheembeddedscriptinglanguageisusuallyembeddedandusedinprogramminglanguages(suchasC,C++,VB,Java,etc.).
7.Comparedwiththesystemprogramminglanguage:thedifferenceisthatthescriptinglanguageisinterpretedwhilethesystemprogramminglanguageiscompiled.Theinterpretedlanguageprovidesfastconversionbecausethereisnocompiletime,byallowinguserstowriteapplicationsatruntimewithouttheneedforatime-consumingcompilation/packagingprocess.Theinterpretermakestheapplicationmoreflexible,andthecodeofthescriptinglanguagecanbegeneratedandexecutedinrealtime.Scriptinglanguagesusuallyhavesimple,easy-to-learn,andeasy-to-usefeatures.Thepurposeistoallowprogrammerstoquicklycompleteprogramwriting.
Features
Advantages
Rapiddevelopment:Thescriptinglanguagegreatlysimplifiesthecycleprocessof"development,deployment,testing,anddebugging".
Easytodeploy:Mostscriptinglanguagescanbedeployedatanytimewithoutthetime-consumingcompilation/packagingprocess.
Integrationwithexistingtechnology:ThescriptinglanguageissurroundedbycomponenttechnologiessuchasJavaorCOM,sothecodecanbeeffectivelyused.
Easytolearnanduse:Thetechnicalrequirementsofmanyscriptinglanguagesareusuallylower,soitiseasiertofindalargenumberofsuitabletechnicalpersonnel.
Dynamiccode:Thecodeofscriptinglanguagecanbegeneratedandexecutedinrealtime.Thisisanadvancedfeature,whichisveryusefulandnecessaryinsomeapplications(suchasdynamictypesinJavaScript).
Disadvantages
Thescriptinglanguageisnotcomprehensiveenough:theywillrequiretheexistenceofa"real"programminglanguage,andadatabasedrivermustbefoundtobebuiltintothescriptinglanguage.
Scriptinglanguagesarenotthebestchoiceforsoftwareengineeringandbuildingcodestructures,suchasobject-orientedandcomponent-baseddevelopment.
Scriptinglanguagesareusuallynot"universal"languages,butcanbeadjustedaccordingtospecificapplications,suchasPHP.
Applicationanddevelopment
Application
Asabatchprocessinglanguageorworkcontrollanguage.Manyscriptinglanguagesareusedtoperformone-timetasks,especiallysystemmanagement.DOS,WindowsbatchfilesandUnixshellscriptsbelongtothisapplication;
Existasgeneralprogramminglanguages,suchasPerl,Python,Ruby,etc.Theyarestillcalledscriptinglanguagesduetofeaturessuchas"interpretationexecution,memorymanagement,anddynamics".Buttheyhavebeenusedinapplicationprogramming,andusersdonotregardthemasscriptinglanguages;
Manylarge-scaleapplicationsincludecustomaryscriptinglanguagescustomizedaccordingtouserneeds.Similarly,manycomputergamesystemsuseacustomscriptinglanguagetorepresentthepre-programmedactionsofNPC(Non-PlayerCharacter,Non-PlayableCharacter,Non-PlayerClass)andthegameenvironment.Suchlanguagesareusuallydesignedforasingleapplication.Althoughtheylooklikesomecommonlanguages(suchasQuakeC,ModeledAfterC),theyhavecustomfunctions;
Embeddedscriptinglanguageinwebpages.Thewell-knownHTML(HyperTextMark-upLanguage)isHyperTextMark-upLanguage,whichisascriptinglanguage,anditsinterpreterisabrowser.JavaScriptisstillthemainprogramminglanguageinwebbrowsersuntilnow,anditsECMAScriptstandardizationensuresthatithasbecomeapopulargeneral-purposeembeddedscriptinglanguage.Inaddition,withthedevelopmentofdynamicwebtechnology,scriptinglanguagesembeddedinwebpagessuchasASP,JSP,PHP,etc.arebeingwidelyused,butthesescriptsneedtobeinterpretedbytheWebServer,andHtmlisexecutedbythebrowser;
Thescriptlanguageisembeddedandusedinthesystemapplicationasaninterfacebetweentheuserandthesystem.Inthefieldofindustrialcontrol,PLCprogrammingandthescriptlanguageofconfigurationsoftwareareimportantmeanstoexpandthefunctionsoftheconfigurationsystem;inthefieldofcommunicationplatforms,IVR(automaticvoiceresponse)processprogramming;Officeofficesoftware,providedmacrosandVBA;otherapplicationsoftwareForexample,BasicMacroEditorprovidedbyERStudio,userscanwriteSaxBasicscriptstomanipulateERdiagrams,generateAccesslibraries,exportWorddocumentsandotherextendedfunctions.
Developmentstatus
Scriptingtechnologyhasbenefitedfromtheaccelerateddevelopmentofcomputerhardware.Insomecases,eventhesystemprogramminglanguageisnoteffectiveenough,sotheapplicationprogramhastobewritteninassembly.Today'smachinesare100to500timesfasterthanin1980,andarestillgrowingatarateofdoublingevery18months.Therapidimprovementofcomputerperformancehasmadecomputerprogramsmoreandmorecomplex.Therefore,developmenttimeisfarmorepressingthanrunningtime.Atthistime,thescriptlanguage,asasupplementtothesystemprogramminglanguage,begantobeprovidedbythemaincomputerplatformsatthesametime.Programminglanguageshavechangedfromacontradictionbetweenlow-performancehardwareandexecutionefficiencytoacontradictionbetweenrapidlychangingmarketneedsandinefficientdevelopmenttools.Therefore,thedevelopmentofscriptinglanguageshasaninevitabletrendinsoftwaredevelopment.
Scriptlanguageclassification
WorkcontrollanguageandShell
Shellscript
Suchscriptsareusedtoautomateworkcontrol,namelystartandControlthebehaviorofsystemprograms.Mostscriptinglanguageinterpretersarealsocommand-lineinterfaces,suchasUnixshellandMS-DOScommand.Others,suchasAppleScript,canaddascriptingenvironmenttothesystem,butthereisnocommandlineinterface.
Specificcategoriesare:
1.4NT
2.AppleScript
3.ARexx(AmigaRexx)
4.bash
5.csh
6.DCL
7.JCL
8.ksh
9.Cmd.exebatch(Windows,OS/2)
10.commandbatch(DOS)
11.REXX
12.tcsh
p>13.sh
14.Winbatch
15.WindowsPowerShell
16.WindowsScriptHost
17.zsh
GUIscript
TheappearanceofGUIbringsaprofessionalscriptinglanguageforcomputercontrol.Itinteractsbetweentheuserandthegraphicalinterface,menus,buttons,etc.Itisoftenusedtoautomaterepetitiveactionsortosetastandardstate.Intheory,itcanbeusedtocontrolallapplicationsrunningonaGUI-basedcomputer,butinfact,whethertheselanguagesaresupporteddependsontheapplicationandtheoperatingsystemitself.Wheninteractingthroughthekeyboard,theselanguagesarealsocalledmacrolanguages.
Thespecificcategoriesare:
1.AutoHotkey
2.AutoIt
3.Expect
ApplicationCustomizedscriptinglanguage
Manylarge-scaleapplicationsincludecustomscriptinglanguagesthatarecustomizedaccordingtouserneeds.Similarly,manycomputergamesystemsuseacustomscriptinglanguagetorepresentthepre-programmedactionsofNPC(non-playercharacter,non-playablecharacter,non-playerclass)andthegameenvironment.
Suchlanguagesareusuallydesignedforasingleapplication.Althoughtheylooklikesomecommonlanguages(suchasQuakeC,modeledafterC),theyhavecustomfunctions.
Specificclassification:
1.ActionCodeScript
2.ActionScript
3.AutoLISP
4.BlobbieScript
5.EmacsLisp
6.GameMakerLanguage
7.HyperTalk
8.IPTSCRAE
9.IRCscript
10.Lingo
11.MatlabEmbeddedLanguage
12.MayaEmbeddedLanguage
13.mIRCscript
14.NWscript
15.QuakeC
16.UnrealScript
17.VisualBasicforApplications
18.VBScript
19.ZZT-oop
WEBprogrammingscript
Thereisanimportantcategoryinthescriptinglanguageofapplicationcustomization,whichisusedtoprovideWEBThecustomfunctionofthepage.IthandlesInternetcommunicationsprofessionallyandusesawebbrowserastheuserinterface.Ofcourse,mostmodernWEBprogramminglanguagesaremorepowerfulandcandosomegeneralprogramming.
Specificclassification:
1.ColdFusion(ApplicationServer)
2.Lasso
3.Miva
4.SMX
5.IPTSCRAE-Toolsusedbysomewebdevelopmentteamstocreateforums
textprocessinglanguage
processingText-basedrecordingisoneoftheearliestusesofscriptinglanguages.Forexample,Unix'sawkwasoriginallydesignedtohelpsystemadministratorsdealwithinvokingUNIXtext-basedconfigurationandLOGfiles.Perlwasfirstusedtogeneratereports,andnowithasbecomeafullymaturelanguage.
Specificclassification:
1.Awk
2.Perl
3.sed
4.XSLT
GeneralDynamicLanguage
Somelanguages,suchasPerl,haveevolvedfromascriptinglanguagetoamoregeneralprogramminglanguage.Theyarestillcalledscriptinglanguagesduetothe"interpretedexecution,memorymanagement,dynamic"andothercharacteristics.Buttheyhavebeenusedinapplicationprogramming,andusersdonotregardthemasscriptinglanguages.
1.APL
2.Dao
3.Dylan
4.Groovy
5.Lua
6.MUMPS(M)
7.newLISP
8.Nuva
9.Perl
10.PHP
11.Python
12.Ruby
13.Scheme
14.Smalltalk
15.SuperCard
16.Tcl(Toolcommandlanguage)
Extension/EmbedableLanguage
AfewlanguagesaredesignedtoreplaceapplicationsbyembeddingapplicationsCustomscriptinglanguage.Developers(suchasusingothersystemlanguagessuchasC)includehooksthatenablethescriptinglanguagetocontroltheapplication.Theselanguageshavethesamepurposeasthescriptinglanguagecustomizedbytheapplication,buttheadvantageisthattheycantransfersomeskillsbetweenapplications.
Specificclassification:
1.Ch(C/C++interpreter)
2.Dao
3.ECMAScriptisalsoknownasDMDScript,JavaScript,JScript
4.GameMonkeyScript
5.Guile
6.ICI
7.Lua
8.RBScript(REALbasicScript)
9.Squirrel
10.Tcl
11.Z-Script
JavaScriptisstillItisthemainprogramminglanguageinwebbrowsers,anditsECMAScriptstandardizationensuresthatitbecomesapopularuniversalembeddedlanguage.
Tclwascreatedasanextensiblelanguage,butitismoreusedasageneral-purposelanguage,justlikePython,Perl,Ruby.
Others
1.BeanShell(scriptingforJava)
2.CobolScript
3.Escapade(serversidescripting)
p>4.Euphoria
5.F-Script
6.Ferite
7.Groovy
8.Gui4Cli
9.Io
10.KiXtart
11.Mondrian
12.ObjectREXX
13.Pike
14.Pliant
15.REBOL
16.ScriptBasic
17.ShorthandLanguage
18.Simkin
19.Sleep
20.StepTalk
21.VisualDialogScript
CommonscriptsLanguage
CShell
JavaScript
Nuva
Perl
PHP
Python
Ruby
Tcl
VBScript
CSS