Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)

Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)
Njengoba besho, uma ungenamahloni ngekhodi yakho endala, awukhuli njengomhleli - futhi ngivumelana nalo mbono. Ngaqala ukwenza izinhlelo ukuze ngizijabulise eminyakeni engu-40 edlule, futhi ngokomsebenzi eminyakeni engu-30 edlule, ngakho nginamaphutha amaningi. kakhulu kakhulu. Njengoprofesa wesayensi yekhompyutha, ngifundisa abafundi bami ukuthi bafunde emaphutheni—abo, awami, nawabanye. Ngicabanga ukuthi sekuyisikhathi sokukhuluma ngamaphutha ami ukuze ngingalahlekelwa isizotha sami. Ngethemba ukuthi zizoba usizo kumuntu.

Indawo yesithathu - I-Microsoft C compiler

Uthisha wami wesikole wayekholelwa ukuthi uRomeo noJuliet abanakubhekwa njengenhlekelele ngoba abalingisi babengenalo icala elidabukisayo - bamane baziphatha ngobuwula, njengoba kufanele intsha. Angizange ngivumelane naye ngaleso sikhathi, kodwa manje ngibona uhlamvu lwengqondo embonweni wakhe, ikakhulukazi mayelana nezinhlelo.

Ngesikhathi ngiqeda unyaka wami wesibili e-MIT, ngangisemncane futhi ngingenalwazi, kokubili empilweni nasekuhleleni. Ehlobo, ngasebenza e-Microsoft, eqenjini le-compiler C. Ekuqaleni ngenza izinto ezivamile ezifana nokusekelwa kwephrofayela, ngase ngiphathiswe ukusebenza engxenyeni ejabulisayo kakhulu ye-compiler (njengoba ngangicabanga) - ukulungiswa kwe-backend. Ikakhulukazi, bekufanele ngithuthukise ikhodi ye-x86 yezitatimende zegatsha.

Ngizimisele ngokubhala ikhodi yomshini efanelekile yazo zonke izimo ezingaba khona, ngaziphonsa echibini ngamawala. Uma ukuminyana kokusabalalisa kwamanani kwakuphezulu, ngangiwafaka kuwo ithebula lenguquko. Uma babene-disor evamile, ngangiyisebenzisela ukwenza itafula liqine (kodwa kuphela uma ukuhlukaniswa kungenziwa ngokusebenzisa ukushintsha kancane). Lapho wonke amanani engamandla amabili, ngenza okunye ukwenza ngcono. Uma iqoqo lamanani lingazange linelise imibandela yami, ngilihlukanisa libe izimo ezimbalwa ezilungisekayo futhi ngisebenzise ikhodi esesivele ilungiselelwe.

Kwakuyiphupho elibi. Ngemva kweminyaka eminingi ngatshelwa ukuthi umdidiyeli owazuza ikhodi yami ngofuzo wayengizonda.

Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)

Isifundo esitholiwe

Njengoba uDavid Patterson noJohn Hennessy bebhala kuComputer Architecture kanye neComputer Systems Design, omunye wemigomo esemqoka yezokwakha nokuklama ukwenza izinto zisebenze ngokushesha okukhulu.

Ukusheshisa izimo ezivamile kuzothuthukisa ukusebenza ngempumelelo kunokuthuthukisa izimo ezingavamile. Okuxakayo ukuthi izimo ezijwayelekile zivame ukuba lula kunalezo ezingavamile. Lesi seluleko esinengqondo sithatha ukuthi uyazi ukuthi yiliphi icala elithathwa njengelijwayelekile - futhi lokhu kungenzeka kuphela ngenqubo yokuhlola nokulinganisa ngokucophelela.

Lapho ngiziphendulela, ngazama ukuthola ukuthi izitatimende zegatsha zibukeka kanjani (njengokuthi mangaki amagatsha nokuthi amagatsha asakazwa kanjani), kodwa ngo-1988 kwakungatholakali lokhu kwaziswa. Nokho, bekungafanele ngengeze izimo ezikhethekile noma nini lapho isihlanganisi samanje singakwazi ukukhiqiza ikhodi elungile yesibonelo sokwenziwa engiqhamuke naso.

Bengidinga ukubiza umthuthukisi onolwazi futhi, kanye naye, ngicabange ngokuthi amacala avamile ayeyini futhi ngibhekane nawo ngokuqondile. Ngingabhala ikhodi encane, kodwa lokho kuyinto enhle. Njengoba umsunguli we-Stack Overflow uJeff Atwood abhala, isitha esibi kakhulu somhleli ngumqambi ngokwakhe:

Ngiyazi ukuthi unezinhloso ezinhle kakhulu, njengathi sonke. Sakha izinhlelo futhi sithande ukubhala ikhodi. Senziwe kanjalo. Sicabanga ukuthi noma iyiphi inkinga ingaxazululwa nge-duct tape, i-crutch yasekhaya kanye nephinikhodi yekhodi. Njengoba kubuhlungu amakhodi ukuvuma, ikhodi engcono kakhulu ikhodi engekho. Umugqa ngamunye omusha udinga ukulungisa iphutha nokusekelwa, udinga ukuqondwa. Uma ungeza ikhodi entsha, kufanele ukwenze ngokungabaza nangokunengeka ngoba zonke ezinye izinketho seziphelile. Abahleli bohlelo abaningi babhala ikhodi eningi kakhulu, bayenze isitha sethu.

Ukube bengibhale ikhodi elula ehlanganisa amacala ajwayelekile, bekungaba lula kakhulu ukuyibuyekeza uma kunesidingo. Ngashiya isiphithiphithi esingafunwa muntu.

Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)

Indawo yesibili: ukukhangisa ezinkundleni zokuxhumana

Ngenkathi ngisebenza kwa-Google ekukhangiseni ezinkundleni zokuxhumana (uyakhumbula i-Myspace?), ngibhale into efana nale ku-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)) {
  }
}

Abahleli bangase babone iphutha ngokushesha: impikiswano yokugcina kufanele ibe j, hhayi i. Ukuhlolwa kweyunithi akulivezanga iphutha, kanye nombuyekezi wami. Ukwethulwa kwenziwa, futhi ngobunye ubusuku ikhodi yami yaya kuseva futhi yaphahlaza wonke amakhompyutha esikhungweni sedatha.

Akukho okubi okwenzekile. Akukho lutho oluphukile kunoma ubani, ngoba ngaphambi kokwethulwa komhlaba wonke ikhodi yahlolwa ngaphakathi kwesikhungo esisodwa sedatha. Ngaphandle kwalapho onjiniyela be-SRE bayeke ukudlala amabhiliyade isikhashana futhi benza ukubuyisela emuva kancane. Ngakusasa ekuseni ngathola i-imeyili enokulahlwa kokuphahlazeka, ngalungisa ikhodi futhi ngengeza ukuhlolwa kweyunithi okungabamba iphutha. Njengoba ngilandele umthetho olandelwayo - ngaphandle kwalokho ikhodi yami izovele yehluleke ukusebenza - azikho ezinye izinkinga.

Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)

Isifundo esitholiwe

Abaningi bayaqiniseka ukuthi iphutha elikhulu elinjalo lizobiza ukuxoshwa kwecala, kodwa akunjalo: okokuqala, bonke abahleli benza amaphutha, futhi okwesibili, abavamile ukwenza iphutha elifanayo kabili.

Eqinisweni, nginomngane womklami wezinhlelo owayengunjiniyela okhaliphile futhi waxoshwa ngokwenza iphutha elilodwa. Ngemva kwalokho, waqashwa ku-Google (futhi ngokushesha wakhushulwa) - wakhuluma ngokwethembeka ngephutha elenza ku-interview, futhi akuzange kubhekwe njengokubulala.

Yilokho tshela mayelana noThomas Watson, inhloko edumile ye-IBM:

Kwamenyezelwa umyalelo kahulumeni obiza cishe isigidi samaRandi. I-IBM Corporation - noma kunalokho, uThomas Watson Sr. mathupha - wayefuna ngempela ukuyithola. Ngeshwa, omele ukuthengisa akakwazanga ukwenza lokhu futhi i-IBM ilahlekelwe yibhidi. Ngakusasa, lesi sisebenzi sangena ehhovisi likaMnu. Watson sabeka imvilophu phezu kwedeski lakhe. UMnu. Watson akazange azihluphe nangokuyibheka - wayelinde isisebenzi futhi azi ukuthi kwakuyincwadi yokwesula.

UWatson wabuza ukuthi konakelephi.

Omele abadayisi ukhulume kabanzi mayelana nokuqhubeka kwethenda. Ubalule amaphutha enziwe abengagwemeka. Ekugcineni, wathi, “Mnu. Watson, ngiyabonga ngokungivumela ukuba ngichaze. Ngiyazi ukuthi besilidinga kangakanani leli oda. Ngiyazi ukuthi wayebaluleke kangakanani,” wayeselungela ukuhamba.

UWatson waya kuye emnyango, wambheka emehlweni wabe esebuyisela imvilophu enamagama: “Ngingakuyeka kanjani uhambe? Ngisanda kutshala isigidi samadola emfundweni yakho.

Nginesikibha esithi: “Uma ngempela ufunda emaphutheni, kusho ukuthi sengiyingcweti kakade.” Eqinisweni, uma kuziwa emaphutheni, ngingudokotela wesayensi.

Indawo yokuqala: I-App Inventor API

Amaphutha amabi ngempela athinta inani elikhulu labasebenzisi, abe nolwazi olusesidlangalaleni, athatha isikhathi eside ukuwalungisa, futhi enziwa yilabo abebengakwazi ukuwenza. Iphutha lami elikhulu lihambisana nazo zonke lezi zimo.

Okubi kakhulu kungcono

Ngifundile Indaba kaRichard Gabriel ngale ndlela eminyakeni yamashumi ayisishiyagalolunye njengomfundi oneziqu, futhi ngiyithanda kakhulu kangangokuthi ngiyicela kubafundi bami. Uma ungayikhumbuli kahle, vuselela inkumbulo yakho, incane. Lesi sihloko siqhathanisa isifiso "sokuthola kahle" kanye nendlela "yokubi kakhulu" ngezindlela eziningi, kuhlanganise nokulula.

Kufanele kube kanjani: ukuklama kufanele kube lula ekusetshenzisweni nasekusebenzeni. Ubulula besixhumi esibonakalayo bubaluleke kakhulu kunokusebenzisa ubulula.

Okubi nakakhulu, okungcono: umklamo kufanele ube lula ekusetshenzisweni nasekusetshenzisweni. Ubulula bokusebenzisa bubaluleke kakhulu kunobulula besixhumi esibonakalayo.

Ake sikukhohlwe lokho umzuzu. Ngeshwa, iminyaka eminingi ngiyikhohliwe.

Umsunguli wohlelo lokusebenza

Ngenkathi ngisebenza kwa-Google, ngangiyingxenye yeqembu Umsunguli wohlelo lokusebenza, imvelo yokuthuthukiswa kokudonsa nokuwisa ku-inthanethi yabathuthukisi abasafufusa be-Android. Kwakungu-2009, futhi sasijahe ukukhipha inguqulo ye-alpha kusenesikhathi ukuze ehlobo sikwazi ukubamba amakilasi othisha ababengasebenzisa imvelo lapho befundisa ekwindla. Ngavolontiya ukusebenzisa i-sprites, i-nostalgic ngendlela engangivame ukubhala ngayo imidlalo ku-TI-99/4. Kulabo abangazi, i-sprite iyisithombe esinezinhlangothi ezimbili esinganyakaza futhi sihlanganyele nezinye izici zesoftware. Izibonelo zama-sprite zifaka imikhumbi-mkhathi, ama-asteroids, amamabula, namarakhethi.

Senze i-App Inventor egxile entweni ku-Java, ngakho-ke kukhona nje inqwaba yezinto lapho. Njengoba amabhola nama-sprites eziphatha ngendlela efanayo, ngidale i-abstract sprite class enezakhiwo (izinkundla) X, Y, Speed ​​​​(speed) kanye ne-Heading (isiqondiso). Babenezindlela ezifanayo zokuthola ukungqubuzana, ukubhampa onqenqemeni lwesikrini, njll.

Umehluko omkhulu phakathi kwebhola ne-sprite yilokho okudonswayo - umbuthano ogcwele noma i-raster. Njengoba ngisebenzise ama-sprites kuqala, bekunengqondo ukucacisa izixhumanisi zika-x- kanye no-y ekhoneni elingaphezulu kwesokunxele lalapho isithombe besitholakala khona.

Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)
Lapho ama-sprites esesebenza, nganquma ukuthi ngingasebenzisa izinto zebhola ngekhodi encane kakhulu. Inkinga nje kwaba ukuthi ngithathe umzila olula (kusukela endaweni yokubuka umqalisi), okubonisa u-x- no-y-izixhumanisi ekhoneni elingaphezulu kwesokunxele lekhonsathi efaka ibhola.

Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)
Eqinisweni, bekudingeka ukukhombisa izixhumanisi zika-x- no-y zesikhungo sendilinga, njengoba kufundiswa kunoma iyiphi incwadi yezibalo nanoma yimuphi omunye umthombo okhuluma ngemibuthano.

Amaphutha abangela amahloni kakhulu emsebenzini wami wokuhlela (kuze kube manje)
Ngokungafani namaphutha ami esikhathi esidlule, leli alithintanga nje kuphela ozakwethu, kodwa nezigidi zabasebenzisi be-App Inventor. Abaningi babo bekuyizingane noma besanda kuhlela izinhlelo. Bekumele benze izinyathelo eziningi ezingadingekile uma besebenza esicelweni ngasinye lapho ibhola belikhona. Uma ngikhumbula amanye amaphutha ami ngokuhleka, khona-ke leli liyangijulukisa nanamuhla.

Ekugcineni ngikhiphe lesi siphazamisi muva nje, eminyakeni eyishumi kamuva. “Kubhashiwe”, hhayi “okulungisiwe”, ngoba njengoba uJoshua Bloch esho, ama-API awaphakade. Asikwazi ukwenza izinguquko ezingathinta izinhlelo ezikhona, sengeze impahla ye-OriginAtCenter enenani elingamanga ezinhlelweni ezindala futhi eliyiqiniso kuzo zonke ezizayo. Abasebenzisi bangase babuze umbuzo onengqondo: ubani owake wacabanga ukubeka indawo yokuqala kwenye indawo ngaphandle kwesikhungo. Kuya kubani? Kumhleli oyedwa owayevilapha kakhulu ukudala i-API evamile eminyakeni eyishumi edlule.

Izifundo Ezifundiwe

Lapho usebenza kuma-API (okuyinto cishe wonke umklami okufanele ayenze ngezinye izikhathi), kufanele ulandele iseluleko esihle kakhulu esichazwe kuvidiyo kaJoshua Bloch "Ungayakha kanjani i-API enhle nokuthi kungani ibaluleke kangaka"Noma kulolu hlu olufushane:

  • I-API ingakulethela kokubili inzuzo enkulu kanye nokulimala okukhulu.. I-API enhle idala amakhasimende aphindayo. Okubi kuba yiphupho lakho elibi laphakade.
  • Ama-API omphakathi, njengamadayimane, ahlala unomphela. Yenza konke okusemandleni akho: ngeke libe khona elinye ithuba lokwenza yonke into ngendlela efanele.
  • Izinhlaka ze-API kufanele zibe mfushane — ikhasi elilodwa elinamasiginesha nezincazelo zekilasi kanye nendlela, athatha okungaphezu komugqa. Lokhu kuzokuvumela ukuthi uhlele kabusha i-API kalula uma ingasebenzi kahle okokuqala.
  • Chaza izimo zokusetshenziswangaphambi kokusebenzisa i-API noma ngisho nokusebenza ekucacisweni kwayo. Ngale ndlela uzogwema ukusebenzisa nokucacisa i-API engasebenzi ngokuphelele.

Ukube bengibhale ngisho amazwibela amafushane aneskripthi sokwenziwa, cishe ngabe ngilihlonze iphutha bese ngililungisa. Uma kungenjalo, khona-ke omunye wozakwethu nakanjani uzokwenza. Noma yisiphi isinqumo esinemiphumela efinyelela kude sidinga ukucatshangelwa okungenani usuku olulodwa (lokhu akusebenzi ezinhlelweni kuphela).

Isihloko se-eseyi kaRichard Gabriel, "Okubi Kakhulu," sibhekisela enzuzweni ehamba phambili ekuthengiseni - ngisho nomkhiqizo ongaphelele - kuyilapho omunye echitha ingunaphakade ejaha ophelele. Uma ngicabanga ngekhodi ye-sprite, ngiyabona ukuthi bekungadingeki ngibhale ikhodi eyengeziwe ukuze ngiyilungise. Kungakhathaliseki ukuthi umuntu angathini, nganginephutha elikhulu.

isiphetho

Abahleli benza amaphutha nsuku zonke, kungakhathaliseki ukuthi babhala ikhodi ye-buggy noma abafuni ukuzama okuthile okuzothuthukisa ikhono labo nokukhiqiza. Yebo, ungaba umhleli wezinhlelo ngaphandle kokwenza amaphutha angathi sína njengami. Kodwa akunakwenzeka ukuba umhleli omuhle ngaphandle kokubona amaphutha akho nokufunda kuwo.

Ngihlala ngihlangana nabafundi abazizwa sengathi benza amaphutha amaningi ngakho-ke abanqunyelwe ukuhlela. Ngiyazi ukuthi i-impostor syndrome ivame kangakanani ku-IT. Ngithemba ukuthi uzofunda izifundo engizibalile - kodwa khumbula esiyinhloko: ngamunye wethu wenza amaphutha - amahloni, ahlekisayo, amabi. Ngizomangala futhi ngiphatheke kabi uma esikhathini esizayo ngingenakho ukwaziswa okwanele ukuqhubeka nesihloko.

Source: www.habr.com

Engeza amazwana