Ohjelmointikoulu CodeBerryn “Ohjelmoinnin perusteet” -sarjassa keskustelemme ohjelmointiin liittyvistä aiheista ja kaikesta mitä sinun täytyy tietää päästäksesi alkuun. Pysy kuulolla uusista artikkeleista, ja löydä vastaukset jokaiseen “mitä”, “miksi” ja “miten” -kysymykseesi, joita sinulla on saattanut tulla mieleen koodaukseen liittyen!

Haluaisitko oppia koodaamaan ja vielä verkossa? Tule ja kokeile ensimmäisiä oppitunteja maksutta Ohjelmointikoulu CodeBerryssä!

Ohjelmoinnin perusteet

 

Mitä ohjelmointi on?

Oletetaan, että työskentelet monikansallisessa yrityksessä ja sinulla on tulossa liiketapaaminen kiinalaisen liikemiehen kanssa. Äidinkielesi on suomi etkä puhu sanaakaan kiinaa. Muistat kuitenkin, että puhut toisena kielenäsi englantia ja että kiinalainen liikemieskin puhuu englantia. Ryhdytte siis käyttämään englantia yleiskielenä neuvotellaksenne ja kommunikoidaksenne keskenänne.

Mitä kieltä tietokoneet puhuvat?

Tietokoneen äidinkieli on binääri, siis uskomattoman pitkä lista ykkösiä ja nollia. Binäärikieltä ei ole kovinkaan helppo lukea tai kirjoittaa, joten me ihmiset kehitimme ohjelmointikieliä keskustellaksemme tietokoneiden kanssa. Koska tietokoneet eivät puhu ihmisten kieltä, on meidän tultava puoliväliin vastaan.

Poiketen ihmisistä, tietokoneet eivät kykene epäsuoraan kommunikaatioon ja ottavat asiat aina hyvin kirjaimellisesti. Jos kerrot niille jotakin, tekevät ne jotakin juuri näin. Tietokoneet eivät ole tarpeeksi fiksuja tehdäkseen päätöksiä itse, eivätkä ne ymmärrä tietoa, jota ei ole kirjoitettu niille erikseen. Tästä syystä sinun täytyy varmistaa, että olet antamassa tietokoneelle tarkkoja ohjeita.

Esimerkiksi, jos pyytäisin sinua tekemään voileivän, kysyisit luultavasti minulta mitä raaka-aineita haluan leipääni ja että haluaisinko sen paahdettuna vai en. Sinulle se saattaisi olla kaikki tieto mitä tarvitset tehdäksesi minulle herkullisen voileivän. Kuitenkin voileivän valmistamiseen liittyy monta pientä päätöstä ja aiempaa tietotaitoa.

Jos vain kerrot tietokoneelle haluavasi paahdetun kinkku-juustoruisleivän majoneesilla, saat luultavasti jotain hyvin erilaista alkuperäisen tilauksesi sijaan. Ihminen tietäisi, että majoneesi tulee leivän päälle, sitten kinkku sekä juusto, ja että sen jälkeen leipä laitettaisiin uuniin paahtumaan.

Miten tietokoneen pitäisi tietää kaikki tuo?

Muista, että kerroimme tietokoneelle haluavamme “paahdetun kinkku ja juustoleivän ruisleivällä ja majoneesilla”. Tietokoneelle voisi olla loogista tehdä kaikki nuo asiat tuossa järjestyksessä. Se paahtaisi kinkun ja juuston erikseen, laittaisi ruisleipäpalat päällimmäiseksi ja levittäisi sitten majoneesia leivälle.

Eikö tietokoneiden pitäisi olla tuota fiksumpia?

Koska tietokone ottaa asiat kirjaimellisesti, täytyy sinun määrittää jokainen tilauksen vaihe ja ainesosan sijoittelu. Kaikki tietävät, että ainekset menevät leipien väliin, mutta tietokoneella ei ole aikaisempaa tietoa voileivistä, joten se vain seuraa sinun suoria ohjeita.

Tässä taas yksi syy miksi emme voi kommunikoida tietokoneiden kanssa ihmisten kielillä, ainakaan vielä. Meidän kielemme ovat yksinkertaisesti liian epäselviä ja epämääräisiä, että tietokoneet voisivat ymmärtää niitä. Lisäksi, jos sanalla tai lauseella on kaksoismerkitys, tietokone ei tiedä miten tulkita sitä. Kaiken pitää olla sille erikseen merkitty.

Totuus on, etteivät tietokoneet ole fiksuja laisinkaan, ne vain sattuvat prosessoimaan tietoa nopeammin kuin me.

Ohjelmoijana voit työskennellä vaikka kotoa

Mikä on ohjelmoija ja mitä he tekevät?

Muista ettet voi vain kertoa tietokoneelle englanniksi mitä haluat. Tarvitset tietokone ohjelmoijan tulkiksi. Ohjelmoija on henkilö, joka kommunikoi ideasi ja ohjeesi tietokoneelle luoden nettisivuja, pelejä sekä muita näytölle ilmestyviä ohjelmia.

Ohjelmoijan voisikin määritellä polyglotiksi (monia kieliä osaava henkilö), joka on erikoistunut tietokoneille puhumiseen. Ohjelmoijat tietävät tarkalleen mitä ja miten sanoa, että tietokone ymmärtää heitä. Jos olet koskaan opiskellut toista kieltä tiedät, että kielet koostuvat sanastosta, kieliopista ja säännöistä. Tietokonekielillä on myös oma tapansa sanoa asioita, tätä kutsutaan syntaksiksi.

Vaikka toinen ihminen saattaa ymmärtää sinua, kun lausut tai taivutat sanan väärin sekä menet sekaisin kieliopissa, on tietokone sillä kertaa vähemmän anteeksiantava. Heti kun teet syntaksivirheen, tietokone lakkaa kuuntelemasta sinua ja lopettaa ohjelman.

Kuinka tylyä.

Mitä voit saavuttaa koodaustaitojesi avulla?

Jos olet koskaan käyttänyt tietokonetta, katsonut videoita netistä tai pelannut videopelejä, voi olla vaikea uskoa, että kaikki syntyy vain sarjasta kirjaimia ja symboleita. Kyky prosessoida tuhansia rivejä koodeja per sekunti on tietokoneen supervoima, joka mahdollistaa sen kyvyn seurata valtavan monimutkaisia ohjeita ja suorittaa uskomattomia tehtäviä.

Katsotaanpa joitakin siistejä juttuja mitä koodin avulla voi tehdä:

  • Luoda & suunnitella verkkosivustoja
  • Rakentaa mobiilisovelluksia
  • Kehittää työpöytäohjelmistoja
  • Kehittää videopelejä
  • Luoda & ylläpitää tietokantoja
  • Automatisoida tehtäviä
  • Ratkaista monimutkaisia ongelmia
  • Kehittää tekoälyä
  • Suorittaa tilastollista analyysiä
  • Ja paljon muuta…

Jos olet kiinnostunut mistään näistä tehtävistä ja haluaisit tehdä niitä työksesi, on ohjelmointi silloin tärkeä taito osata.

Miksi koodaaminen on hyödyllistä ja mihin sitä voi käyttää?

Ohjelmoinnin ja koodaamisen merkitys kasvaa, kun luotamme yhä enemmän ja enemmän tietokoneisiin päivittäisessä elämässämme.

Tulevina vuosina lähestulkoon kaikkiin aloihin liittyy ohjelmointi, ja koodaamisen opettelu antaa sinulle saumaa tulevaisuuden uraasi varten. Voit hyödyntää ohjelmointitaitoja esimerkiksi kirjoittamisen, analysoinnin, hallinnon, tekniikan, ohjelmistokehittämisen aloilla sekä useilla muilla toimialueilla.

Ohjelmoinnin kannattajat näkevät koodaamisen yleishyödyllisenä taitona, joka kaikkien tulisi osata, samaan tapaan kuin kyky kirjoittaa tai suorittaa yksinkertaisia matemaattisia yhtälöitä. Monet valtiot ympäri maailman uskovat myös tähän ja ovatkin ehdottaneet päättäjilleen koodaamisen opiskelun liittämistä osaksi opetussuunnitelmaa.

Aivan kuten me, he pitävät koodausta avaimena kilpailukyvyn ylläpitämiseen globaaleilla markkinoilla.

Tiedän sen jo olevan hyödyllistä, mutta millaista ohjelmointi oikeastaan on?

Ohjelmoijan keskivertopäivä ei ehkä ole yhtä hohdokas, kuin se vaikuttaisi olevan elokuvissa ja tv-sarjoissa.

Ohjelmoijana oleminen vaatii paljon keskittymistä, kärsivällisyyttä sekä oma-aloitteisuutta. Jos et kykene istumaan paikoillasi ja keskittymään tunteja kerralla, saatat haluta harkita ohjelmoijan uraa vielä kerran.

Jotkut ohjelmointityöt edellyttävät sinua työskentelemään epäsäännöllisin työajoin ja olemaan käytettävissä bugien korjaukseen ja ongelmien ratkaisuun välittömästi niiden ilmaantuessa. Toiset työt taas vaativat yhdeksästä viiteen työskentelyä, aivan kuten tavallisessa työssä.

Joka tapauksessa, ohjelmoijana työskentely saattaa antaa sinulle enemmän vapauksia kuin nykyinen työsi. Suuri määrä ohjelmointityöstä tehdään etänä, tarkoittaen sitä, että voit koodata kotona, kahvilassa tai vaikkapa rannalla samanaikaisesti ruskettuen, oletuksena tietysti, että WiFi signaali yltää sinne asti.

Onko ohjelmointityö varmasti oikea minulle?

Tämä on se vaihe missä lyömme faktat tiskiin ja sinun täytyy tosissasi punnita ohjelmointityön hyödyt ja haitat. Ehkäpä sinulla on ollut epärealistinen käsitys siitä millaista ohjelmointi on, etkä ole ajatellut, että koodaaminen on aivan kuten mikä tahansa muu työ eli joka tapauksessa kovaa työtä. Jos kuitenkin täytät seuraavat ehdot, on todennäköistä, että rakastat jokaista sekuntia.

Merkkejä, että ohjelmointi EI SOVI sinulle:

  • Sinua motivoi vain raha, etkä ole ollenkaan kiinnostunut tietokoneista
  • Et halua istua pitkään paikallasi
  • Silmäsi alkavat harhailla kun katsot koodisivua
  • Olet suhteellisen hidas kirjoittamaan koneella ja teet usein kirjoitusvirheitä

Merkkejä, että ohjelmointi SOPII sinulle

  • Kuvailet itseäsi sekä analyyttiseksi, että luovaksi
  • Kiinnität huomiota yksityiskohtiin
  • Sinusta on mukava työskennellä yhdessä muiden kanssa ja yksin
  • Sinulla on hyvä ymmärrys kirjoitetusta englannista
  • Rakastat ongelmanratkaisua
  • Rakastat aina uusien asioiden oppimista
  • Mukaudut muutokseen hyvin
  • Haluat järjestää tietoa ja automatisoida prosesseja

Minkä ohjelmointikielen valitsen ja mistä aloitan?

Mennäänpä takaisin esimerkki tapaamiseemme kiinalaisen liikemiehen kanssa.

Vaikka englannista voi olla hyötyä yritysympäristössä, saatat huomata, että sinun on opittava muita kieliä eri aloja varten. Haluat esimerkiksi tietää ranskan diplomatian, kreikan filosofian ja saksan tekniikan kenttää varten. Riippuen siitä, millä alalla työskentelet, valitset tietyn kielen tarpeidesi mukaan.

Sinulla ei tule olemaan aikaa tai kykyä jokaisen olemassa olevan ohjelmointikielen opetteluun, joten tarvitset strategian sitä varten mitä kieliä haluat oppia. Ensiksi sinun pitää päättää mihin keskityt ja mitä kieliä tarvitset saavuttaaksesi henkilökohtaiset tavoitteesi.

Vaikka HTML ja CSS eivät teknisesti olekaan ohjelmointikieliä, ne ovat loistavia ohjelmoinnin perusteiden opetteluun. Myös olio-ohjelmoinnin kielet Javascript tai Python koetaan usein aloittelijaystävällisiksi vaihtoehdoiksi. HTML ja CSS ovat “tekstimerkintäkieliä”, jotka ovat itse asiassa kieliä, joita käytämme tekstin muotoiluun ja järjestämiseen. Ilman HTML- tai CSS-selainta selaimesi ei tiedä, ovatko nämä kirjoittamani sanat otsikkoa, kappaletta vai alatunnistetta. Se ei myöskään tiedä, pitäisikö nämä sanat lihavoida, kursivoida jne.

Esimerkiksi kun kirjoitan tätä artikkelia, käytän HTML:ää ja CSS:ää auttaakseni sinua ja selainta ymmärtämään mitä minulla on sanottavaa.

TL;DR (Too Long; Didn’t Read)

Yhteenvetona, ohjelmointityö on korkeapalkkainen ammatti, joka vaatii kärsivällisyyttä, omistautumista sekä kykyä keskittyä yksityiskohtiin.

Jos vihaat istua tietokoneen ääressä etkä ole valmis käyttämään aikaasi harjoitteluun, niin tulet silloin vihaamaan ohjelmointia ja luovuttamaan hyvin nopeasti. Et myöskään tule pärjäämään kovin hyvin, jos motivoidut vain rahasta eikä sinulla ole kiinnostusta itse työtä kohtaan.

Joka tapauksessa, jos rakastat uuden oppimista, olet itseohjautuva ja sinulla on “Minä pystyn siihen!” -asenne, tulet menestymään koulutustaustastasi huolimatta.

 

Ohjelmointikoulu CodeBerryn “Ohjelmoinnin perusteet” -sarjassa keskustelemme ohjelmointiin liittyvistä aiheista ja kaikesta mitä sinun täytyy tietää päästäksesi alkuun. Pysy kuulolla uusista artikkeleista, ja löydä vastaukset jokaiseen “mitä”, “miksi” ja “miten” -kysymykseesi, joita sinulla on saattanut tulla mieleen koodaukseen liittyen!

Ohjelmoinnin perusteet

Haluaisitko oppia koodaamaan ja vielä verkossa? Tule ja kokeile ensimmäisiä oppitunteja maksutta Ohjelmointikoulu CodeBerryssä!