Inafasiriwa moja kwa moja kutoka kwa Wikipedia ya Kiingereza na Tafsiri ya Google

Programu

Mchoro unaonyesha jinsi mtumiaji anavyoingiliana na programu ya programu kwenye kompyuta ya kawaida ya kompyuta .Maingiliano ya programu ya safu ya programu na mfumo wa uendeshaji , ambao huwasiliana na vifaa . Mishale huonyesha mtiririko wa habari.

Programu ya kompyuta , au programu tu, ni sehemu ya mfumo wa kompyuta ambayo ina data au maelekezo ya kompyuta, kinyume na vifaa vya kimwili ambavyo mfumo hujengwa. Katika uhandisi wa kompyuta na programu ya uhandisi , programu ya kompyuta ni habari zote zinazoendeshwa na mifumo ya kompyuta , mipango na data. Programu ya kompyuta inajumuisha mipango ya kompyuta , maktaba na data zinazohusiana na zisizo za kutekeleza, kama nyaraka za mtandaoni au vyombo vya habari vya digital . Vifaa vya kompyuta na programu zinahitajiana na haziwezi kutumika kwa kweli.

Kwa kiwango cha chini kabisa, msimbo wa kutekeleza una maagizo ya lugha ya mashine maalum kwa processor binafsi-kwa kawaida kituo cha usindikaji wa kati (CPU). Lugha ya mashine ina makundi ya maadili ya binary yanayoashiria maelekezo ya programu ambayo hubadilisha hali ya kompyuta kutoka kwa hali yake iliyotangulia. Kwa mfano, maelekezo yanaweza kubadilisha thamani iliyohifadhiwa mahali fulani ya kuhifadhi kwenye kompyuta-athari ambayo haionekani kwa mtumiaji. Maagizo yanaweza pia (kwa usahihi) kusababisha kitu kuonekana juu ya kuonyesha mfumo wa kompyuta-mabadiliko ya hali ambayo yanapaswa kuonekana kwa mtumiaji. Programu hiyo hutoa maelekezo kwa utaratibu ambao hutolewa, isipokuwa ielekezwa "kuruka" kwa maelekezo tofauti , au kuingiliwa (kwa sasa wasindikaji wengi wa msingi ni mkubwa, ambapo kila msingi unaweza kuendesha maelekezo kwa usahihi, basi, hata hivyo, kila programu ya programu inaendesha tu msingi mmoja kwa default, lakini programu fulani imefanywa kukimbia kwa wengi).

Programu nyingi zimeandikwa katika lugha za programu za kiwango cha juu ambazo ni rahisi na ufanisi zaidi kwa wajenzi kutumia kwa sababu wao ni karibu kuliko lugha za mashine kwa lugha za asili . [1] Lugha Kiwango cha juu cha ni kutafsiriwa katika lugha ya mashine kwa kutumia compiler au mkalimani au mchanganyiko wa mbili. Programu inaweza pia kuandikwa katika lugha ya mkutano wa kiwango cha chini, ambayo ina mawasiliano ya nguvu kwa maelekezo ya lugha ya mashine ya kompyuta na inatafsiriwa kwa lugha ya mashine kwa kutumia mkutano .

Yaliyomo

Historia

Muhtasari ( algorithm ) kwa nini ingekuwa kipande cha kwanza cha programu kilichoandikwa na Ada Lovelace katika karne ya 19, kwa injini ya Analytical iliyopangwa. Hata hivyo, wala Engine Analytical wala programu yoyote kwa ajili yake haijawahi kuundwa.

Nadharia ya kwanza kuhusu programu-kabla ya kuundwa kwa kompyuta kama tunawajua leo-ilipendekezwa na Alan Turing katika namba yake ya 1935 namba za kuzingatia na maombi ya Entscheidungsproblem (tatizo la uamuzi).

Hii hatimaye ilisababisha kuunda maeneo ya kitaaluma ya sayansi ya kompyuta na uhandisi wa programu, ambayo programu zote za kujifunza na uumbaji wake. Sayansi ya kompyuta ni nadharia zaidi (insha ya Turing ni mfano wa sayansi ya kompyuta), ambako kama uhandisi wa programu inalenga masuala zaidi ya vitendo.

Hata hivyo, kabla ya 1946, programu kama sisi sasa kuelewa-programu kuhifadhiwa katika kumbukumbu ya kuhifadhiwa-programu ya kompyuta digital-haikuwepo. Vifaa vya kwanza vya kompyuta za elektroniki vilikuwa vimebadilishwa tena ili "kuzibadilisha".

Aina

Karibu na majukwaa yote ya kompyuta, programu inaweza kugawanywa katika makundi mafupi machache.

Kusudi, au uwanja wa matumizi

Kulingana na lengo, programu ya kompyuta inaweza kugawanywa katika:

  • Programu ya programu
    ambayo ni programu ambayo inatumia mfumo wa kompyuta kufanya kazi maalum au kutoa kazi za burudani zaidi ya operesheni ya msingi ya kompyuta yenyewe. Kuna aina nyingi za programu ya programu, kwa sababu kazi nyingi ambazo zinaweza kufanywa na kompyuta ya kisasa ni orodha kubwa ya programu .
  • Programu ya mfumo
    ambayo ni programu inayoendesha vifaa vya kompyuta moja kwa moja, kutoa utendaji wa msingi unaohitajika na watumiaji na programu nyingine, na kutoa jukwaa la kuendesha programu ya programu. [2] Programu ya mfumo ni pamoja na:
    • Mifumo ya uendeshaji
      ambayo ni makusanyo muhimu ya programu ambayo inasimamia rasilimali na hutoa huduma za kawaida kwa programu nyingine inayoendesha "juu" yao. Programu za uangalizi , vifungo vya boot , shells na mifumo ya dirisha ni sehemu za msingi za mifumo ya uendeshaji. Katika mazoezi, mfumo wa uendeshaji unajazwa na programu ya ziada (ikiwa ni pamoja na programu ya programu) ili mtumiaji anaweza kufanya kazi fulani na kompyuta ambayo ina mfumo mmoja wa uendeshaji.
    • Dereva za hila
      ambayo inafanya kazi au kudhibiti aina fulani ya kifaa ambacho kinaunganishwa na kompyuta. Kila kifaa kinahitaji angalau moja dereva kifaa sambamba; kwa sababu kompyuta kawaida ina angalau kifaa cha pembejeo moja na angalau kifaa kimoja cha pato, kompyuta inahitaji dereva zaidi ya kifaa zaidi.
    • Vya kutumia
      ambayo ni mipango ya kompyuta iliyosaidiwa kusaidia watumiaji katika matengenezo na huduma za kompyuta zao.

  • Programu mbaya au zisizo
    ambayo ni programu ambayo imeendelezwa ili kuharibu na kuharibu kompyuta. Kwa hiyo, zisizo zisizo hazihitajiki. Malware inahusishwa kwa karibu na uhalifu unaohusishwa na kompyuta, ingawa baadhi ya mipango ya malicious inaweza kuwa iliyoundwa kama utani wa kitendo .

Hali au uwanja wa utekelezaji

  • Maombi ya Desktop kama vile vivinjari vya wavuti na Microsoft Office , pamoja na programu za smartphone na kibao (inayoitwa " programu "). (Kuna kushinikiza katika sehemu zingine za sekta ya programu ili kuunganisha maombi ya desktop na programu za simu, kwa kiasi fulani. Windows 8 , na baadaye Ubuntu Touch , ilijaribu kuruhusu mtindo huo wa interface ya maombi ya matumizi ya kutumika kwenye desktops, laptops na simulizi.)
  • Maandiko ya JavaScript ni vipande vya programu ambavyo vilivyoingia kwenye kurasa za wavuti ambazo zinaendeshwa moja kwa moja ndani ya kivinjari cha wavuti wakati ukurasa wa wavuti umefungwa bila haja ya programu ya kivinjari cha kivinjari. Programu iliyoandikwa katika lugha zingine za programu inaweza pia kuendeshwa ndani ya kivinjari cha wavuti ikiwa programu inaweza kutafsiriwa kwa JavaScript, au kama kivinjari cha kivinjari kinachounga mkono lugha hiyo imewekwa; mfano wa kawaida wa hati za mwisho ni ActionScript , ambazo zinaungwa mkono na Plugin ya Adobe Flash .
  • Programu ya seva , ikiwa ni pamoja na:
    • Programu za wavuti , ambazo hutumikia kwenye seva ya wavuti na matokeo yanayotokana na kurasa za wavuti kwenye vivinjari vya wavuti, kwa kutumia mfano PHP , Java , ASP.NET , au hata JavaScript inayoendesha kwenye seva . Katika nyakati za kisasa hizi huwa ni pamoja na baadhi ya JavaScript kuendeshwa kwenye kivinjari cha wavuti pia, kwa hali ambayo wao huendesha sehemu moja kwenye seva, sehemu kwenye kivinjari cha wavuti.
  • Plugins na upanuzi ni programu ambayo inapanua au kubadilisha utendaji wa kipande kingine cha programu, na inahitaji programu hiyo kutumika ili kufanya kazi;
  • Iliyoingia programu anakaa kama firmware ndani ya mifumo iliyoingia , vifaa wakfu kwa matumizi moja au matumizi ya wachache kama vile magari na televisheni (ingawa baadhi ya vifaa iliyoingia kama vile chipsets wireless inaweza wenyewe kuwa sehemu ya kawaida, mfumo zisizo iliyoingia kompyuta kama PC au smartphone). [3] Katika hali ya mfumo iliyoingia wakati mwingine hakuna tofauti ya wazi kati ya programu ya programu na programu ya programu. Hata hivyo, baadhi ya mifumo iliyoingia imetumia mifumo ya uingizaji iliyoingia , na mifumo hii inachukua tofauti kati ya programu ya programu na programu ya programu (ingawa kawaida itakuwa moja tu, imara, maombi ambayo daima imekimbia).
  • Microcode ni aina maalum, ambayo haijulikani ya programu iliyoingia ambayo inaelezea processor yenyewe jinsi ya kutekeleza msimbo wa mashine, kwa hiyo ni ngazi ya chini kuliko msimbo wa mashine. Ni kawaida mmiliki kwa mtengenezaji wa processor, na updates yoyote ya marekebisho ya programu ya microcode hutolewa na watumiaji (ambayo ni nafuu zaidi kuliko vifaa vya usindikaji wa usindikaji wa meli). Kwa hivyo programu ya kawaida haitatarajia kuhimili kamwe.

Vifaa vya programu

Vifaa vya programu ni pia programu katika mfumo wa programu au programu ambazo watengenezaji wa programu (pia wanajulikana kama programmers, coders, walaghai au wahandisi wa programu ) hutumia kuunda, kufuta , kudumisha (yaani kuboresha au kurekebisha), au kusaidia programu nyingine.

Programu imeandikwa katika lugha moja au zaidi ya programu; kuna lugha nyingi za programu zilizopo, na kila mmoja ana utekelezaji wa angalau moja, ambayo kila yake ina seti yake ya zana za programu. Zana hizi zinaweza kuwa programu za kujitegemea kama vile washiriki , wasimamizi , wakalimani , washirika , na wahariri wa maandishi , ambazo zinaweza kuunganishwa pamoja ili kukamilisha kazi; au wanaweza kuunda mazingira jumuishi ya maendeleo (IDE), ambayo inachanganya kazi nyingi au yote ya zana za kujitegemea. IDE zinaweza kufanya hivyo kwa kushawishi vifaa husika vya kibinafsi au kwa kutekeleza upya kazi zao kwa njia mpya. IDE inaweza kufanya iwe rahisi kufanya kazi maalum, kama vile kutafuta katika faili katika mradi fulani. Utekelezaji wa lugha nyingi za programu hutoa fursa ya kutumia zana zote mbili au IDE.

Mada

Usanifu

Mara nyingi watumiaji huona mambo tofauti na waandishi wa programu. Watu ambao hutumia kompyuta za kawaida za kawaida (kinyume na mifumo iliyoingizwa , kompyuta za analog na wajumbe wa juu ) mara nyingi huona safu tatu za programu zinazofanya kazi mbalimbali: jukwaa, programu, na programu ya mtumiaji.

  • Programu ya jukwaa
    Jukwaa ni pamoja firmware , madereva kifaa , mfumo wa uendeshaji , na kwa kawaida interface graphical user ambayo, kwa jumla, itaruhusu mtumiaji kuingiliana na kompyuta na yake peripherals (yanayohusiana vifaa). Programu ya jukwaa mara nyingi inakuja kutunzwa na kompyuta. Kwa PC moja huwa na uwezo wa kubadili programu ya jukwaa.
  • Programu ya programu
    Programu ya programu au Maombi ni nini watu wengi wanafikiri wakati wanafikiria programu. Mifano ya kawaida ni pamoja na vifaa vya ofisi na michezo ya video. Programu ya programu ya mara nyingi inunuliwa tofauti na vifaa vya kompyuta. Wakati mwingine maombi yanafungwa na kompyuta, lakini hiyo haibadili ukweli kwamba wao huendesha kama maombi ya kujitegemea. Maombi ni kawaida mipango ya kujitegemea kutoka kwa mfumo wa uendeshaji, ingawa mara nyingi hutumiwa kwa majukwaa maalum. Watumiaji wengi wanafikiria waunganisha, databases, na "programu nyingine" kama programu.
  • Programu iliyoandikwa na mtumiaji
    Mfumo wa watengenezaji wa maendeleo ya mwisho wa kukidhi mahitaji ya watumiaji maalum. Programu ya mtumiaji ni pamoja na templates za spreadsheet na templates neno processor . Hata filters za barua pepe ni aina ya programu ya mtumiaji. Watumiaji huunda programu hii wenyewe na mara nyingi hutazama jinsi muhimu. Kulingana na jinsi gani programu iliyoandikwa kwa mtumiaji imeunganishwa katika pakiti za programu za msingi, watumiaji wengi huenda hawajui tofauti kati ya paket za awali, na ni nini kilichoongezwa na wafanyakazi wa ushirikiano.

Utekelezaji

Programu ya kompyuta inapaswa "kubeba" kwenye hifadhi ya kompyuta (kama vile gari ngumu au kumbukumbu ). Mara baada ya programu imebeba, kompyuta ina uwezo wa kutekeleza programu. Hii inahusisha kutoa maagizo kutoka kwa programu ya programu , kupitia programu ya mfumo, kwenye vifaa ambavyo hatimaye hupokea maelekezo kama kanuni ya mashine . Kila maelekezo husababisha kompyuta kufanya data ya kusonga-operesheni, kufanya hesabu , au kubadilisha udhibiti wa udhibiti wa maagizo.

Mwendo wa data ni kawaida kutoka sehemu moja kwenye kumbukumbu hadi nyingine. Wakati mwingine inahusisha kusonga data kati ya kumbukumbu na madaftari ambayo huwezesha kupata kasi ya data katika CPU. Kusonga data, hasa kiasi kikubwa, inaweza kuwa na gharama kubwa. Kwa hiyo, wakati mwingine huepukwa kwa kutumia "maelekezo" kwa data badala yake. Mahesabu ni pamoja na shughuli rahisi kama kuongeza thamani ya kipengele cha data tofauti. Computations ngumu zaidi inaweza kuhusisha shughuli nyingi na vipengele data pamoja.

Ubora na kuaminika

Ubora wa Programu ni muhimu sana, hasa kwa programu za biashara na mfumo kama Microsoft Office , Microsoft Windows na Linux . Ikiwa programu ni kosa (buggy), inaweza kufuta kazi ya mtu, kukimbia kompyuta na kufanya mambo mengine yasiyotarajiwa. Hitilafu na makosa huitwa " mende " ambayo mara nyingi hugundulika wakati wa kupima alpha na beta. Programu mara nyingi pia ni mwathirika wa kile kinachojulikana kama uzeekaji wa programu , uharibifu wa utendaji wa kuendelea na mchanganyiko wa bugs zisizoonekana.

Mende nyingi hugunduliwa na kuondokana (debugged) kupitia kupima programu . Hata hivyo, kupima programu mara chache-ikiwa milele-huondosha kila mdudu; baadhi ya watayarishaji wanasema kwamba "kila programu ina mdudu mdogo zaidi" (Sheria ya Lubarsky). [4] Katika njia ya maporomoko ya maji ya maendeleo ya programu, timu za kupima tofauti hutumika kwa kawaida, lakini katika mbinu mpya, kwa pamoja huitwa maendeleo ya programu ya agile , watengenezaji mara nyingi hujaribu wenyewe, na huonyesha programu kwa watumiaji / wateja mara kwa mara kupata maoni. Programu inaweza kupimwa kupitia kupima kitengo , upimaji wa kupima na njia zingine, ambazo hufanyika kwa manually, au kwa kawaida, kwa moja kwa moja, kwa sababu kiasi cha kanuni ya kupimwa kinaweza kuwa kubwa sana. Kwa mfano, NASA ina taratibu za kupima programu nyingi sana kwa mifumo mingi ya uendeshaji na kazi za mawasiliano. Shughuli nyingi za NASA zinaingiliana na kutambua mipango ya amri. Hii inawawezesha watu wengi wanaofanya kazi katika NASA kuchunguza na kutathmini mifumo ya kazi kwa jumla. Programu zenye amri ya programu zinawezesha uhandisi wa vifaa na shughuli za mfumo wa kufanya kazi rahisi zaidi.

Leseni

Leseni ya programu inampa mtumiaji haki ya kutumia programu katika mazingira ya leseni, na katika kesi ya leseni za programu za bure , pia hupa haki nyingine kama vile haki ya kufanya nakala.

Programu ya mali inaweza kugawanywa katika aina mbili:

  • bureware , ambayo inajumuisha kiwanja cha programu ya "majaribio ya bure" au programu ya " freemium " (zamani, muda wa kushirikiana mara nyingi unatumiwa kwa programu ya bure ya majaribio / freemium). Kama jina linalopendekeza, bureware inaweza kutumika bure, ingawa katika kesi ya majaribio ya bure au programu ya freemium, hii wakati mwingine ni kweli tu kwa kipindi cha muda mdogo au kwa utendaji mdogo.
  • programu inapatikana kwa ada, mara nyingi huitwa " programu ya kibiashara ", ambayo inaweza kutumika kwa kisheria tu kwa ununuzi wa leseni.

Programu ya chanzo cha wazi , kwa upande mwingine, inakuja na leseni ya programu ya bure , ikitoa mpokeaji haki za kurekebisha na kugawa tena programu.

Hati

Programu za ruhusu, kama aina nyingine za ruhusa, ni kinadharia inayotakiwa kutoa mvumbuzi pekee ya leseni ya mdogo wa wazo (kwa mfano, algorithm) juu ya jinsi ya kutekeleza kipande cha programu, au sehemu ya kipande cha programu. Mawazo ya mambo muhimu ambayo programu inaweza kufanya , na mahitaji ya mtumiaji, haipaswi kuwa halali, na utekelezaji thabiti (yaani programu za programu halisi zinazozalisha patent) hazipaswi kuwezeshwa kuwa-hizi za mwisho zimefunikwa na hakimiliki, kwa ujumla moja kwa moja. Kwa hiyo programu za ruhusu zinapaswa kufunika eneo la kati, kati ya mahitaji na utekelezaji halisi. Katika baadhi ya nchi, mahitaji ya uvumbuzi uliotaiwa kuwa na athari kwenye ulimwengu wa kimwili pia inaweza kuwa sehemu ya mahitaji ya programu ya hati ya kibinafsi inayofanyika halali-ingawa tangu programu zote muhimu zinaathiri ulimwengu wa kimwili, mahitaji haya yanaweza kuwa kufungua mjadala. Wakati huo huo, sheria ya hati miliki ya Marekani ilitumika kwa masuala mbalimbali ya kuandika code ya programu. [5]

Programu za ruhusa zinakabiliwa katika sekta ya programu na watu wengi wanao na maoni tofauti kuhusu wao. Moja ya vyanzo vya mjadala ni kwamba mgawanyiko uliotajwa hapo juu kati ya mawazo ya awali na patent hauonekani kuheshimiwa katika mazoezi na wanasheria wa patent - kwa mfano patent ya Mpangilio wa Mpangilio wa Mpangilio (AOP), ambao ulidai kudai haki juu ya chombo chochote cha programu kutekeleza wazo la AOP, linalotumika kutekelezwa. Chanzo kingine cha mjadala ni athari ya uvumbuzi, na wataalamu wengi na makampuni maarufu wanadai kuwa programu hiyo ni shamba la haraka sana ambalo programu za ruhusu za programu zinaunda tu gharama kubwa za madai na hatari, na kwa kweli huzuia innovation. Katika kesi ya mjadala kuhusu vibali vya programu nje ya Umoja wa Mataifa, hoja hiyo imetolewa kuwa mashirika makubwa ya Marekani na wanasheria wa patent huwa ni faida kuu ya kuruhusu au kuendelea kuruhusu ruhusa za programu.

Tengeneza na utekelezaji

Kubuni na utekelezaji wa programu hutofautiana kulingana na utata wa programu. Kwa mfano, kubuni na uumbaji wa Neno la Microsoft lilichukua muda mwingi zaidi kuliko kubuni na kuendeleza Notepad ya Microsoft kwa sababu ya mwisho ina kazi zaidi ya msingi.

Programu ya kawaida imeundwa na kuundwa (imeandikwa / imeandikwa / iliyoandaliwa) katika mazingira ya maendeleo jumuishi (IDE) kama Eclipse , IntelliJ na Microsoft Visual Studio ambayo inaweza kurahisisha mchakato na kukusanya programu (ikiwa inafaa). Kama ilivyoelezwa katika sehemu tofauti, programu huundwa mara nyingi juu ya programu zilizopo na interface ya programu ya programu (API) ambayo programu ya msingi hutoa kama GTK + , JavaBeans au Swing . Maktaba (APIs) yanaweza kugawanywa kwa madhumuni yao. Kwa mfano, Mfumo wa Spring hutumiwa kutekeleza maombi ya biashara , maktaba ya Fomu za Windows hutumiwa kwa kubuni programu ya graphic interface ya user (GUI) kama Microsoft Word , na Windows Communication Foundation inatumiwa kwa kubuni huduma za wavuti . Wakati programu imeundwa, inategemea API. Kwa mfano, kama mtumiaji anajenga maombi ya desktop ya Microsoft Windows, anaweza kutumia maktaba ya NET Windows Forms ili kubuni programu ya desktop na kupiga API zake kama Fomu ya 1. Funika () na Form1.Show () [6] kwa karibu au kufungua programu, na uandike shughuli za ziada ambazo zinahitajika. Bila API hizi, programu hii inahitaji kuandika API hizi peke yake. Makampuni kama Oracle na Microsoft hutoa API zao wenyewe ili maombi mengi yameandikwa kwa kutumia maktaba yao ya programu ambayo kwa kawaida yana APIs nyingi ndani yao.

Miundo ya data kama vile meza za hashi , safu , na miti ya binary , na taratibu kama vile quicksort , inaweza kuwa na manufaa kwa kuunda programu.

Programu ya kompyuta ina sifa maalum za kiuchumi ambazo hufanya kubuni, uumbaji, na usambazaji wake tofauti na bidhaa nyingine za kiuchumi. [ taja ] [7] [8]

Mtu anayeunda programu inaitwa programu ya programu , mhandisi wa programu au programu ya programu , maneno ambayo yote yana maana sawa. Vipengele visivyo rasmi vya programu hupatikana pia kama "coder" na " hacker " - ingawa matumizi ya neno la mwisho inaweza kusababisha kuchanganyikiwa, kwa sababu mara nyingi hutumiwa kumaanisha mtu anayevunja kinyume cha sheria kwenye mifumo ya kompyuta .

Sekta na mashirika

Aina kubwa ya makampuni ya programu na waandaaji duniani hujumuisha sekta ya programu. Programu inaweza kuwa sekta ya faida kabisa: Bill Gates , mwanzilishi wa ushirikiano wa Microsoft alikuwa mtu tajiri duniani kote mwaka 2009, kwa kiasi kikubwa kutokana na umiliki wake wa idadi kubwa ya hisa katika Microsoft, kampuni inayohusika na Microsoft Windows na Microsoft Office programu za programu.

Mashirika yasiyo ya faida ya mashirika yanajumuisha Free Software Foundation , Mradi wa GNU na Mozilla Foundation . Mashirika ya kiwango cha programu kama vile W3C , IETF huendeleza viwango vya programu vilivyopendekezwa kama vile XML , HTTP na HTML , ili programu iweze kuingiliana kupitia viwango hivi.

Makampuni mengine makubwa ya programu ya programu ni Oracle , Novell , SAP , Symantec , Adobe Systems , Sidetrade na Corel , wakati makampuni madogo mara nyingi hutoa innovation.

Angalia pia

  • Programu ya kutolewa mzunguko wa maisha
  • Mteja wa programu ya kujitegemea
  • Orodha ya programu
  • Usimamizi wa mali ya Programu

Marejeleo

  1. ^ "Ujenzi wa compiler" .
  2. ^ "Programu ya Mfumo" . Chuo Kikuu cha Mississippi. Imehifadhiwa kutoka kwa asili awali ya 2001-05-30.
  3. ^ "Teknolojia za Programu za Teknolojia na Mwelekeo" . IEEE Computer Society. Mei-Juni 2009 . Iliondolewa Novemba 6, 2013 .
  4. ^ "maandishi ya kitabu cha akili" .
  5. ^ Gerardo Con Díaz, "Nakala Katika Mashine: Sheria ya Hakimiliki ya Marekani na Nyama nyingi za Programu, 1974-1978," Teknolojia na Utamaduni 57 (Oktoba 2016), 753-79.
  6. ^ "Maktaba ya MSDN" . Ilifutwa 2010-06-14 .
  7. ^ v. Engelhardt, Sebastian (2008). "Mali ya Kiuchumi ya Programu" . Jena Uchunguzi wa Uchumi wa Uchumi . 2 (2008-045.).
  8. ^ Kaminsky, Dan (1999). "Kwa nini Mfunguo wa Open ni Paradigm ya Kiuchumi ya Programu" .

Viungo vya nje