Assembler vs Mkalimani
Kwa ujumla, mkusanyaji ni programu ya kompyuta inayosoma programu iliyoandikwa katika lugha moja, inayoitwa lugha chanzi, na kuitafsiri hadi lugha nyingine, ambayo inaitwa lugha lengwa. Kijadi, lugha chanzi ni lugha ya kiwango cha juu kama vile C++ na lugha lengwa ni lugha ya kiwango cha chini kama vile lugha ya Bunge. Hata hivyo, kuna watunzi ambao wanaweza kubadilisha programu chanzo iliyoandikwa katika lugha ya Bunge na kuibadilisha kuwa msimbo wa mashine au msimbo wa kitu. Assemblers ni zana kama hizo. Kwa upande mwingine, Wakalimani ni zana zinazotekeleza maagizo yaliyoandikwa katika lugha fulani ya programu. Mkalimani anaweza kutekeleza moja kwa moja msimbo wa chanzo wa kiwango cha juu au kuutafsiri hadi kwa msimbo wa kati kisha kuufasiri au kutekeleza msimbo uliokusanywa mapema.
Mkusanyaji ni nini?
Assembler ni programu au zana inayotafsiri lugha ya Kusanyiko hadi msimbo wa mashine. Kwa hivyo, mkusanyaji ni aina ya mkusanyaji na msimbo wa chanzo umeandikwa katika lugha ya Bunge. Kukusanya ni lugha inayoweza kusomeka na binadamu lakini kwa kawaida huwa na uhusiano mmoja hadi mmoja na msimbo unaolingana wa mashine. Kwa hivyo mkusanyaji anasemekana kufanya tafsiri ya isomorphic (moja hadi moja ya ramani). Vikusanyaji vya hali ya juu hutoa vipengele vya ziada vinavyosaidia uundaji wa programu na michakato ya utatuzi. Kwa mfano, aina ya viunganishi vinavyoitwa macro assemblers hutoa kituo kikubwa.
Mkalimani ni nini?
Mkalimani ni programu ya kompyuta au zana inayotekeleza maagizo ya upangaji. Mkalimani anaweza kutekeleza msimbo wa chanzo moja kwa moja au kubadilisha chanzo hadi msimbo wa kati na kuutekeleza moja kwa moja au kutekeleza msimbo uliokusanywa awali na mkusanyaji (baadhi ya mifumo ya mkalimani inajumuisha mkusanyaji wa kazi hii). Lugha kama Perl, Python, MATLAB na Ruby ni mifano ya lugha za programu zinazotumia msimbo wa kati. UCSD Pascal anatafsiri nambari iliyokusanywa mapema. Lugha kama vile Java, BASIC na Samlltalk kwanza hukusanya chanzo hadi msimbo wa kati unaoitwa bytecode na kisha kuufasiri.
Kuna tofauti gani kati ya Mkusanyaji na Mkalimani?
Kikusanyaji kinaweza kuchukuliwa kuwa aina maalum ya kikusanyaji, ambacho hutafsiri tu lugha ya Kusanyiko hadi msimbo wa mashine. Wakalimani ni zana zinazotekeleza maagizo yaliyoandikwa katika lugha fulani. Mifumo ya mkalimani inaweza kujumuisha mkusanyaji kukusanya msimbo kabla ya kufasiriwa, lakini mkalimani hawezi kuitwa aina maalum ya mkusanyaji. Wakusanyaji hutoa msimbo wa kitu, ambacho kinaweza kuunganishwa kwa kutumia programu za kiunganishi ili kufanya kazi kwenye mashine, lakini wakalimani wengi wanaweza kukamilisha utekelezaji wa programu peke yao. Mkusanyaji kwa kawaida atafanya tafsiri moja hadi moja, lakini hii si kweli kwa wakalimani wengi. Kwa sababu lugha ya mkusanyiko ina ramani moja hadi moja kwa kutumia msimbo wa mashine, kiunganishi kinaweza kutumika kutengeneza msimbo unaofanya kazi kwa ufanisi sana kwa matukio ambayo utendakazi ni muhimu sana (kwa mfano, injini za michoro, mifumo iliyopachikwa iliyo na nyenzo chache za maunzi ikilinganishwa na kompyuta ya kibinafsi. kama vile microwaves, mashine za kuosha n.k.). Kwa upande mwingine, wakalimani hutumiwa wakati unahitaji kubebeka kwa hali ya juu. Kwa mfano, msimbo sawa wa Java unaweza kuendeshwa kwenye mifumo tofauti kwa kutumia mkalimani anayefaa (JVM).