Prieš „Java“ atsirado C # programavimo kalbos, tik kompiuterinės programos sudaryta arba interpretuojama. Kalbos, tokios kaip „Assembly Language“, „C“, „C ++“, „Fortran“, „Pascal“, beveik visada buvo sudaromos į mašininius kodus. Paprastai buvo aiškinamos tokios kalbos kaip „Basic“, „VbScript“ ir „JavaScript“.
Taigi, kuo skiriasi sudaryta programa nuo interpretuojamos?
Kompiliavimas
Norėdami parašyti programą, atlikite šiuos veiksmus:
- Redaguoti programą
- Sudarykite programą į mašininio kodo failus.
- Susiekite mašinos kodo failus į paleidžiamą programą (dar vadinamą exe).
- Derinkite arba paleiskite programą
Su kai kuriomis kalbomis, tokiomis kaip „Turbo Pascal“ ir „Delphi“, derinami 2 ir 3 žingsniai.
Mašinos kodo failai yra savarankiški kompiuterio kodo moduliai, kuriuos reikia susieti, kad būtų sukurta galutinė programa. Atskirų mašinų kodų failų turėjimo priežastis yra efektyvumas; kompiliatoriams tereikia perkompiliuoti pirminis kodas kurie pasikeitė. Nepakeistų modulių mašinos kodo failai yra naudojami pakartotinai. Tai vadinama paraiškos pateikimu. Jei norite perkompiliuoti ir atkurti visą šaltinio kodą, tai vadinama „Build“.
Susiejimas yra techniškai sudėtingas procesas, kai visi funkcijų kvietimai tarp skirtingų modulių yra sujungti, o atminties vietos yra paskirstomos kintamieji ir visas kodas išdėstomas atmintyje, tada įrašomas į diską kaip visa programa. Tai dažnai yra lėtesnis žingsnis nei kompiliavimas, nes visi kompiuterio kodo failai turi būti nuskaityti atmintyje ir susieti.
Vertimas žodžiu
Programos paleidimas per vertėją yra toks:
- Redaguoti programą
- Derinkite arba paleiskite programą
Tai daug greitesnis procesas ir jis padeda pradedantiesiems programuotojams greičiau redaguoti ir išbandyti savo kodą nei naudojant kompiliatorių. Trūkumas yra tas, kad interpretuojamos programos veikia daug lėčiau nei sudarytos programos. 5–10 kartų lėčiau, nes kiekviena kodo eilutė turi būti perskaityta, tada pakartotinai apdorota.
Įveskite „Java“ ir C #
Abi šios kalbos yra pusiau sudarytos. Jie sukuria tarpinį kodą, kuris yra optimizuotas aiškinimui. Ši tarpinė kalba nepriklauso nuo pagrindinės aparatinės įrangos ir tai palengvina perkėlimą programos, parašytos kitiems procesoriams, tol, kol tam yra parašytas vertėjas aparatinė įranga.
„Java“, kai ji sudaroma, sukuria baitinį kodą, kurį „Java“ virtualioji mašina (JVM) interpretuoja vykdymo metu. Daugelis JVM naudoja „Just-In-Time“ kompiliatorių, kuris konvertuoja baitinį kodą į vietinį kompiuterio kodą ir paleidžia tą kodą, kad padidintų aiškinimo greitį. Iš tikrųjų „Java“ šaltinio kodas sudaromas dviem etapais.
C # sudedamas į bendrąją tarpinę kalbą (CIL, anksčiau žinomą kaip Microsoft tarpinė kalba MSIL). Tai valdo „Common Language Runtime“ (CLR), dalis .NET sistemos, aplinkos, teikiančios tokias palaikymo paslaugas kaip šiukšlių rinkimas ir tiesioginio laiko kaupimas.
Tiek „Java“, tiek „C #“ naudoja spartinimo techniką, todėl efektyvusis greitis yra beveik toks pat greitas kaip grynai sudarytos kalbos. Jei programa praleidžia daug laiko įvesdama ir išvesdama, pavyzdžiui, skaitydama disko failus ar paleisdama programą duomenų bazę užklausų, greičio skirtumas yra vos pastebimas.
Ką tai reiškia man?
Jei neturite labai specifinio greičio poreikio ir turite padidinti kadrų dažnį pora kadrų per sekundę, galite pamiršti apie greitį. Bet kuris iš C, C ++ ar C # užtikrins pakankamą žaidimų, kompiliatorių ir operacinių sistemų greitį.