programming language

honggarae 03/01/2022 1041

History

Therearemanylanguages​​usedforspecialpurposes,whichareonlyusedinspecialsituations.Forexample,PHPisspecificallyusedtodisplaywebpages;Perlismoresuitablefortextprocessing;Clanguageiswidelyusedinthedevelopmentofoperatingsystemsandcompilers(so-calledsystemprogramming).

Theemergenceofhigh-levelprogramminglanguages​​(alsoknownashigh-levellanguages)makescomputerprogramminglanguages​​nolongerrelyexcessivelyonaparticularmachineorenvironment.Thisisbecausehigh-levellanguages​​willbecompiledintodifferentmachinelanguages​​ondifferentplatformsinsteadofbeingexecuteddirectlybythemachine.OneofthemaingoalsofFORTRAN,oneoftheearliestprogramminglanguages,istoachieveplatformindependence.

Interpretation

Althoughmostlanguages​​canbecompiled(Compiled)andcanbeinterpreted(interpreted),butmostcanonlyrunwellinonesituation.Insomeprogrammingsystems,theprogramhastogothroughseveralstagesofcompilation.Generallyspeaking,thelatterstageofcompilationtendstobeclosertomachinelanguage.ThiscommonlyusedtechniquewasfirstusedinBCPLinthelate1960s.Thecompilerfirstcompilesarepresentationcalled"0code",andthenusesavirtualizertoconvertittorealcodethatcanrunonthemachine.ThissuccessfultechniquewaslaterusedinPascalandP-code,aswellasSmalltalkandbinarycode,althoughinmanycases,thecodeusedinthemiddleofthe

programdesignlanguage(24photos)

isoftenItisinterpreted,notcompiled.

Ifthetranslationmechanismusedistotranslatetheprogramcodetobetranslatedasawhole,andthenruntheinternalformat,thenthistranslationprocessiscalledcompilation.Therefore,acompilerisaprogramthattakesreadableprogramtext(calledsourcecode)asinputdata,andthenoutputsanexecutablefile(objectcode).Theoutputexecutablefilecanbemachinelanguage,directlyrunbythecentralprocessingunitofthecomputer,orabinarycodeofacertainsimulator.

Iftheprogramcodeistranslatedimmediatelyatruntime,thenthistranslationmechanismiscalledinterpretation.Interpretedprogramstendtorunslowerthancompiledprograms,buttheytendtobemoreflexiblebecausetheycaninteractwiththeexecutionenvironment.

Ingredients

Thetypesoflanguages​​varygreatly.However,generallyspeaking,therearenomorethanfourbasicingredients.

  1. Datacomponents.Usedtodescribethedatainvolvedintheprogram.

  2. Operationalcomponents.Usedtodescribetheoperationsincludedintheprogram.

  3. Controlingredients.Usedtoexpressthecontrolstructureintheprogram.

  4. Transferingredients.Usedtoexpressthetransmissionofdataintheprogram.

Featuresofprogramminglanguage

Programminglanguagehasfeaturessuchaspsychologicalengineeringandtechnology.

(1)Psychologicalcharacteristics:ambiguity,conciseness,locality,order,andtradition.

(2)Engineeringfeatures:portability,availabilityofdevelopmenttools,reusabilityandmaintainabilityofsoftware.

(3)Technicalfeatures:Languages​​thatsupportstructuredconstructionhelpreducethecomplexityoftheprogramloop,makingtheprogrameasytotestandmaintain.

Classification

Sincethe1960s,therehavebeenthousandsofprogramminglanguages​​publishedintheworld,butonlyasmallpartofthemhavebeenwidelyused.Fromtheperspectiveofthedevelopmentprocess,programminglanguages​​canbedividedinto4generations.

Thefirstgenerationofmachinelanguage

Machinelanguageiscomposedofbinary0and1codeinstructions.DifferentCPUshavedifferentinstructionsystems.Machinelanguageprogramsaredifficulttowrite,modify,andmaintain,requiringuserstodirectlyallocatestoragespace,andprogrammingefficiencyisextremelylow.Thislanguagehasbeengraduallyeliminated.

Thesecond-generationassemblylanguage

Assemblylanguageinstructionsarethesymbolizationofmachineinstructions,andthereisadirectcorrespondencewithmachineinstructions.Therefore,assemblylanguageisalsodifficulttolearnanduse.Shortcomingssuchaserror-proneanddifficultmaintenance.Butassemblylanguagealsohasitsownadvantages:itcandirectlyaccessthesysteminterface,andthemachinelanguageprogramtranslatedintotheassemblyprogramishighlyefficient.Fromtheperspectiveofsoftwareengineering,assemblylanguageisusedonlywhenthehigh-levellanguagecannotmeetthedesignrequirementsordoesnothavethetechnicalperformancetosupportacertainspecificfunction(suchasspecialinputandoutput).

Thethird-generationhigh-levellanguage

Thehigh-levellanguageisauser-orientedlanguagethatisbasicallyindependentofthetypeandstructureofthecomputer.Itsbiggestadvantageis:theformisclosetoarithmeticlanguageandnaturallanguage,andtheconceptisclosetotheconceptsthatpeopleusuallyuse.Onecommandofhigh-levellanguagecanreplaceseveral,dozensorevenhundredsofassemblylanguageinstructions.Therefore,high-levellanguages​​areeasytolearnanduse,havestrongversatility,andarewidelyused.Therearemanytypesofhigh-levellanguages,whichcanbefurtherclassifiedfromtwoaspects:applicationcharacteristicsanddescriptionsofobjectivesystems.1.ClassificationfromtheperspectiveofapplicationFromtheperspectiveofapplication,high-levellanguages​​canbedividedintobasiclanguages,structuredlanguages,andspecializedlanguages.(1)BasiclanguageBasiclanguageisalsocalleduniversallanguage.Ithasalonghistory,iswidelyspread,hasalargenumberofdevelopedsoftwarelibraries,hasalargenumberofusers,andisfamiliarandacceptedbypeople.Thelanguages​​thatbelongtothiscategoryareFORTRAN,COBOL,BASIC,ALGOL,etc.TheFORTRANlanguageisahigh-levellanguagethatiswidelypopularintheworldandisalsothefirsttobeused.Sincethe1990s,ithasalwaysoccupiedanimportantpositioninengineeringandscientificcomputingandhasbeenwelcomedbyscientificandtechnologicalpersonnel.BASIClanguageisaninteractivelanguagedevelopedintheearly1960stoadapttothetime-sharingsystem,whichcanbeusedforgeneralnumericalcalculationandtransactionprocessing.TheBASIClanguagehasasimplestructure,iseasytolearnanduse,andhasinteractivecapabilities.Ithasbecomeanintroductorylanguageformanybeginnerstolearnprogramming.(2)StructuredlanguageSincethe1970s,theideasofstructuredprogrammingandsoftwareengineeringhavebeenincreasinglyacceptedandappreciatedbypeople.Undertheirinfluence,someveryinfluentialstructuredlanguages​​haveappearedsuccessively.Thesestructuredlanguages​​directlysupportstructuredcontrolstructuresandhavestrongprocessstructureanddatastructurecapabilities.PASCAL,C,andAdalanguages​​aretheirprominentrepresentatives.PASCALlanguageisthefirstmodernhigh-levellanguagethatsystematicallyembodiestheconceptofstructuredprogramming.Theoriginalgoalofsoftwaredevelopmentistouseitasateachingtoolforstructuredprogramming.Becauseofitsclearmodules,completecontrolstructure,richdatatypesanddatastructures,stronglanguageexpressionability,andeasytransplantation,ithasnotonlybeendesignatedastheteachinglanguagebymanyuniversitiesathomeandabroad,butalsousedinscientificcomputing,dataprocessingandsystemsoftwaredevelopment.Ithasawiderrangeofapplications.TheClanguagehasrichfunctions,strongexpressionability,richoperatorsanddatatypes,flexibleandconvenientuse,wideapplication,strongtransplantationability,highcompilationquality,hightargetprogramefficiency,andhastheadvantagesofhigh-levellanguage.Atthesametime,Clanguagealsohasmanyfeaturesoflow-levellanguages,suchasallowingdirectaccesstophysicaladdresses,bitoperations,mostfunctionsofassemblylanguage,anddirecthardwareoperations.ThequalityoftheobjectprogramproducedbytheClanguagecompilercanbecomparabletothatoftheobjectprogramproducedbyassemblylanguage.Ithasthereputationof"portableassemblylanguage"andhasbecomeoneoftheimportantlanguages​​forwritingapplicationsoftware,operatingsystemsandcompilers.(3)Dedicatedlanguageisalanguagespeciallydesignedforaparticularapplication,usuallywithaspecialgrammaticalform.Generallyspeaking,thislanguagehasanarrowapplicationrange,anditsportabilityandmaintainabilityarenotasgoodasstructuredprogramminglanguages.Withthedevelopmentoftime,hundredsofprofessionallanguages​​havebeenused,andthemorewidelyusedlanguages​​areAPL,Forth,andLISP.Second,classificationfromthedescriptionofobjectivesystemsFromtheperspectiveofdescribingobjectivesystems,programminglanguages​​canbedividedintoprocess-orientedlanguages​​andobject-orientedlanguages.(1)Process-orientedlanguageisaprogramminglanguagecomposedof"datastructure+algorithm"programmingparadigm,calledprocess-orientedlanguage.Mostoftheprogramminglanguages​​introducedaboveareprocess-orientedlanguages.(2)Object-orientedlanguageisaprogramminglanguagecomposedof"object+message"programmingparadigm,calledobject-orientedlanguage.Themorepopularobject-orientedlanguages​​areDelphi,VisualBasic,Java,C++andsoon.Delphilanguagehasavisualdevelopmentenvironment,providesobject-orientedprogrammingmethods,andcandesignvariousapplicationswithWindowsfeatures(suchasdatabaseapplicationsystems,communicationsoftwareandthree-dimensionalvirtualreality,etc.),andcanalsodevelopmultimediaapplicationsystems.VisualBasiclanguageisabbreviatedasVB,whichisadevelopmentenvironmentandtoolsfordevelopingapplications.Ithasaverygoodgraphicaluserinterface,adoptsnewobject-orientedandevent-drivenmechanisms,andintegratesproceduralandstructuredprogramming.Itisagraphicalconceptioninapplicationdevelopment,withoutwritinganyprogram,youcaneasilycreateanapplicationprograminterface,anditisverysimilarorevenconsistentwiththeWindowsinterface.TheJavalanguageisanobject-orientedprogramminglanguagethatdoesnotdependonaspecificplatform.Itissimple,reliable,compilable,extensible,multi-threaded,structure-neutral,typedisplaydescription,dynamicstoragemanagement,andeasytounderstand.ItisanidealAprogramminglanguageusedtodevelopInternetapplicationsoftware.

Thefourthgenerationofnon-procedurallanguage

4GLisanon-procedurallanguage.Whencoding,only"whattodo"needstobestated,withouttheneedtodescribethedetailsofthealgorithm.Databasequeryandapplicationgeneratoraretwotypicalapplicationsof4GL.Userscanusedatabasequerylanguage(SQL)toperformcomplexoperationsontheinformationinthedatabase.TheuseronlyneedstotellSQLwherethecontenttobesearchedislocatedandwhatrootconditionsareusedtosearchfor,andSQLwillautomaticallycompletethesearchprocess.Theapplicationgeneratorisahigh-levellanguageprogramthat"automaticallygenerates"tomeettheneedsofusers.Itshouldbesaidthattherealfourth-generationprogramminglanguagehasnotyetappeared.Theso-calledfourth-generationlanguages​​mostlyrefertosoftwaretoolproductswith4GLfeaturesbasedonacertainlanguageenvironment,suchasSystemZ,suchasPowerBuilder,FOCUS,andsoon.Thefourth-generationprogramminglanguageisanapplication-orientedprogramminglanguagedesignedforendusers.Ithastheadvantagesofshorteningtheapplicationdevelopmentprocess,reducingmaintenancecosts,minimizingproblemsinthedebuggingprocess,andbeinguser-friendly.

Mainlanguage

  1. LanguageistheChineseversionofClanguage

  2. OlanguageOlanguageisoneAChinesecomputerlanguage(orpackage:Oassemblylanguage,Ointermediatelanguage,Ohigh-levellanguage)

  3. APT(AutomaticallyPro-grammedTools)-automaticnumericalcontrolprogram.Thefirstspeciallanguage,usedforCNCmachining,1956.

  4. FORTRAN(FORmulaTRANslation)-formulatranslationprogramminglanguage.Thefirstwidelyusedhigh-levellanguagecreatedconditionsfortheuseofcomputersbyscientificandengineeringtechnicians,1956.

  5. FLOW-MATIC.Thefirstlanguagesuitableforcommercialdataprocessing,itsgrammarissimilartoEnglishgrammar,1956.

  6. IPL-V(InformationProcessingLanguageV)-informationprocessinglanguage.Thefirsttableprocessinglanguagecanberegardedasanassemblylanguageonahypotheticalcomputersuitablefortableprocessing,1958.

  7. COMIT(COmpilerMassachusettsInstitutefoTechnology)-MassachusettsInstituteofTechnologycompilerprogram.Thefirstrealisticstringprocessingandpatternmatchinglanguage,1957.

  8. COBOL(COmmonBusinessOrientedLanguage)-acommonbusiness-orientedlanguage.Themostwidelyusedcommerciallanguage,itisahigh-levelprogramminglanguagesuitablefordataprocessing,1960.

  9. ALGOL60(ALGOrithmiclanguage60)-Algorithmlanguage60.Itisanimportantsymbolofprogramminglanguagetoshiftfromtechniquetoscience,whichischaracterizedbylocality,dynamicity,recursionandrigor,1960.

  10. Listprocessinglanguage(LIStProceessing——LISP.Introducedtheconceptoffunctionalprogrammingandtableprocessingfacilities,widelyusedinthefieldofartificialintelligence,1960.

  11. JOVIAL(JulesOwnVersionofIAL)-theJulestextoftheinternationalalgorithmlanguage.Thefirstlanguagewithcomprehensivefunctionssuchasprocessingscientificcalculations,input-outputlogicinformation,datastorageandprocessing.MostJOVIALcompilersarewritteninJOVIAL,1960.

  12. GPSS(General-purposeSystemsSimulator)-ageneral-purposesystemsimulationlanguage.Thefirstlanguagetomakesimulationapracticaltool,1961.

  13. JOSS(JohnniacOpen-ShopSystem-.Thefirstinteractivelanguage,ithasmanydialects,oncemadetime-sharingpractical,1964.

  14. FORMAC(FORmulaMAnipulationCompiler)-formulatranslationprogramminglanguageformulaprocessingcompiler.Thefirstlanguagewidelyusedinthefieldofmathematicalproblemsrequiringformalalgebraprocessing,1964.

  15. SIMULA(SIMUlationLAnguage)——simulationlanguage.Mainlyusedforsimulationlanguage,itisanextensionofALGOL60,1966.SIMULA67isanimprovementofSIMULAin1967.Theintroduced"class"conceptismodernprogrammingTheprecursoroftheconceptof"module"inthelanguage.

  16. APL/360(AProgrammingLanguage)-programminglanguage360.Alanguagethatprovidesmanyadvancedoperators,Enableprogrammerstowriteverycompactprograms,especiallythoseinvolvingmatrixcalculations,1967.

  17. PASCAL(PhilipsAutomaticSequenceCALcul-ator)——PhilipsAutomaticsequentialcomputerlanguage.AnimportantlanguagedevelopedonthebasisofALGOL60.Itsgreatestfeatureisconcisenessandstructure,1971.

  18. PROLOG(PROgramminginLOGic).Onekind.Alanguagefordealingwithlogicalproblems.Ithasbeenwidelyusedinrelationaldatabases,mathematicallogic,abstractproblemsolving,naturallanguageunderstandingandotherfields,1973.

  19. ADA.Amodernmodularlanguage.ItbelongstotheALGOLPASCALlanguagefamily,buthasmajorchanges.Itsmaincharacteristicsarestrongtypingandmodularization,easytoachieveindividualcompilation,providegenericfacilities,provideexceptionhandling,suitableforembeddedapplications,1979.

  20. Python'sbeststringprocessingscriptinglanguage.

  21. perlisascriptinglanguagewidelyusedinunix/linuxsystemmanagement.

  22. RubyisadynamiclanguagedesignedbytheJapanesethatiswidelystudiedandused.

  23. TheclassicCstructuredprogramminglanguage,itcanaccomplisheverythingyouwant.

  24. C++buildslarge-scalesoftware,requiresspeedandperformance,youcanuseit.

  25. Anobject-orientedlanguagebasedonJVMvirtualmachinedevelopedbyJAVASUNiswidelyusedinmobiledevices.

Thechoiceofprogramminglanguage

Thecharacteristicsofprogramminglanguagearedifferent,andtheapplicablefieldsarealsodifferent.Thefollowingintroducestheselectionmethodfromdifferentangles.

1.Applicationfieldsoftheproject

(1)Scientificengineeringcalculation.Alargenumberofstandardlibraryfunctionsareneededtohandlecomplexnumericalcalculations.Languages​​availableforselectionincludeFORTRANlanguage,Clanguage,etc.

(2)Dataprocessinganddatabaseapplication.SQLisadatabasequerylanguagedevelopedbyIBM,and4GLiscalledthe4thgenerationlanguage.

(3)Real-timeprocessing.Real-timeprocessingsoftwaregenerallyhashighperformancerequirements,andtheavailablelanguages​​includeassemblylanguageandAdalanguage.

(4)Systemsoftware.Whenwritingsystemsoftwaresuchasoperatingsystemandcompilationsystem,youcanchooseassemblylanguage,Clanguage,PascallanguageandAdalanguage.

(5)Artificialintelligence.Ifyouwanttocompletesystemsinthefieldofartificialintelligencesuchasknowledgebasesystems,expertsystems,decisionsupportsystems,reasoningengineering,languagerecognition,andpatternrecognition,youshouldchoosePrologandLisplanguages.

2.Themethodofsoftwaredevelopment

Sometimesthechoiceofprogramminglanguagedependsonthemethodofdevelopment.Ifyouwanttodevelopwitharapidprototypemodel,youmustbeabletoquicklyRealizetheprototype,so4GLshouldbeused.Ifitisanobject-orientedmethod,anobject-orientedlanguageprogrammingshouldbeused.

3.Softwareexecutionenvironment

Agoodprogrammingenvironmentcannotonlyeffectivelyimprovesoftwareproductivity,butalsoreduceerrorsandeffectivelyimprovesoftwarequality.

4.Thecomplexityofalgorithmsanddatastructures

Theproblemalgorithmsinthefieldsofscientificcomputing,real-timeprocessingandartificialintelligencearemorecomplex,whiledataprocessing,Problemsinthefieldofdatabaseapplications,systemsoftware,anddatastructures.Itismorecomplicated,soyoucanconsiderwhetheryouhavetheabilitytocompletecomplexalgorithmsortheabilitytoconstructcomplexdatastructureswhenchoosingalanguage.

5.Softwaredeveloper’sknowledge

Thechoiceofwritinglanguageisrelatedtothesoftwaredeveloper’sknowledgelevelandpsychologicalfactors,andthedevelopershouldcarefullyanalyzeThetypeofsoftwareproject,daretolearnnewknowledgeandmasternewtechnology.

DataModel

Theinternaldataofmoderncomputersareonlystoredinabinaryway,thatis,on-offmode.Variousdatarepresentinginformationintherealworld,suchasnames,bankaccountnumbers,metrics,andthesamelow-endbinarydata,areallorganizedthroughprogramminglanguages​​andbecomehigh-endconcepts.

Thesystemthatspecializesinprocessingdatainaprogramiscalledthetypesystemoftheprogramminglanguage;theresearchanddesignofthetypesystemiscalledtypetheory.Languages​​canbedividedintostaticallytypedsystems,suchasC++andJava,anddynamicallytypedsystems,suchasLisp,JavaScript,Tcl,andProlog.Theformercanbefurtherdividedintolanguages​​thatcontainmanifesttypes,thatis,thetypesofeachvariableandfunctionareclearlydeclared,ortype-inferredlanguages​​(suchasMUMPS,ML).

Mostlanguages​​canalsocombinecomplexdatastructuretypes(usingarrays,lists,stacks,files,etc.)onthebasisofbuilt-intypes.ObjectOrientedLanguage(ObjectOrientedLanguage,alsotranslatedas"ObjectOrientedLanguage")allowsprogrammerstodefinenewdatatypes,namely"objects"or"objects",aswellasfunctionsandmethodsthatrunontheobjects(Methods).

Inadditiontowhenandhowtodeterminetherelationshipbetweenexpressionsandtypes,anotherimportantquestioniswhichtypesaredefinedbythelanguageandwhichtypesareallowedasexpressionvalues.Low-endlanguages​​suchastheCprogramminglanguageallowprogramstonamememorylocations,memoryregions,andcompile-timeconstants;ANSICevenallowsexpressionstoreturnstructvalues.Functionallanguages​​generallyallowvariablestodirectlyusethevaluecalculatedatruntime,insteadofpointingoutthememoryaddresswherethevaluemaybestored.

Developmenttrend

Programdesignlanguageisanimportantaspectofsoftware.Itsdevelopmenttrendismodularization,simplicityandformalization.

  1. Modularity.Notonlythelanguagehasmodularcomponents,theprogramiscomposedofmodules,butthestructureofthelanguageitselfisalsomodular.

  2. Conciseness.Therearenotmanybasicconceptsinvolved,theingredientsaresimple,thestructureisclear,anditiseasytolearnanduse.

  3. Formalize.Developanappropriateformalsystemtodescribethegrammar,semantics,andpragmaticsofthelanguage.

Latest: Printing plate

Next: Information and Communication Engineering