Usa ka pinulongan nga magmando kanilang tanan

Natago sa ilawom sa usa ka lut-od sa code, usa ka sinultihan nagluya, nangandoy nga makat-on.

Usa ka pinulongan nga magmando kanilang tanan

Sa pagsulat niini, ang pangutana nga "pagprograma kung unsang lengguwahe ang una nga tun-an" nagbalik sa 517 milyon nga mga resulta sa pagpangita. Ang matag usa niini nga mga site magdayeg sa usa ka piho nga lengguwahe, ug 90% niini matapos ang pagrekomenda sa Python o JavaScript.

Kung wala’y dugang nga pagduha-duha, gusto nako nga irekord ang pag-ingon nga kining tanan nga 517 milyon nga mga website sayup ug nga ang sinultian nga kinahanglan nimong tun-an una mao ang sukaranan nga lohika.

Ang pagkahibalo lang unsaon pag-code dili igo. Ang merkado puno kaayo sa mga gradwado sa mga institute ug mga kurso nga ang posisyon sa junior halos wala na maglungtad *. Aron magmalampuson sa kalibutan karon, kinahanglan nimo nga adunay code ug adunay abanteng sukaranan nga lohikal nga panghunahuna.

*human niini, palihug hinumdomi nga kini usa ka paghubad, ug ang sitwasyon sa merkado sa pamuo alang sa tagsulat ug sa imong nasud mahimong lahi (ingon man usab sa uban nga mga nuances), nga, bisan pa, sa iyang kaugalingon wala maghimo sa orihinal nga artikulo nga mas grabe - gibanabana. paghubad

Ang akong una nga leksyon sa computer science

Ang una nakong pagkaladlad sa siyensya sa kompyuter usa ka elective nga akong gikuha sa ika-10 nga grado. Sa unang adlaw pa lang, pagsulod nako sa classroom, nalipay ko nga nakita sa akong atubangan ang daghang balde sa ice cream ug lain-laing mga toppings. Human makalingkod ang tanan, ang magtutudlo mipahibalo:

“Karong adlawa atong matilawan ang mga ice cream nga giandam sa kaugalingon. Apan sa usa ka kondisyon: kinahanglan ka nga maghimo usa ka lista sa piho nga mga panudlo kung giunsa ang pag-andam sa dessert, ug sundon ko kini.

“Walay problema,” naghunahuna ko, “kini nga leksyon dili magdugay.” Sulod sa usa ka minuto o labaw pa akong gisulat ang hingpit nga resipe alang sa ice cream sa akong mga damgo:

  1. Pag-scoop ug ibutang ang tulo ka scoop sa raspberry ice cream sa usa ka panaksan
  2. Ablihi ang chocolate sauce ug idugang ang duha ka kutsara sa samang panaksan
  3. Idugang ang whipped cream sa panaksan
  4. Isablig kining tanan sa mga sugar stick ug ibutang ang cherry sa ibabaw

Ang akong magtutudlo—ang “computer” nianang nindot nga metapora—nagbutang og mas sarcastic, literal nga pasundayag kay sa akong nakita kaniadto. Nagsugod siya nga madasigon nga nagtusok sa balde sa ice cream gamit ang scoop scoop nga wala gani makahikap sa takob.

"Okay, okay, apan kinahanglan nimo nga ablihan una kini!" - Mipatugbaw ko, naningkamot nga makuha ang pagtagad sa labing madali.

"Wala nimo kini gisulat sa mga panudlo, ug dili ako makahimo kanimo nga ice cream. SUNOD!"

Mag fast forward ta sa pagsulay #2

  1. Ablihi ang raspberry ice cream pinaagi sa pagtangtang sa tabon
  2. Pag-scoop ug ibutang ang tulo ka scoop sa raspberry ice cream sa usa ka panaksan
  3. Ablihi ang chocolate sauce ug idugang ang duha ka kutsara sa samang panaksan
  4. Idugang ang whipped cream sa panaksan
  5. Isablig kining tanan sa mga sugar stick ug ibutang ang cherry sa ibabaw

Aw, karon siguradong wala’y mga problema. Sa kaso lang, gisiguro nako nga bukas ang tanan nga sangkap sa paghimo sa akong obra maestra sa culinary.

Gikuha sa maestra ang taklob, gikuot ug gibutang ang tulo ka scoop sa ice cream sa usa ka panaksan. “Sa kataposan, ang akong nindot nga ice cream nagsugod na sa pagkatuman!” Giablihan dayon niya ang chocolate sauce ug gidugangan og duha ka kutsara ang panaksan. Wala siya "nagdugang sa sarsa sa tsokolate gikan sa duha ka kutsara" - ayaw hunahunaa - siya, siyempre, gibutang ang mga kutsara sa ilang kaugalingon sa panaksan. Walay sarsa diha kanila. Sa makausa pa, wala ko maghago sa pagsulat sa tanan sa eksakto. Pagkahuman sa nahabilin nga nahimo sa parehas nga espiritu, nakadawat ako usa ka panaksan nga ice cream ug duha ka kutsara, nga halos dili mamatikdan sa ilawom sa dagat sa whipped cream. Sa ibabaw mao ang usa ka parisan sa sugar sticks.

Ingon og sa niining higayona kini sa katapusan misantop sa akong hunahuna: ang usa ka computer mao ang lohika sa usa ka vacuum. Wala siya makahibalo sa palibot nga mga sirkumstansya ug wala'y mga pangagpas. Ginatuman lamang niya ang maathag nga mga instruksion kag ginasunod ini sa pulong por pulong.

Ang akong katapusang resulta mao ang resulta sa usa ka taas apan gikinahanglan nga serye sa pagsulay ug mga sayop:

  1. Kon wala pa nimo kini mahimo, ablihi ang matag usa sa mosunod nga mga pakete: raspberry ice cream, chocolate sauce, whipped cream, sugar sticks.
  2. Pagkuha ug panaksan ug ibutang kini sa imong atubangan
  3. Pagkuha og ice cream scoop ug ibutang ang tulo ka scoop sa raspberry ice cream nga tagsa-tagsa ngadto sa usa ka panaksan. Ibalik ang scoop sa ice cream sa lugar.
  4. Pagkuha og usa ka garapon nga chocolate sauce, kuhaa ang sarsa ug ibubo ang sulod sa usa ka kutsara ngadto sa usa ka panaksan. Balika ang proseso sa pag-scoop ug pagbubo sa makausa pa. Ibalik ang kutsara ug garapon sa lugar.
  5. Dad-a ang pakete sa whipped cream nga baligtad ug, kuptan kini sa panaksan, ibubo kini sa ice cream sulod sa 3 segundos, unya ibalik ang pakete sa iyang lugar.
  6. Pagkuha og usa ka garapon nga sugar sticks, ibubo ang mga kwarenta ka stick sa usa ka panaksan ug ibalik ang garapon.
  7. Pagkuha og usa ka cherry gikan sa panaksan nga cherry ug ibutang kini sa ibabaw sa ice cream.
  8. Hatagi ang estudyante og usa ka panaksan nga adunay nahuman nga ice cream ug usa ka kutsara.

Ang katapusan nga punto labi ka hinungdanon, tungod kay kung wala kini, ang katapusan nga oras nga ang magtutudlo nagsugod sa pagkaon sa akong ice cream.

Apan kini mao ang programming. Ang kapit-os sa paghimo sa usa ka mabinantayon nga set sa mga panudlo alang sa usa ka kompyuter. Sa esensya, kini ang hinungdan sa matag programming language - mga panudlo sa pagsulat.

Karera sa programming

Ang pagprograma nakaabot sa punto diin lisud ang paghisgot isip usa ka industriya, sama nga lisud gamiton ang usa ka pulong nga "programmer" isip usa ka paghulagway sa trabaho. Duha ka developers mahimong parehas nga gipangayo sa merkado, nahibal-an ang hingpit nga lainlaing mga sinultian, nga nagpasabut nga ang abilidad sa pag-uswag labi ka hinungdanon kaysa kahibalo sa usa ka piho nga sinultian. Usa ka unibersal nga hiyas nga gipaambit sa tanan nga malampuson nga mga developer mao ang sukaranan nga lohika.

Ang labing kaayo nga programmer mao ang usa nga makahimo sa pagtan-aw sa code gikan sa usa ka bag-ong anggulo. Ug kini hinungdanon kaayo, tungod kay kadaghanan sa mga produkto sa software usa ka koleksyon sa mga dili dokumentado nga mga tipik sa dili maayo nga code. Kinahanglan sila kanunay nga mahiusa, pun-on ang mga kal-ang kung gikinahanglan. Ang mga tawo nga dili makakonektar sa magkalainlain nga mga tuldok sa usa ka linya kinahanglan nga naa sa daplin sa kahangturan.

Kining tanan nagdala kanako ngadto sa laing deklarasyon, niining higayona sa bold: Ang sukaranan nga kahibalo kanunay ug mahimong labing hinungdanon alang sa usa ka programmer.

Ang mga pinulongan moabut ug moadto. Ang mga balangkas nahimong dili na magamit, ug ang mga kompanya nagtubag sa panginahanglan pinaagi sa pagbag-o sa teknolohiya nga ilang gigamit. Aduna bay usa ka butang nga dili na mausab? Oo - sukaranan nga kahibalo, nga gitawag nga sukaranan tungod kay kini nagpahipi sa tanan!

Sa unsa nga paagi sa pagpalambo sa sukaranan nga kahibalo

Usa ka pinulongan nga magmando kanilang tananLitrato ni Christopher Jeschke sa Unsplash

Kung nangita ka usa ka punto sa pagsugod aron mapauswag ang imong sukaranan nga lohikal nga panghunahuna, sulayi pagsugod dinhi:

Hibal-i ang pagkakomplikado sa imong programa

Gitawag usab Big O Ang "pagkakomplikado sa algorithm" nagtumong sa pagdepende sa oras nga gikinahanglan aron mapatuman ang usa ka programa sa gidak-on sa data sa input niini. (n). Ang pagpadayon sa imong tudlo sa pulso sa mga algorithm nga gigamit usa ka hinungdanon nga lakang.

Hibal-i ang imong mga istruktura sa datos

Ang mga istruktura sa datos anaa sa kasingkasing sa matag modernong programa. Ang pagkahibalo kung unsang istruktura ang gamiton kung asa nga kaso usa ka disiplina sa kaugalingon nga katungod. Ang mga istruktura sa datos direkta nga may kalabutan sa pagkakomplikado sa runtime, ug ang pagpili sa sayup nga istruktura mahimong mosangpot sa sukaranang mga problema sa pasundayag. Ang pagpangita sa usa ka elemento sa usa ka array mao ang O (n), nga nagpakita sa taas nga gasto sa paggamit sa mga arrays isip input data. Hash nga pagpangita sa lamesa − O (1), nga nagpasabot nga sa niini nga kaso ang panahon sa pagpangita sa usa ka bili wala magdepende sa gidaghanon sa mga elemento.

Ang mga tawo miduol kanako alang sa usa ka interbyu ug nag-ingon nga ang pagpangita pinaagi sa usa ka array mas paspas kaysa pagpangita pinaagi sa usa ka hash table. Kini ang labing kasigurohan nga timaan nga dili nimo sila kinahanglan nga mo-hire - hibal-i ang imong mga istruktura sa datos.

Basaha / tan-awa / paminaw

Mga site sama sa UdemyPluralsight и CodeAcademy - Usa ka maayo kaayo nga kapilian alang sa pagkat-on sa bag-ong mga programming language. Apan alang sa mga sukaranan, konsultaha ang mga libro sa kinatibuk-ang mga prinsipyo sa coding, mga gawi, ug mga istilo. Ang labing girekomenda nga mga libro mao ang "Mga Sumbanan sa Disenyo", "Refactoring. Pagpauswag sa Naglungtad nga Kodigo", "Perfect Code", "Limpyo nga Kodigo" ug "Pragmatist Programmer". Sa kataposan, ang matag developer kinahanglang maghupot ug kopya sa "Algorithm"sa kamot.

Pagpraktis!

Dili ka makaluto og scrambled egg nga dili mabuak ang mga itlog. Mga site sama sa HackerRankCodeWarsCoderByte, TopCoder и LeetCode pagtanyag og liboan ka makapaikag nga mga puzzle aron sulayan ang imong kahibalo sa mga istruktura sa datos ug mga algorithm. Sulayi ang imong swerte sa pagsulbad sa usa ka problema nga imong gusto, i-post ang imong solusyon sa Github, ug dayon tan-awa kung giunsa kini pagduol sa uban. Nga nagdala kanato sa katapusang punto:

Basaha ang code sa ubang tawo

Ang pinakadako nga sayop nga imong mahimo sa diha nga ang pag-adto sa dalan sa kalamboan mao ang pag-adto niini nga mag-inusara. Ang pag-uswag sa software usa ka paningkamot sa team. Naghimo kami og mga sumbanan nga magkauban, makahimo og mga sayop nga magkauban ug, bisan pa sa tanan nga mga kapakyasan, mahimong mas maayo nga magkauban. Ang oras nga gigugol sa pagbasa sa code sa ubang mga tawo mabayran kaayo. Siguruha lang nga kini maayo nga code.

Aw, ang labing maayo nga tambag nga akong mahatag mao ang dili gyud ikaulaw nga wala ka pa nahibal-an. Sama sa giingon na, ang atong industriya dako ug ang gidaghanon sa teknolohiya walay katapusan. Nagkinahanglan kini og daghang oras ug paningkamot sa paghimo sa usa ka kinatibuk-ang litrato, labi pa aron mahimong usa ka propesyonal sa usa ka piho nga butang, ug usa ka han-ay sa kadako aron mapauswag ang imong kahanas sa imong natad. Ipahibalo ko kanimo kung ako na mismo ang nakab-ot niini.

Source: www.habr.com

Idugang sa usa ka comment