Yksi kieli hallitsee heitä kaikkia

Koodikerroksen alla kätkeytyy kieli, joka kaipaa oppimista.

Yksi kieli hallitsee heitä kaikkia

Tätä kirjoittaessa kysely "ohjelmoida, mikä kieli opitaan ensin" palauttaa 517 miljoonaa hakutulosta. Jokainen näistä sivustoista ylistää yhtä tiettyä kieltä, ja 90 % niistä päätyy suosittelemaan Pythonia tai JavaScriptiä.

Ilman pitkiä puheita haluaisin virallisesti julistaa, että kaikki nämä 517 miljoonaa verkkosivustoa ovat vääriä ja sanoa, että kieli, jonka sinun pitäisi oppia ensin, on perustavanlaatuinen logiikka.

Pelkkä koodaamisen osaaminen ei riitä. Markkinat ovat niin täynnä instituuteista ja kursseista valmistuneista, että junioripaikka on käytännössä lakannut olemasta*. Menestyäksesi nykymaailmassa sinun on sekä koodattava että sinulla on oltava kehittynyt looginen perusajattelu.

*jäljempänä muistakaa, että kyseessä on käännös ja tilanne työmarkkinoilla tekijän ja maassanne voi olla erilainen (sekä muita vivahteita), mikä ei kuitenkaan sinänsä tee alkuperäistä artikkelia huonommaksi - noin käännös

Ensimmäinen tietojenkäsittelyoppituntini

Ensimmäinen tutustumiseni tietojenkäsittelytieteeseen oli valinnainen aine, jonka suoritin 10. luokalla. Ensimmäisenä päivänä luokkahuoneeseen astuessani olin iloinen nähdessäni edessäni suuren määrän ämpärijä jäätelöä ja erilaisia ​​täytteitä. Kun kaikki olivat istuneet, opettaja ilmoitti:

”Tänään maistetaan itse valmistettuja jäätelöitä. Mutta yhdellä ehdolla: sinun on tehtävä luettelo erityisistä ohjeista jälkiruoan valmistusta varten, ja minä noudatan niitä."

"Ei hätää", ajattelin, "tämä oppitunti ei ole pitkä." Noin minuutin sisällä olin kirjoittanut muistiin täydellisen reseptin unelmieni jäätelölle:

  1. Kauhaa ja laita kulhoon kolme palloa vadelmajäätelöä
  2. Avaa suklaakastike ja lisää kaksi ruokalusikallista samaan kulhoon
  3. Lisää kulhoon kermavaahto
  4. Ripottele kaikki sokeritikkuilla ja laita päälle kirsikka

Opettajani - "tietokone" tuossa suloisessa metaforassa - esitti sarkastisemman, kirjaimellisen esityksen kuin olin koskaan ennen nähnyt. Hän alkoi innokkaasti pistää jäätelösämpäriä kauhalla koskematta edes sen kanteen.

"Okei, okei, mutta sinun on ensin avattava se!" - huudahdin yrittäen saada herkkua mahdollisimman nopeasti.

"Et kirjoittanut tätä ohjeeseen, enkä voinut tehdä sinulle jäätelöä. SEURAAVA!"

Siirrytään eteenpäin yritykseen nro 2

  1. Avaa vadelmajäätelö poistamalla kansi
  2. Kauhaa ja laita kulhoon kolme palloa vadelmajäätelöä
  3. Avaa suklaakastike ja lisää kaksi ruokalusikallista samaan kulhoon
  4. Lisää kulhoon kermavaahto
  5. Ripottele kaikki sokeritikkuilla ja laita päälle kirsikka

No, nyt ei varmasti pitäisi olla ongelmia. Varmuuden vuoksi varmistin, että kaikki ainekset kulinaarisen mestariteokseni tekemiseen olivat auki.

Opettaja poisti kannen, kauhisi ja laittoi kolme jäätelöä kulhoon. "Vihdoinkin kaunis jäätelöni on alkanut toteutua!" Sitten hän avasi suklaakastikkeen ja lisäsi kulhoon kaksi ruokalusikallista. Hän ei "lisänyt suklaakastiketta kahdesta ruokalusikallista" - älkää luulko niin - hän tietysti laittoi itse lusikat kulhoon. Ei niissä ole kastiketta. Jälleen, en vaivautunut kirjoittamaan kaikkea ylös tarkasti. Kun loput oli tehty samassa hengessä, sain kulhollisen jäätelöä ja kaksi ruokalusikallista, tuskin havaittavissa kermavaahtomeren alla. Päällä oli pari sokeritikkuja.

Näyttää siltä, ​​että tällä hetkellä minulle vihdoin valkeni: tietokone on logiikka tyhjiössä. Hän ei ole tietoinen ympäröivistä olosuhteista eikä tee oletuksia. Hän toteuttaa vain selkeästi muotoiltuja ohjeita ja noudattaa niitä sanasta sanaan.

Lopputulokseni oli pitkän mutta välttämättömän yritys- ja virhesarjan tulos:

  1. Jos et ole vielä tehnyt niin, avaa jokainen seuraavista pakkauksista: vadelmajäätelö, suklaakastike, kermavaahto, sokeritangot.
  2. Ota kulho esiin ja aseta se eteesi
  3. Ota jäätelökuuha ja laita kulhoon yksitellen kolme palloa vadelmajäätelöä. Laita jäätelökuha takaisin paikoilleen.
  4. Ota purkki suklaakastiketta, kaavi kastike ja kaada ruokalusikallisen sisältö kulhoon. Toista kauhaus- ja kaatoprosessi vielä kerran. Aseta lusikka ja purkki takaisin paikoilleen.
  5. Ota kermavaahtopakkaus ylösalaisin ja pidä sitä kulhon päällä, kaada se jäätelön päälle 3 sekunniksi ja palauta pakkaus paikoilleen.
  6. Ota purkki sokeritikkuja, kaada noin neljäkymmentä tikkua kulhoon ja laita purkki takaisin.
  7. Ota yksi kirsikka kirsikkakulhosta ja aseta se jäätelön päälle.
  8. Anna oppilaalle kulho valmiin jäätelön kera ja lusikka.

Viimeinen kohta oli erityisen tärkeä, koska ilman sitä toiseksi viimeisellä kerralla opettaja alkoi yksinkertaisesti syömään jäätelöäni.

Mutta tämä on ohjelmointia. Tietokoneelle huolellisen ohjesarjan luomisen stressi. Pohjimmiltaan tämä on se, mitä jokainen ohjelmointikieli tarkoittaa - ohjeiden kirjoittaminen.

Ura ohjelmoinnissa

Ohjelmointi on saavuttanut pisteen, jossa siitä on vaikea keskustella yhtenä toimialana, kuten on vaikeaa käyttää yhtä sanaa "ohjelmoija" työnkuvana. Kaksi kehittäjää voivat olla yhtä kysyttyjä markkinoilla, koska he osaavat täysin eri kieliä, mikä tarkoittaa, että kehittymiskyky on tärkeämpää kuin tietyn kielen osaaminen. Universaali ominaisuus, joka on kaikkien menestyneiden kehittäjien yhteinen perustavanlaatuinen logiikka.

Paras ohjelmoija on se, joka pystyy katsomaan koodia uudesta näkökulmasta. Ja tämä on pohjimmiltaan tärkeää, koska useimmat ohjelmistotuotteet ovat kokoelma huonon koodin dokumentoimattomia fragmentteja. Ne on jatkuvasti koottava yhteen ja täytettävä aukot tarpeen mukaan. Ihmisten, jotka eivät pysty yhdistämään erillisiä pisteitä yhdellä viivalla, on oltava ikuisesti sivussa.

Kaikki tämä vie minut toiseen julistukseen, tällä kertaa lihavoituna: perustieto on aina ollut ja tulee olemaan ohjelmoijalle ensiarvoisen tärkeää.

Kielet tulevat ja menevät. Kehykset ovat vanhentumassa, ja yritykset vastaavat kysyntään muuttamalla käyttämänsä teknologiapinoa. Onko olemassa jotain, joka ei koskaan muutu? Kyllä - perustavanlaatuinen tieto, jota kutsutaan perustavanlaatuiseksi, koska se on kaiken perusta!

Kuinka parantaa perustietoa

Yksi kieli hallitsee heitä kaikkiaKuva Christopher Jeschke päälle Unsplash

Jos etsit lähtökohtaa loogisen perusajattelusi parantamiseen, kokeile aloittaa tästä:

Tunne ohjelmasi monimutkaisuus

Kutsutaan myös Iso O "Algoritmin monimutkaisuus" tarkoittaa ohjelman suorittamiseen kuluvan ajan riippuvuutta sen syöttötietojen koosta (N). Sormen pitäminen käytettävien algoritmien pulssilla on tärkeä askel.

Tunne tietorakenteet

Tietorakenteet ovat jokaisen nykyaikaisen ohjelman ytimessä. Tietäminen, mitä rakennetta missäkin tapauksessa käyttää, on oma tieteenalansa. Tietorakenteet liittyvät suoraan ajonaikaiseen monimutkaisuuteen, ja väärän rakenteen valinta voi johtaa perustavanlaatuisiin suorituskykyongelmiin. Elementin löytäminen taulukosta on O (n), mikä osoittaa taulukoiden käyttämisen syöttötietona korkeita kustannuksia. Hash-taulukkohaku − O (1), mikä tarkoittaa, että tässä tapauksessa arvon etsimiseen kuluva aika ei riipu elementtien määrästä.

Ihmiset tulivat luokseni haastatteluun ja väittivät, että haku taulukosta oli nopeampaa kuin hajautustaulukosta. Tämä oli varmin merkki siitä, että sinun ei pitäisi palkata heitä – tunne tietorakenteet.

Lue / katso / kuuntele

Sivustot pitävät UdemyMonivaloinen и CodeAcademy - Erinomainen valinta uusien ohjelmointikielten oppimiseen. Mutta perusasiat löydät kirjoista yleisistä koodausperiaatteista, käytännöistä ja tyyleistä. Suosituimmat kirjat ovat "Design Patterns", "Refactoring. Parannetaan olemassa olevaa koodia, "täydellinen koodi", "puhdas koodi" ja "pragmatistinen ohjelmoija". Lopuksi jokaisen kehittäjän tulee säilyttää kopio "Algoritmit" käsillä.

Harjoitella!

Et voi keittää munakokkelia rikkomatta munia. Sivustot pitävät HackerRankCodeWarsCoderByte, TopCoder и LeetCode tarjoaa tuhansia mielenkiintoisia pulmia testataksesi tietosi rakenteita ja algoritmeja. Kokeile onneasi ratkaistaksesi haluamasi ongelman, julkaise ratkaisusi Githubiin ja katso sitten, miten muut lähestyivät sitä. Mikä vie meidät viimeiseen kohtaan:

Lue muiden ihmisten koodi

Suurin virhe, jonka voit tehdä kehittyessäsi, on mennä yksin. Ohjelmistokehitys on pitkälti tiimityötä. Luomme standardeja yhdessä, teemme virheitä yhdessä ja kaikista epäonnistumisista huolimatta tulemme paremmiksi yhdessä. Toisten koodien lukemiseen käytetty aika maksaa kovasti. Varmista vain, että se on hyvä koodi.

No, paras neuvo, jonka voin antaa, on, että älä koskaan häpeä sitä, ettet tiedä vielä jotain. Kuten jo todettiin, toimialamme on valtava ja teknologian määrä on loputon. Kokonaiskuvan rakentaminen vie paljon aikaa ja vaivaa, vielä enemmän jonkun tietyn ammattilaiseksi tuleminen ja oman alasi osaamisen hiomiseen vielä suuruusluokkaa enemmän. Ilmoitan, kun olen itse saavuttanut tämän.

Lähde: will.com

Lisää kommentti