Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)

Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)
Sida ay yiraahdaan, haddii aadan ka xishoon koodkii hore, markaa ma korinaysid barnaamij-sameeyaha - aniguna waan ku raacsanahay fikradan. Waxaan bilaabay barnaamijka madadaalada in ka badan 40 sano ka hor, iyo si xirfad leh 30 sano ka hor, sidaas darteed waxaan qabaa wax badan oo qalad ah. aad u badan. Anigoo ah borofisar culuumta kombuyuutarka, waxaan ardayda baraa inay wax ka bartaan khaladaadka - kuweeda, kayga, iyo kuwa kale'. Waxaan filayaa in la gaadhay waqtigii aan khaladkayga ka hadli lahaa si aanay xishoodka ii lumin. Waxaan rajeynayaa inay qof waxtar u yeelan doonaan.

Kaalinta saddexaad - Microsoft C compiler

Macallinka dugsigaygu wuxuu rumaysnaa in Romeo iyo Juliet aan loo tixgelin karin masiibo sababtoo ah jilayaasha ma lahayn dambi naxdin leh - waxay u dhaqmeen si nacasnimo ah, sida dhalinyaradu tahay. Anigu markaas kuma raacsanayn isaga, laakiin hadda waxaan arkaa fikradda caqli-galnimada ee uu qabo, gaar ahaan marka la eego barnaamijyada.

Markii aan dhammeeyey sannad-dugsiyeedka labaad ee MIT, waxaan ahaa dhallinyaro iyo khibrad la'aan, xagga nolosha iyo barnaamijyada labadaba. Xagaagii, waxaan ku tababaray Microsoft, kooxda C compiler markii ugu horeysay waxaan sameeyay waxyaabo caadi ah sida taageerada muujinta, ka dibna waxaa la igu aaminay inaan ka shaqeeyo qaybta ugu xiisaha badan ee iskudubaridiyaha (sida aan u maleeyay) - hagaajinta dhabarka. Gaar ahaan, waa inaan hagaajiyo x86 code ee bayaannada laanta.

Waxaan go'aansaday inaan qoro koodka mashiinka ugu fiican kiis kasta oo suurtagal ah, waxaan isku tuuray barkadda dabaasha. Haddii cufnaanta qaybinta qiyamku ay sarreeyeen, waxaan galay miiska kala guurka. Haddii ay lahaayeen qaybiye guud, waxaan u adeegsaday si aan miiska uga dhigo mid adag (laakin kaliya haddii qaybta lagu samayn karo iyada oo la adeegsanayo xoogaa isbedel ah). Marka dhammaan qiyamka ay ahaayeen awoodaha laba, waxaan sameeyay hagaajin kale. Haddii go'an qiyamku aanu qancin shuruudahayga, waxaan u kala qaybiyay dhawr kiis oo la wanaajin karo waxaana adeegsaday koodka hore loo hagaajiyay.

Waxay ahayd qarow. Sannado badan ka dib ayaa la ii sheegay in uu i neceb yahay programmer-kii iga dhaxlay xeerkayga.

Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)

Casharkii laga bartay

Sida David Patterson iyo John Hennessy ay wax ugu qoraan Dhismaha Kombuyuutarka iyo Naqshadeynta Nidaamyada Kumbuyuutarka, mid ka mid ah mabaadi'da ugu muhiimsan ee qaab dhismeedka iyo naqshadeynta ayaa ah in guud ahaan arrimuhu u shaqeeyaan sida ugu dhakhsaha badan ee suurtogalka ah.

Dedejinta kiisaska caadiga ah waxay hagaajinaysaa waxqabadka si ka waxtar badan marka loo eego hagaajinta xaaladaha dhifka ah. Waxaa la yaab leh, kiisaska caadiga ah inta badan way ka fudud yihiin kuwa dhifka ah. Taladan macquulka ah waxay u malaynaysaa inaad ogtahay kiiska loo arko mid caadi ah - tanina waxay ku suurtogalaysaa oo keliya habraaca si taxadar leh loo baadho loona cabbiro.

Difaacayga, waxaan isku dayay in aan ogaado sida ay u ekaanayaan weedhaha laanta ficil ahaan (sida inta laamood ee jira iyo sida joogtada ah ee loo qaybiyay), laakiin 1988-kii macluumaadkan lama helin. Si kastaba ha ahaatee, ma ahayn inaan kiisas gaar ah ku darin mar kasta oo isku-duwaha hadda aanu soo saari karin koodka ugu habboon tusaalaha macmalka ah ee aan la imid.

Waxaan u baahday inaan waco horumariye khibrad leh oo, isaga iyo isaga, aan ka fikiro waxa kiisaska caadiga ah ay yihiin oo aan si gaar ah ula macaamilo. Waxaan qori lahaa kood yar, laakiin taasi waa wax fiican. Sida aasaasaha Stack Overflow Jeff Atwood u qoray, borogaraamiyaha cadowgiisa ugu xun waa barnaamij-sameeyaha laftiisa:

Waan ogahay inaad leedahay ujeeddooyinka ugu wanaagsan, sidoo kale dhammaanteen. Waxaan abuurnaa barnaamijyo waxaana jecelnahay inaan qorno koodka. Sidaas ayaa naloo sameeyay. Waxaan u maleyneynaa in dhibaato kasta lagu xalin karo sharooto dhogor ah, qolof guri lagu sameeyo iyo qanjaruufo kood ah. Si kasta oo ay u xanuunayso cod-bixiyayaasha inay qirtaan, koodka ugu fiican waa koodka aan jirin. Xariiq kasta oo cusub wuxuu u baahan yahay qaladka iyo taageerada, wuxuu u baahan yahay in la fahmo. Markaad ku darto kood cusub, waa inaad sidaas ku samaysaa cagajiid iyo nacayb sababtoo ah dhammaan xulashooyinka kale waa la dhammeeyey. Barmaamijyo badan ayaa qora kood aad u badan, iyaga oo ka dhigaya cadawgeena.

Haddii aan qori lahaa kood ka fudud oo daboolaya kiisaska caadiga ah, aad bay u fududaan lahayd in la cusbooneysiiyo haddii loo baahdo. Waxa aan ka tagay qas aan cidina rabin in ay wax ka qabato.

Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)

Meesha labaad: xayaysiinta shabakadaha bulshada

Markii aan ka shaqaynayey Google ee xayaysiinta warbaahinta bulshada (xusuusnow Myspace?), wax sidan oo kale ah ayaan ku qoray 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)) {
  }
}

Barnaamij-bixiyeyaashu waxay isla markiiba arki karaan qaladka: doodda ugu dambeysa waa inay noqotaa j, maaha i. Tijaabada cutubku ma muujin khaladka, sidoo kale dib u eegistaydu ma muujin. Daahfurkii waa la fuliyay, habeen habeenada ka mid ah ayaa koodkaygii aaday server-ka oo uu shil ku galay dhammaan kombuyuutarradii ku jiray xarunta xogta.

Wax xun ma dhicin. Waxba qofna uma jabin, sababtoo ah ka hor inta aan la bilaabin caalamiga ah koodka waxaa lagu tijaabiyay hal xarun xog. Ilaa ingineerada SRE ay joojiyaan ciyaarta billiard-ka in muddo ah oo ay dib u yara sameeyaan. Subixii xigay waxa aan helay iimayl leh qashin qub ah, saxay koodka oo aan ku daray tijaabooyin unug kuwaas oo qaban doona khaladka. Tan iyo markii aan raacay nidaamka - haddii kale koodkaygu si fudud ayuu u socon doonaa - ma jiraan dhibaatooyin kale.

Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)

Casharkii laga bartay

Qaar badan ayaa hubaal ah in qaladka weyn ee noocan oo kale ah uu dhab ahaantii ku kici doono dembiilaha, laakiin tani ma aha sidaas: marka hore, dhammaan barnaamijyada barnaamijyadu waxay sameeyaan khaladaad, iyo marka labaad, marar dhif ah ayay sameeyaan qalad isku mid ah laba jeer.

Runtii, waxaan leeyahay saaxiib programmer ah oo ahaa Injineer aad u wanaagsan oo laga eryay qalad uu sameeyay. Intaa ka dib, waxaa lagu shaqaaleysiiyay Google (oo isla markiiba la dalacsiiyay) - wuxuu si daacad ah uga hadlay khaladkii uu sameeyay wareysiga, oo looma tixgelin inuu yahay dhimasho.

Taasi waa waxa sheeg ku saabsan Thomas Watson, madaxa halyeeyga IBM:

Waxaa lagu dhawaaqay amar dowladeed oo ku kacaya ilaa hal milyan oo doolar. Shirkadda IBM - ama halkii, Thomas Watson Sr. shakhsi ahaan - runtii waxay rabeen inay helaan. Nasiib darro, wakiilka iibku wuu awoodi waayay inuu tan sameeyo IBM-na way lumisay dalabkii. Maalintii xigtay, shaqaalahani waxa uu soo galay xafiiska Mr. Watson oo saaray baqshad miiskiisa. Mr. Watson xitaa iskuma dhibin inuu eego - wuxuu sugayay shaqaale wuxuuna ogaa inay tahay warqad shaqo joojin ah.

Watson ayaa waydiisay waxa khaldamay.

Wakiilka iibka ayaa si faah faahsan uga hadlay halka ay marayso qandaraasku. Waxa uu magacaabay khaladaad la sameeyay oo laga badbaadi karay. Ugu dambeyntii, wuxuu yiri, "Mudane Watson, waad ku mahadsan tahay inaad ii ogolaatay inaan sharaxo. Waan ogahay inta aan u baahanahay dalabkan. Waan garanayaa sida uu muhiim u ahaa,” wuxuuna isu diyaariyey inuu baxo.

Watson ayaa ugu soo dhawaaday albaabka, indhihiisa ayuu ku eegay oo ku celiyay baqshadda ereyada: β€œSideen ku sii dayn karaa? Kaliya hal milyan oo doolar ayaan galiyay waxbarashadaada.

Waxaan haystaa funaanad oranaya: "Haddii aad runtii wax ka barato khaladaadka, markaa waxaan horeyba u ahay sayid." Runtii, marka ay timaado khaladaadka, waxaan ahay dhakhtarka sayniska.

Meesha kowaad: App Inventor API

Runtii khaladaad aad u xun ayaa saameeya tiro badan oo isticmaaleyaal ah, noqda aqoon guud, waqti dheer ayay ku qaadataa in la saxo, waxaana sameeyay kuwa aan samayn karin. Khaladkayga ugu weyn ayaa ku habboon dhammaan shuruudahan.

Ka sii daran ayaa ka sii fiican

Waan akhriyey qormadii Richard Gabriel ku saabsan habkan sagaashamaadkii markii aan arday ka qalin jabiyay, oo aad ayaan u jeclahay in aan weydiiyo ardaydayda. Haddii aadan si fiican u xasuusan, dib u cusboonaysii xusuustaada, way yar tahay. Qormadani waxay ka soo horjeedaa rabitaanka "si sax ah" iyo habka "ka sii xun" siyaabo badan, oo ay ku jirto fududaan.

Sida ay tahay: nashqadayntu waa in ay ahaataa mid fudud fulinta iyo isdhexgalka. Fududeynta is-dhexgalka ayaa ka muhiimsan fududaynta fulinta.

Ka sii daran, ayaa ka sii wanaagsan: naqshadeynta waa inay noqotaa mid sahlan hirgelinta iyo isdhexgalka. Fududeynta fulinta ayaa ka muhiimsan fududaynta is-dhexgalka.

Aan ku illoono taas hal daqiiqo. Nasiib darro, waxaan ilaaway sanado badan.

Hal Abuur

Intii aan ka shaqaynayey Google, waxaan ka mid ahaa kooxda Hal Abuur, Jiid iyo-jiid deegaanka horumarinta online ee hamiga horumarinta Android. Waxay ahayd 2009, waxaana ku degdegnay inaan sii deyno nooca alfa waqtigeeda si xagaaga aan u qabanno fasalada masters-ka ee macallimiinta isticmaali kara deegaanka markay wax baranayaan dayrta. Waxaan si mutadawacnimo ah ugu hawlanaa hirgelinta sprites, nostalgic ee sida aan u qori jiray ciyaaraha TI-99/4. Kuwa aan garanayn, sprite waa shay garaaf laba-geesood ah oo dhaqaaqi kara oo la falgali kara qaybaha kale ee software. Tusaalooyinka sprites waxaa ka mid ah hawada sare, asteroids, marmar, iyo rackets.

Waxaan ka hirgelinay hal-abuuraha App-ka-ku-hawlgalka ah ee Java, marka waxaa meeshaas ku jira farabadan shay. Maadaama kubbadaha iyo sprites ay u dhaqmaan si isku mid ah, waxaan abuuray fasal sprite ah oo aan la taaban karin oo leh hanti (goobo) X, Y, Xawaaraha (xawaaraha) iyo Madaxa (jihada). Waxay lahaayeen habab isku mid ah oo lagu ogaanayo isku dhaca, ka soo kabashada cidhifka shaashadda, iwm.

Farqiga ugu weyn ee u dhexeeya kubbadda iyo sprite waa waxa saxda ah ee la sawiray - goobada buuxsantay ama raster. Tan iyo markii aan hirgeliyay sprites marka hore, waxay ahayd mid macquul ah in la qeexo x- iyo y-isku-duwayaasha ee geeska bidix ee sare ee meesha sawirku ku yaal.

Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)
Marka sprites ay shaqeynayaan, waxaan go'aansaday in aan hirgeliyo walxaha kubbadda oo leh kood yar. Dhibaatada kaliya ayaa ahayd in aan qaatay dariiqa ugu fudud (marka laga eego aragtida fulinta), taas oo muujinaysa x- iyo y-isku-duwayaasha ee geeska bidix ee sare ee koontaroolka kubbadda.

Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)
Dhab ahaantii, waxay ahayd lagama maarmaan in la tilmaamo x- iyo y-isku-duwayaasha ee xarunta goobada, sida lagu baray buug kasta oo xisaabeed iyo meel kasta oo kale oo sheegaysa wareegyada.

Khaladaadka ugu ceebta badan mihnadeyda barnaamijka (ilaa hadda)
Si ka duwan qaladaadkeygii hore, midkani kaliya ma saameynayo asxaabtayda, laakiin sidoo kale malaayiin isticmaalayaasha App-ka Iibiyaha ah. Qaar badan oo iyaga ka mid ah waxay ahaayeen carruur ama gebi ahaanba ku cusub barnaamijka. Waxay ahayd inay sameeyaan tallaabooyin badan oo aan loo baahnayn marka ay ka shaqeynayaan codsi kasta oo ay kubadu ku jirto. Haddii aan qaladkayga kale ku xasuusto qosolka, kani maanta xataa wuu i dhididiyaa.

Ugu dambayntii waxaan dhajiyay bug-gan dhawaan, toban sano ka dib. "Patched", ma aha "go'an", sababtoo ah sida Joshua Bloch leeyahay, API-yadu waa weligeed. Ma awoodno inaan samayno isbeddelo saameeya barnaamijyada jira, waxaan ku darnay hantida OriginAtCenter oo leh qiimihii beenta ahaa barnaamijyadii hore iyo run dhammaan kuwa mustaqbalka. Isticmaalayaashu waxay waydiin karaan su'aal macquul ah: yaa xitaa ku fekeray in la dhigo meesha laga bilaabo meel aan ahayn xarunta. Yaa ku socda? Ku socota hal barnaamij oo aad uga caajisay inuu abuuro API caadi ah toban sano ka hor.

Duruusta La Bartay

Markaad ka shaqeyneyso API-yada (taas oo ku dhawaad ​​​​barnaamij kasta ay tahay inuu sameeyo mararka qaarkood), waa inaad raacdaa talada ugu wanaagsan ee lagu qeexay fiidiyowga Joshua Bloch "Sida loo abuuro API wanaagsan iyo sababta ay muhiim u tahay"Ama liiskan gaaban:

  • API wuxuu kuu keeni karaa faa'iido weyn iyo waxyeelo weyn labadaba.. API wanaagsan wuxuu abuuraa macaamiisha soo noqnoqda. Midka xun wuxuu noqdaa qarowgaaga weligeed ah.
  • API-yada dadweynaha, sida dheeman, waara waligood. Sii dhammaantiin: weligeed ma jiri doonto fursad kale oo aad wax walba ku saxdo.
  • Tilmaamaha API waa inay kooban yihiin - hal bog oo leh fasalka iyo habka saxeexyada iyo sharraxaadda, oo aan qaadanayn wax ka badan xariiq. Tani waxay kuu ogolaanaysaa inaad si fudud dib u habayn ku samayso API-ga haddii aanu marka ugu horraysa si fiican u noqon.
  • Sharax kiisaska isticmaalkaka hor inta aan la hirgelin API-ga ama xitaa ka shaqeynta qeexitaankeeda. Sidan ayaad uga fogaan doontaa hirgelinta iyo qeexidda API gebi ahaanba aan shaqaynayn.

Haddii aan qori lahaa xataa qoraal kooban oo far macmal ah ku qoran, waxay u badan tahay in aan khaladka aqoonsan lahaa oo aan saxi lahaa. Haddii kale, markaa mid ka mid ah asxaabtayda ayaa hubaal ah samayn lahaa. Go'aan kasta oo leh cawaaqib fog wuxuu u baahan yahay in laga fikiro ugu yaraan hal maalin (tani ma khusayso oo keliya barnaamijyada).

Cinwaanka qormada Richard Gabriel, "Werse is Better," waxa loola jeedaa faa'iidada u socota in ay noqoto marka hore suuqa-xitaa badeecad aan qummanayn - halka qof kale uu ku qaato daa'in daba-galka mid qumman. Dib u milicsiga koodhka sprite, waxaan gartay in aanan xitaa u baahnayn in aan qoro kood dheeraad ah si aan u saxo. Wax kasta oo la odhan karo, aad ayaan u khaldamay.

gunaanad

Barnaamij-bixiyeyaashu waxay sameeyaan khaladaad maalin kasta, haddii ay tahay qorista koodka buggy ama ma rabaan inay isku dayaan wax horumarinaya xirfaddooda iyo wax soo saarkooda. Dabcan, waxaad noqon kartaa barnaamij-sameeyaha adiga oo aan samayn khaladaad halis ah sidaan sameeyay. Laakiin macquul maaha inaad noqoto barnaamij-yaqaan wanaagsan adoon aqoonsan khaladaadkaaga oo aan wax ka baran.

Waxaan si joogto ah ula kulmaa ardayda dareemaya inay khaladaad badan sameeyaan sidaas darteedna aan loo gooyn barnaamijyada. Waan ogahay sida uu caadi u yahay cilladda impostor-ka ee IT-ga. Waxaan rajeynayaa inaad baran doonto casharrada aan taxday - laakiin xusuusnow kan ugu weyn: mid kasta oo naga mid ah wuxuu sameeyaa khaladaad - xishood, qosol, cabsi leh. Waxaan la yaabi doonaa oo aan ka xanaaqi doonaa haddii mustaqbalka aanan haysan wax ku filan oo aan ku sii wado maqaalka.

Source: www.habr.com

Add a comment