|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Skillnad mellan översatta och tolkade datorspråk?

    Skillnaden mellan översatta och tolkade datorspråk ligger i * hur * källkoden (programmet skriven av en människa) körs av datorn. Båda konverterar mänsklig läsbar kod till maskinläsbara instruktioner, men de gör det vid olika tidpunkter och på olika sätt:

    Översatt språk (sammanställda språk):

    * Översättningsprocess: A * Compiler * tar hela källkodprogrammet som input och översätter det till ett komplett maskinkodprogram (eller en mellanliggande representation som sedan översatts till maskinkod) * innan * programmet körs. Denna process kallas ofta *sammanställning *. Den resulterande maskinkoden är en separat fil (som en ".exe" i Windows eller en körbar fil på andra system).

    * exekvering: Den sammanställda maskinkoden körs sedan direkt av datorns processor.

    * hastighet: Generellt snabbare exekvering eftersom översättningen görs i förväg och processorn kör optimerad maskinkod direkt.

    * feldetektering: Kompileringsfel upptäcks * före * körtid. Kompilatorn kommer att identifiera syntaxfel och några semantiska fel under kompileringsprocessen.

    * Portabilitet: Vanligtvis mindre bärbar. Ett sammanställt program för ett operativsystem eller arkitektur kommer vanligtvis inte att köras på en annan utan kompilation.

    * Exempel: C, C ++, Go, Rust, Fortran

    Tolkade språk:

    * Översättningsprocess: En *tolk *tar källkodlinjen för rad (eller ibland i större bitar) och översätter och kör varje bit *omedelbart *. Det finns inget separat sammanställningssteg som producerar en fristående körbar.

    * exekvering: Tolkaren läser, översätter och kör koden samtidigt. Den producerar inte en separat maskinkodfil.

    * hastighet: Generellt långsammare exekvering på grund av översättningen på flygningen. Varje rad (eller bit) måste tolkas varje gång den körs.

    * feldetektering: Fel upptäcks ofta endast under körtid. Tolkaren kanske inte fångar alla fel förrän den problematiska koden har körts.

    * Portabilitet: Ofta mer bärbar. Så länge tolkaren är tillgänglig för en viss plattform kan källkoden vanligtvis köras.

    * Exempel: Python, JavaScript, Ruby, Perl, PHP

    hybridmetoder:

    Det är viktigt att notera att skillnaden inte alltid är tydlig. Vissa språk använder en hybridmetod:

    * Just-in-Time (JIT) Sammanställning: Språk som Java och C# sammanställer initialt källkoden till en mellanliggande representation (byte -kod). En JIT -kompilator översätter sedan denna mellanliggande representation till maskinkod *under runtime *. Detta kombinerar fördelarna med både tolkade och sammanställda språk:initial portabilitet (som tolkad) och snabbare exekvering av ofta använda kodavsnitt (som sammanställd).

    Sammanfattningsvis:Compilation översätter hela programmet på en gång * före * exekvering, vilket leder till snabbare exekvering men mindre portabilitet och upptäckt i förhand. Tolkning översätter och kör kodlinje för rad, vilket ger bättre portabilitet men långsammare exekvering och detektering av runtime -fel. Många moderna språk använder hybridmetoder för att få det bästa av båda världarna.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur hanterar en Turing -maskin olika sekvenskonfigurati…
    ·Ett sätt att bryta långa rader i CSS
    ·Hur du hittar en karaktär i en String
    ·Klassificera register som datorkomponenter?
    ·Hur man gör en INF -fil för en CAB
    ·Så att köra Start - up skript i XP
    ·Hur man skriver Computer Code
    ·Vilka är de två typerna av maskinspråk?
    ·Hur att fylla en Array i MATLAB
    ·Hur man gör ett torg i QuickBasic
    Utvalda artiklarna
    ·Skillnaden mellan JSF och JSP
    ·Vad är en datorkompilator och hur fungerar den i proce…
    ·Hur man använder mysqladmin Flush - värdar kodad i PH…
    ·Hur man Aktivera Fjärrhjälp i registret med WSH
    ·Hur Byt Pascal
    ·Hur man utvecklar en enkel kalkylator Med Java
    ·Hur man använder Itemcheck Event i Visual Basic 6.0
    ·Hur du ändrar en Upload Timeout i PHP
    ·Hur att skapa en metod med ett variabelt antal ingånga…
    ·Vad är en liten verktygsfält med begagnade kommandon …
    Copyright © Dator Kunskap https://www.dator.xyz