Yek ziman ku hemûyan hukum bike

Di bin qatek kodê de veşartiye, zimanek dişewite, hesreta fêrbûnê ye.

Yek ziman ku hemûyan hukum bike

Di dema vê nivîsandinê de, pirsa "bernamekirina kîjan zimanî yekem fêr bibe" 517 mîlyon encamên lêgerînê vedigerîne. Her yek ji van malperan dê pesnê zimanek taybetî bidin, û 90% ji wan dê Python an JavaScript pêşniyar bikin.

Bêyî hûrgulî, ez dixwazim bibêjim ku ev 517 mîlyon malper hemî xelet in û zimanê ku divê hûn pêşî fêr bibin ev e. mantiqa bingehîn.

Tenê zanîna kodkirinê ne bes e. Sûk bi mezûnên enstîtû û qursan ew qas têr bûye ku pozîsyona ciwan bi pratîkî nemaye *. Ji bo ku di cîhana îroyîn de biserkevin, divê hûn hem kod bikin û hem jî xwediyê ramana mentiqî ya bingehîn a pêşkeftî bin.

*ji vir şûnde, ji kerema xwe ji bîr mekin ku ev wergerek e, û dibe ku rewşa bazara kar ji bo nivîskar û li welatê we cûda be (û hem jî nuwazeyên din), ku, lêbelê, bi serê xwe gotara orîjînal xirabtir nake - approx. werger

Dersa min a yekem a zanistiya komputerê

Destpêka min a zanistiya kompîturê derseke bijartî bû ku min di pola 10-an de girt. Di roja yekem de, gava ku ez ketim dersê, ez kêfxweş bûm ku li pêşberê xwe hejmareke mezin ji satilên qeşayê û cûrbecûr tewandin dîtin. Piştî ku hemû rûniştin, mamoste got:

“Îro em ê qeşayên ku xwe bi xwe amade kirine tam bikin. Lê bi yek şertê: divê hûn lîsteyek talîmatên taybetî li ser awayê amadekirina şîrîniyê çêbikin, û ez ê wan bişopînim."

"Pirsgirêk tune," min fikirîn, "ev ders dê dirêj nebe." Di nav deqeyekê de min reçeteya bêkêmasî ya qeşaya xewnên xwe nivîsand:

  1. Sê kevçîyên qeşayê raspberry bişon û têxin tasekê
  2. Sosa çikolatayê vekin û du kevçîyên xwarinê têxin heman tasê
  3. Krema qamçiyan têxin tasê
  4. Hemûyan bi çîpên şekir birijînin û keriyek bixin ser

Mamosteyê min - "komputer" di wê metafora delal de - ji ya ku min berê nedîtibû performansek sarkastîk, biwêjtir kir. Wê bi xîret dest bi lêdana kepçeya qeşayê kir, bêyî ku dest bavêje qapaxê.

"Baş e, baş e, lê pêşî hûn hewce ne ku wê vekin!" - Min kir qîrîn, hewl da ku bi lez û bez dermanê bistînim.

"Te ev di rêwerzan de nenivîsî, û min nekarî ji te re qeşayê çêkim. PIŞTÎ!"

Werin em bilez pêş de hewl bidin #2

  1. Bi rakirina qapaxê qeşaya raspberry vekin
  2. Sê kevçîyên qeşayê raspberry bişon û têxin tasekê
  3. Sosa çikolatayê vekin û du kevçîyên xwarinê têxin heman tasê
  4. Krema qamçiyan têxin tasê
  5. Hemûyan bi çîpên şekirê birijînin û li ser wê kirazekî bidin hev

Welê, naha bê guman nabe ku pirsgirêk hebin. Tenê di rewşê de, min piştrast kir ku hemî malzemeyên ji bo çêkirina şahesera xweya xwarina min vekirî ne.

Mamoste qapax jê kir, şûp kir û sê kelûpelên qeşayê danî nava tasekê. "Di dawiyê de, qeşaya min a xweşik dest pê kir rast derket!" Paşê wê sosa çikolata vekir û du kevçîyên xwarinê li tasê zêde kir. Wê "ji du kevçîkan sosê çikolata lê zêde nekir" - wusa nefikirin - wê, bê guman, kevçî bi xwe xist nav tasê. Di wan de sosê tune. Dîsa, min guh neda ku ez her tiştî tam binivîsim. Piştî ku mayî bi heman ruhî hat kirin, min tasek qeşa û du kevçîyên xwarinê, ku di binê deryaya xamaya qamçiyan de bi zorê xuya nedikir, wergirtin. Li ser cotek darên şekir hebû.

Wusa dixuye ku di vê gavê de di dawiyê de ji min re xuya bû: komputerek mantiqek di valahiyê de ye. Haya wî ji rewşên derdorê nîne û tu texmînan nake. Ew tenê talîmatên bi zelalî hatine formulekirin pêk tîne û peyv bi peyv wan dişopîne.

Encama min a dawîn encama rêzek ceribandin û xeletiyên dirêj lê pêwîst bû:

  1. Heger we heta niha nekiribe, her yek ji van pakêtan vekin: qeşaya raspberry, sosa çikolata, xameya qamçiyan, çîpên şekir.
  2. Tasek derxin û bidin ber xwe
  3. Qeşa qeşayê hildin û sê kevçîyên cemedê yek bi yek bixin nava tasekê. Tîpa qeşayê dîsa bixin cihê xwe.
  4. Kulîlkek sosa çîkolata hildin, sosê bişixulînin û naveroka kevçîyek xwarinê bavêjin tasekê. Pêvajoya avêtin û avêtinê careke din dubare bikin. Kevç û jar dîsa têxin cihê xwe.
  5. Pakêta qamçiyê serûbin bikin û bi ser tasê de bigrin, 3 saniyan bidin ber qeşayê, paşê pakêtê vegerînin cihê xwe.
  6. Kevirek çîpên şekir hildin, bi qasî çil çîtikan birijînin tasekê û cerekî bidin paş.
  7. Ji tasa kirazê yek kiraz derxin û bidin ser berfê.
  8. Tasek bi qeşayê qedandî û kevçîyek bide xwendekar.

Xala dawî bi taybetî girîng bû, ji ber ku bêyî wê, dema pêşdawî mamoste bi tenê dest bi xwarina qeşaya min kir.

Lê ev bername ye. Stresa afirandina komek rêwerzên baldar ji bo komputerê. Di bingeh de, ev e ya ku her zimanê bernamesaziyê jê tê - rêwerzên nivîsandinê.

Kariyera di bernamekirinê de

Bername gihaştiye wê astê ku dijwar e ku meriv wekî pîşesaziyek yekane nîqaş bike, wekî ku meriv peyva yekane "bernameçêker" wekî şiroveyek kar bikar bîne. Du pêşdebir dikarin ji hêla bazarê ve bi heman daxwaziyê bin, bi zimanên bi tevahî cûda dizanin, ku tê vê wateyê ku şiyana pêşkeftinê ji zanîna zimanek taybetî girîngtir e. Taybetmendiyek gerdûnî ya ku ji hêla hemî pêşdebirên serfiraz ve hatî parve kirin ev e mantiqa bingehîn.

Bernameçêkerê herî baş ew e ku karibe ji aliyek nû ve li kodê binêre. Û ev bi bingehîn girîng e, ji ber ku piraniya hilberên nermalavê berhevokek perçeyên bêbelge yên koda xirab in. Pêdivî ye ku ew bi berdewamî werin berhev kirin, wekî ku hewce be valahiyan dagirin. Kesên ku nikaribin xalên cihêreng bi yek xetê ve girêbidin dê her û her li kêlekê bin.

Ev hemû min digihîne daxuyaniyeke din, vê carê bi stûr: zanîna bingehîn her dem ji bo bernamenûsek sereke bûye û dê bibe.

Ziman tên û diçin. Çarçove kevnar dibin, û pargîdan bi guheztina stoka teknolojiya ku ew bikar tînin bersivê didin daxwazê. Ma tiştek heye ku qet nayê guhertin? Erê - zanîna bingehîn, ku jê re bingehîn tê gotin ji ber ku ew di binê her tiştî de ye!

Meriv çawa zanîna bingehîn çêtir dike

Yek ziman ku hemûyan hukum bikeWêne ji hêla Christopher ve Jeschke li ser Unsplash

Ger hûn li xalek destpêkek digerin ku ramana xweya mentiqî ya bingehîn baştir bikin, li vir biceribînin:

Dizanin tevliheviya bernameya xwe

Jî tê gotin Big O "tevliheviya algorîtmayê" girêdayîbûna dema ku ji bo cîbicîkirina bernameyekê digire li ser mezinahiya daneya têketina wê vedibêje. (s). Girtina tiliya xwe li ser nebza algorîtmayên ku têne bikar anîn gavek girîng e.

Strukturên daneyên xwe nas bikin

Strukturên daneyê di dilê her bernameyek nûjen de ne. Dizanin ka kîjan avahî bikar bînin di kîjan rewşê de bi serê xwe dîsîplînek e. Strukturên daneyê rasterast bi tevliheviya dema xebatê ve girêdayî ne, û hilbijartina strukturek xelet dikare bibe sedema pirsgirêkên performansa bingehîn. Dîtina hêmanek di rêzikekê de ye O (n), ku lêçûna bilind a karanîna array wekî daneyên têketinê destnîşan dike. Lêgerîna tabloya haş − O (1), ku tê vê wateyê ku di vê rewşê de dema lêgerîna nirxek bi hejmara hêmanan ve ne girêdayî ye.

Mirov ji bo hevpeyivînekê hatin ba min û îdia kirin ku lêgerîna di nav rêzek de ji lêgerîna di tabloyek haş de zûtir bû. Ev nîşana herî ewle bû ku divê hûn wan negirin - strukturên daneya xwe bizanibin.

Bixwînin / temaşe bikin / guhdarî bikin

Malperên mîna UdemyPluralsight и CodeAcademy - Ji bo fêrbûna zimanên bernamesaziyê yên nû vebijarkek hêja. Lê ji bo bingehîn, li ser prensîbên kodkirina gelemperî, pratîk û şêwazên pirtûkan şêwir bikin. Pirtûkên ku herî zêde têne pêşniyar kirin "Nimûneyên sêwiranê", "Refactoring" in. Başkirina Koda Heyî", "Koda Perfect", "Koda Paqij" û "Bernamenûsê Pragmatîst". Di dawiyê de, divê her pêşdebir kopiyek ji "Algorîtmayan" Li ber deste.

Bikaranînî!

Bêyî ku hêkan bişkênin hûn nikarin hêkên qermiçî bipijin. Malperên mîna HackerRankCodeWarsCoderByte, TopCoder и LeetCode ji bo ceribandina zanîna xwe ya li ser strukturên daneyê û algorîtmayan bi hezaran puzzlên balkêş pêşkêşî bikin. Di çareserkirina pirsgirêkek ku hûn jê hez dikin de bextê xwe biceribînin, çareseriya xwe li Github bişînin, û dûv re bibînin ka yên din çawa nêzîkê wê bûne. Ya ku me digihîne xala dawî:

Koda kesên din bixwînin

Çewtiya herî mezin a ku hûn dikarin bikin dema ku hûn riya pêşkeftinê davêjin ev e ku hûn bi tenê biçin. Pêşveçûna nermalavê bi giranî hewldanek tîmê ye. Em bi hev re pîvanan diafirînin, bi hev re xeletiyan dikin û tevî hemû têkçûnan jî bi hev re çêtir dibin. Wextê ku ji bo xwendina koda kesên din tê derbas kirin dê pir biha bide. Tenê piştrast bikin ku ew kodek baş e.

Welê, şîreta çêtirîn ku ez dikarim bidim ev e ku hûn qet şerm nekin ku hûn hîn tiştek nizanin. Wekî ku berê jî hate gotin, pîşesaziya me pir mezin e û hêjeya teknolojiyê bêdawî ye. Ji bo avakirina wêneyek giştî gelek dem û hewldan hewce dike, hêj bêtir ku hûn di tiştek taybetî de bibin pispor, û fermanek mezinahiyê bêtir ku hûn jêhatîbûna xwe di warê xwe de biqedînin. Dema ku ez bixwe vê yekê bi dest bixim ez ê we agahdar bikim.

Source: www.habr.com

Add a comment