<prompt> Linganisha na linganisha dhana tofauti za utayarishaji.  <response>: Mielekeo ya upangaji ni mbinu au mitindo tofauti ya kupanga na kupanga msimbo. Baadhi ya dhana za kawaida za upangaji ni pamoja na sharti, tamko, zenye mwelekeo wa kitu, utendakazi, na upangaji wa utaratibu. Upangaji wa programu muhimu unajumuisha kuorodhesha safu ya hatua za kutatua tatizo. Hii ni pamoja na kuiambia kompyuta nini cha kufanya na jinsi ya kuifanya. Upangaji wa lazima kwa kawaida hutumiwa kutatua matatizo kwa mpangilio, hatua kwa hatua. Mifano ya lugha muhimu za upangaji ni pamoja na C, C, na Java. Programu ya kutangaza, kwa upande mwingine, inahusisha kubainisha matokeo yaliyohitajika, badala ya kuelezea hatua za kufikia. Mbinu hii inazingatia nini badala ya jinsi gani - kipanga programu hufafanua matokeo yanayohitajika na huruhusu kompyuta kuamua njia bora ya kuifanikisha. Lugha za kutangaza programu ni pamoja na SQL, HTML, na Prolog. Upangaji unaolenga kitu OOP ni dhana ya upangaji ambayo inahusisha kupanga msimbo katika vitu ambavyo vina mali na mbinu. Vitu hivi huingiliana ili kutatua matatizo, na huwekwa kulingana na vitu na dhana za ulimwengu halisi. OOP inasisitiza utumiaji wa msimbo na kurahisisha kupanga msimbo changamano. Mifano ya lugha za programu zinazolenga kitu ni pamoja na Java, C, na Python. Upangaji programu ni dhana ya upangaji ambayo inalenga kutumia vitendaji safi na kuepuka hali ya pamoja au data inayoweza kubadilika. Inatumia dhana ya utendaji wa hali ya juu, na inasisitiza matumizi ya kujirudia na kutobadilika. Lugha zinazofanya kazi za programu ni pamoja na Haskell, Lisp, na Scheme. Upangaji wa utaratibu ni sehemu ndogo ya upangaji wa lazima, na inahusisha kupanga kanuni katika taratibu, ambazo ni subroutines zinazofanya kazi maalum. Upangaji wa utaratibu unafaa zaidi kwa programu ambazo ni rahisi na rahisi kufuata, na zinaweza kutumika kutekeleza algorithms au kutatua shida maalum. Mifano ya lugha za upangaji programu ni pamoja na Pascal, C, na Fortran. 