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
Kwakuyiphupho elibi. Ngemva kweminyaka eminingi ngatshelwa ukuthi umdidiyeli owazuza ikhodi yami ngofuzo wayengizonda.
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.
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.
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
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
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
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.
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.
Eqinisweni, bekudingeka ukukhombisa izixhumanisi zika-x- no-y zesikhungo sendilinga, njengoba kufundiswa kunoma iyiphi incwadi yezibalo nanoma yimuphi omunye umthombo okhuluma ngemibuthano.
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 "
- 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