Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)

Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)
Dị ka ha na-ekwu, ọ bụrụ na ị na-adịghị ihere nke ochie gị koodu, mgbe ahụ ị na-adịghị na-eto eto dị ka a programmer - na m na-ekweta na nke a echiche. Amalitere m mmemme maka ntụrụndụ ihe karịrị afọ 40 gara aga, yana ọkachamara 30 afọ gara aga, yabụ enwere m ọtụtụ mmejọ. ukwuu. Dị ka prọfesọ sayensị kọmputa, m na-akụziri ụmụ akwụkwọ m ịmụta ihe site n’ihe ndị e mejọrọ—nke ha, nke m, na ndị ọzọ’. Echere m na oge eruola ikwu banyere ihe ndị m mejọrọ ka m wee ghara ịdị umeala n'obi. Enwere m olileanya na ha ga-abara mmadụ uru.

Ebe nke atọ - Microsoft C compiler

Onye nkuzi ụlọ akwụkwọ m kwenyere na Romeo na Juliet enweghị ike iwere dị ka ọdachi n'ihi na ndị odide ahụ enweghị obi amamikpe dị egwu - ha na-akpa àgwà nzuzu dị ka ndị ntorobịa kwesịrị. Ekwetaghị m ya n'oge ahụ, ma ugbu a, ahụrụ m mkpụrụ nke ezi uche n'echiche ya, karịsịa n'ihe gbasara mmemme.

Ka ọ na-erule mgbe m gụsịrị afọ nke abụọ na MIT, a bụ m nwata na enweghị ahụmahụ, ma na ndụ ma na mmemme. N'oge ọkọchị, etinyere m ọrụ na Microsoft, na ndị otu C compiler. Na mbụ, emere m ihe ndị a na-eme oge niile dị ka nkwado profaịlụ, mgbe ahụ e nyefere m n'aka ịrụ ọrụ na akụkụ kacha atọ ụtọ nke mkpokọta (dịka m chere) - njikarịcha azụ. Karịsịa, m ga-emeziwanye koodu x86 maka nkwupụta alaka ụlọ ọrụ.

Kpebisiri ike ide koodu igwe kachasị mma maka ikpe ọ bụla enwere ike, etinye m onwe m n'ime ọdọ mmiri ahụ n'isi. Ọ bụrụ na njupụta nkesa nke ụkpụrụ dị elu, m banyere ha tebụl mgbanwe. Ọ bụrụ na ha nwere nkesa nkịtị, m na-eji ya mee ka okpokoro ahụ sie ike (mana ọ bụrụ na enwere ike iji nkewa ahụ mee ya. ntakịrị mgbanwe). Mgbe ụkpụrụ niile bụ ike nke abụọ, emere m njikarịcha ọzọ. Ọ bụrụ na usoro ụkpụrụ emejughị ọnọdụ m afọ, m kewara ya n'ọtụtụ ikpe kachasị mma wee jiri koodu emezigharịrị.

Ọ bụ nro. Ọtụtụ afọ ka e mesịrị, a gwara m na onye mmemme nke ketara koodu m kpọrọ m asị.

Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)

Ihe mmụta

Dị ka David Patterson na John Hennessy dere na Kọmputa Architecture na Kọmputa Systems Design, otu n'ime isi ụkpụrụ nke ije na imewe bụ n'ozuzu ime ka ihe na-arụ ọrụ ngwa ngwa o kwere omume.

Ịmelite ikpe ndị a na-ahụkarị ga-eme ka arụmọrụ dịkwuo mma karịa ịkwalite ikpe ndị na-adịghị ahụkebe. N'ụzọ na-emegide onwe ya, ikpe ndị a na-ahụkarị na-adịkarị mfe karịa ndị na-adịghị ahụkebe. Ndụmọdụ ezi uche a na-eche na ị maara nke a na-ewere dị ka ihe nkịtị - na nke a ga-ekwe omume naanị site na usoro nke nlezianya nyocha na nha.

N'ịgbachitere m, agbalịrị m ịchọpụta otú okwu alaka ụlọ ọrụ dị ka n'omume (dị ka alaka ole e nwere na otú e si ekesa ihe ndị na-agbanwe agbanwe), ma na 1988 ozi a adịghị. Agbanyeghị, ekwesighi m ịgbakwunye ikpe pụrụ iche mgbe ọ bụla onye nchịkọta ugbu a enweghị ike iwepụta koodu kacha mma maka ihe atụ arụrụ arụ m wepụtara.

Achọrọ m ịkpọ onye nrụpụta nwere ahụmahụ na, ya na ya, chee echiche banyere ihe ndị a na-ahụkarị bụ ma mesoo ha kpọmkwem. M ga-ede obere koodu, mana nke ahụ dị mma. Dị ka onye nchoputa Stack Overflow Jeff Atwood dere, onye iro kacha njọ nke mmemme bụ onye mmemme n'onwe ya:

Ama m na i nwere ebumnobi kacha mma, dịka anyị niile na-eme. Anyị na-emepụta mmemme na mmasị ide koodu. Otú ahụ ka e si mee anyị. Anyị na-eche na a ga-edozi nsogbu ọ bụla site na teepu duct, crutch arụrụ n'ụlọ na obere koodu. Ka ọ na-ewute ndị coders ịnakwere ya, koodu kacha mma bụ koodu na-adịghị adị. Ahịrị ọhụrụ ọ bụla chọrọ nbipu na nkwado, ọ dị mkpa ka a ghọta ya. Mgbe ị gbakwunye koodu ọhụrụ, ị ga-eme ya na enweghị mmasị na ịkpọasị n'ihi na nhọrọ ndị ọzọ niile agwụla. Ọtụtụ ndị mmemme na-ede ọtụtụ koodu, na-eme ka ọ bụrụ onye iro anyị.

Ọ bụrụ na edere m koodu dị mfe nke na-ekpuchi ikpe nkịtị, ọ gaara adịrịrị mfe imelite ma ọ bụrụ na ọ dị mkpa. M hapụrụ ọgba aghara na-enweghị onye chọrọ ime.

Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)

Ebe nke abụọ: mgbasa ozi na netwọk mmekọrịta

Mgbe m na-arụ ọrụ na Google na mgbasa ozi mgbasa ozi mgbasa ozi (cheta Myspace?), Edere m ihe dị ka nke a na C++:

for (int i = 0; i < user->interests->length(); i++) {
  for (int j = 0; j < user->interests(i)->keywords.length(); j++) {
      keywords->add(user->interests(i)->keywords(i)) {
  }
}

Ndị mmemme nwere ike ịhụ njehie ahụ ozugbo: arụmụka ikpeazụ kwesịrị ịbụ j, ọ bụghị i. Nnwale otu nkeji ekpughere mperi ahụ, ma onye nyocha m emeghị. Emere mwepụta ahụ, n'otu abalị, koodu m gara na nkesa wee daa kọmpụta niile dị na ebe data.

Ọ dịghị ihe ọjọọ mere. Ọ dịghị ihe mebiri maka onye ọ bụla, n'ihi na tupu mmalite zuru ụwa ọnụ koodu a nwalere n'ime otu data center. Ọ gwụla ma ndị injinia SRE kwụsịrị igwu egwu billiard nwa oge wee mee ntakịrị ntụgharị. N'ụtụtụ echi, enwetara m ozi-e nwere mkpofu okuku, mezie koodu ahụ wee gbakwunye ule otu ga-enweta njehie ahụ. Ebe m gbasoro protocol - ma ọ bụghị ya, koodu m ga-ada ada - enweghị nsogbu ndị ọzọ.

Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)

Ihe mmụta

Ọtụtụ ndị ji n'aka na nnukwu ndudue dị otú ahụ ga-efunahụ onye ahụ mere ihe ọjọọ, ma nke a abụghị otú ahụ: nke mbụ, ndị mmemme niile na-emehie ihe, na nke abụọ, ọ na-esiri ha ike ime otu ihe ahụ ugboro abụọ.

N'ezie, enwere m enyi programmer bụ onye injinia mara mma ma chụọ ya n'ọrụ maka ime otu ndudue. Mgbe nke ahụ gasịrị, e goro ya na Google (na n'oge na-adịghị anya kwalite) - o kwuru n'eziokwu banyere mmejọ o mere na N'ajụjụ ọnụ, na e weere ya dị ka ọnwụ.

Nke ahụ bụ ihe gwa banyere Thomas Watson, onye isi akụkọ IBM:

Ekwuputara iwu gọọmentị nke ruru ihe dị ka otu nde dollar. Ụlọ ọrụ IBM - ma ọ bụ karịa, Thomas Watson Sr. n'onwe ya - chọrọ n'ezie ịnweta ya. O di nwute, onye nnochite anya ahia enweghi ike ime nke a ma IBM tufuru nzuko ahu. N'echi ya, onye ọrụ a batara n'ọfịs Maazị Watson ma tinye envelopu n'elu tebụl ya. Maazị Watson atụghịdị anya ile ya anya - ọ na-eche onye ọrụ ma mara na ọ bụ akwụkwọ ozi arụkwaghịm.

Watson jụrụ ihe merenụ.

Onye na-ere ahịa ahụ kwuru n'ụzọ zuru ezu banyere ọganihu nke nro. Ọ kpọrọ aha ihe ndị e mejọrọ nke a pụrụ izere. N'ikpeazụ, ọ sịrị, "Maazị Watson, daalụ maka ikwe ka m kọwaa. Amaara m ego ole anyị chọrọ usoro a. Amaara m otú ọ dịruru ná mkpa,” ma jikere ịpụ.

Watson bịakwutere ya n'ọnụ ụzọ, lere ya anya n'anya wee weghachi envelopu ahụ na okwu ndị a: “Olee otú m ga-esi hapụ gị ka ị laa? Naanị tinye otu nde dollar na agụmakwụkwọ gị.

Enwere m uwe elu nke na-ekwu, sị: "Ọ bụrụ na ị na-amụta ihe n'ezie site na mmejọ, ọ pụtara na abụ m nna ukwu." N'ezie, a bịa n'ihe gbasara mmejọ, abụ m dọkịta sayensị.

Ebe mbụ: App Inventor API

N'ezie njehie jọgburu onwe ya na-emetụta ọnụ ọgụgụ dị ukwuu nke ndị ọrụ, bụrụ ihe ọmụma ọha, na-ewe ogologo oge iji dozie, ma ndị na-enweghị ike ịme ha. Nnukwu ndudue m dabara na njirisi ndị a niile.

Nke ka njọ ka mma

Agụọla m Edemede nke Richard Gabriel banyere usoro a na nineties dị ka nwa akwụkwọ gụsịrị akwụkwọ, ọ masịrị m nke ukwuu nke na m jụrụ ya ụmụ akwụkwọ m. Ọ bụrụ na ichetaghị ya nke ọma, mee ka ncheta gị dị ọhụrụ, ọ dị obere. Edemede a na-egosi ọdịiche dị n'ọchịchọ nke "ịmepụta ya nke ọma" na ụzọ "dị njọ ka mma" n'ọtụtụ ụzọ, gụnyere ịdị mfe.

Otú ọ ga-esi dị: nhazi ahụ kwesịrị ịdị mfe na mmejuputa na interface. Ịdị mfe nke interface dị mkpa karịa mfe nke mmejuputa.

Nke ka njọ, ka mma: nhazi ahụ kwesịrị ịdị mfe na mmejuputa na interface. Ịdị mfe nke mmejuputa dị mkpa karịa mfe nke interface.

Ka anyị chefuo ihe ahụ otu nkeji. N'ụzọ dị mwute, echefuru m ya ruo ọtụtụ afọ.

Ngwa Ngwa

Mgbe m na-arụ ọrụ na Google, abụ m akụkụ nke otu ahụ Ngwa Ngwa, ebe a dọkpụrụ-na-dobe online mmepe maka ndị na-achọ ndị nrụpụta gam akporo. Ọ bụ 2009, anyị na-adịkwa ngwa ngwa ịhapụ ụdị alfa n'oge ka n'oge okpomọkụ anyị nwere ike ijide klas ndị ọkachamara maka ndị nkụzi nwere ike iji gburugburu ebe obibi na-akụzi ihe n'oge mgbụsị akwụkwọ. M wepụtara onwe m imejuputa sprites, enweghị mmasị maka otu m si ede egwuregwu na TI-99/4. Maka ndị na-amaghị, sprite bụ ihe eserese nwere akụkụ abụọ nwere ike ịmegharị na imekọrịta ihe na ngwa ngwa ndị ọzọ. Ọmụmaatụ nke sprites gụnyere oghere, asteroids, marble, na raket.

Anyị mebere ngwa mepụtara ihe na Java, yabụ enwere naanị ụyọkọ ihe dị n'ebe ahụ. Ebe bọọlụ na sprite na-akpa àgwà yiri nke ahụ, m mepụtara klas sprite nwere akụrụngwa (ubi) X, Y, Ọsọ (ọsọ) na isi (ntụziaka). Ha nwere otu ụzọ maka ịchọpụta nkuko, ịgbapụ na nsọtụ ihuenyo, wdg.

Isi ihe dị iche n'etiti bọọlụ na sprite bụ ihe a na-adọta kpọmkwem - okirikiri jupụtara ma ọ bụ raster. Ebe ọ bụ na m bu ụzọ tinye sprites, ọ bụ ihe ezi uche dị na ya ịkọwapụta x- na y-coordinates nke akuku akaekpe elu nke ebe onyonyo a dị.

Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)
Ozugbo sprite na-arụ ọrụ, ekpebiri m na m nwere ike ime ihe bọọlụ nwere obere koodu. Naanị nsogbu bụ na m weere ụzọ kachasị mfe (site n'echiche nke onye na-eme ihe), na-egosi x- na y-coordinates nke elu aka ekpe nke contour na-emepụta bọl ahụ.

Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)
N'ezie, ọ dị mkpa igosi x- na y-coordinates nke etiti okirikiri ahụ, dịka akuziri n'akwụkwọ mgbakọ na mwepụ ọ bụla na ebe ọ bụla ọzọ na-ekwu banyere okirikiri.

Mmejọ kacha emenye ihere na ọrụ mmemme m (ruo ugbu a)
N'adịghị ka mmejọ m gara aga, nke a metụtara ọ bụghị naanị ndị ọrụ ibe m, kamakwa ọtụtụ nde ndị ọrụ Inventor App. Ọtụtụ n'ime ha bụ ụmụaka ma ọ bụ ọhụrụ kpamkpam na mmemme. Ha ga-eme ọtụtụ usoro na-adịghị mkpa mgbe ha na-arụ ọrụ na ngwa ọ bụla nke bọọlụ ahụ dị. Ọ bụrụ na m na-echeta mmejọ m ndị ọzọ na-achị ọchị, mgbe ahụ nke a na-eme m ọsụsọ ọbụna taa.

Emechara m mechie ahụhụ a naanị n'oge na-adịbeghị anya, afọ iri ka e mesịrị. "Patched", ọ bụghị "obere", n'ihi na dị ka Joshua Bloch na-ekwu, API bụ ebighị ebi. Enweghị ike ịme mgbanwe nke ga-emetụta mmemme dị adị, anyị gbakwunyere ihe onwunwe OriginAtCenter nwere uru ụgha na mmemme ochie yana eziokwu na ihe niile ga-eme n'ọdịnihu. Ndị ọrụ nwere ike ịjụ ajụjụ ezi uche dị na ya: onye chere ọbụna itinye ebe mmalite ebe ọzọ karịa etiti. Onye? Nye otu onye mmemme nke dị umengwụ imepụta API nkịtị afọ iri gara aga.

Ihe mmụta ndị a mụtara

Mgbe ị na-arụ ọrụ na API (nke ihe fọrọ nke nta ka ọ bụrụ onye mmemme ọ bụla na-eme mgbe ụfọdụ), ị kwesịrị ịgbaso ndụmọdụ kacha mma akọwapụtara na vidiyo Joshua Bloch "Otu esi emepụta ezigbo API yana ihe kpatara o ji dị mkpa"ma ọ bụ na ndepụta nkenke a:

  • API nwere ike iwetara gị ma nnukwu uru yana nnukwu mmerụ ahụ.. API dị mma na-emepụta ndị ahịa ugboro ugboro. Ihe ọjọọ na-aghọ gị nrọ ebighị ebi.
  • API ọha, dị ka diamond, na-adịru mgbe ebighị ebi. Nye ya ihe niile: a gaghị enwe ohere ọzọ ime ihe niile ziri ezi.
  • Ndepụta API kwesịrị ịdị nkenke - otu ibe nwere klaasị na usoro mbinye aka na nkọwa, na-ewe ihe karịrị otu ahịrị. Nke a ga-enye gị ohere ịhazigharị API ngwa ngwa ma ọ bụrụ na ọ pụtaghị nke ọma na nke mbụ.
  • Kọwaa ihe eji eme ihetupu emejuputa API ma ọ bụ ọbụna na-arụ ọrụ na nkọwapụta ya. N'ụzọ dị otú a, ị ga-ezere mmejuputa atumatu na ịkọwapụta API anaghị arụ ọrụ kpamkpam.

Ọ bụrụ na m ji edemede arụrụ arụ dee ọbụna obere mkpirisi okwu, o yikarịrị ka m gaara achọpụtala njehie ahụ wee mezie ya. Ọ bụrụ na ọ bụghị, mgbe ahụ, otu n'ime ndị ọrụ ibe m ga-emerịrị ya. Mkpebi ọ bụla nke nwere nsonaazụ dị oke mkpa kwesịrị iche echiche maka opekata mpe otu ụbọchị (nke a metụtara ọ bụghị naanị na mmemme).

Aha nke edemede Richard Gabriel, "Kadị njọ Ka Mma," na-ezo aka na uru nke na-ebu ụzọ na-azụ ahịa-ọbụna na ngwaahịa na-ezughị okè-ebe onye ọzọ na-eji mgbe ebighị ebi na-achụ onye zuru okè. N'ịtụgharị uche na koodu sprite, achọpụtara m na ọ dịghịdị m mkpa idekwu koodu iji nweta ya. Ihe ọ bụla mmadụ nwere ike ikwu, emehiere m nke ukwuu.

nkwubi

Ndị mmemme na-emehie kwa ụbọchị, ma ọ na-ede koodu buggy ma ọ bụ na-achọghị ịnwale ihe ga-eme ka nkà na nrụpụta ha dịkwuo mma. N'ezie, ị nwere ike ịbụ onye mmemme n'emeghị nnukwu mmejọ dị ka m mere. Mana ọ gaghị ekwe omume ịghọ ezigbo onye mmemme na-aghọtaghị mmejọ gị ma mụta ihe site na ha.

M na-ezute mgbe niile ụmụ akwụkwọ na-eche na ha na-emehie ọtụtụ ihe na ya mere na-adịghị ebipụ maka mmemme. Amaara m ka ọrịa impostor si adịkarị na IT. Enwere m olileanya na ị ga-amụta nkuzi m depụtara - mana cheta nke bụ isi: onye ọ bụla n'ime anyị na-emehie ihe - ihere, ọchị, egwu. Ọ ga-eju m anya ma na-ewe m iwe ma ọ bụrụ na n'ọdịnihu enweghị m ihe zuru ezu iji gaa n'ihu n'isiokwu ahụ.

isi: www.habr.com

Tinye a comment