Miten niin muka koodaamista oppii kuka vaan ja IT-alalle työllistyy helposti?
Moneen kertaan yrittänyt opetella ohjelmointia, mutta en vain ymmärrä enkä osaa käyttää niitä ohjelmointikieliä ollenkaan. Ei tuo kaikilta onnistu. Kyllä siinä täytyy olla jotain matemaattista ajattelukykyä ja muutenkin tarpeeksi älyä, että ymmärtää.
Kommentit (35)
Tuskin kaikki oppivat. Itselläni on pientä autismin tynkää havaittavissa ja kun ensimmäistä kertaa koodasin, niin tiesin, että tämä on se minun juttu. C/C++-koodin tekeminen on huippua. Kyse ei ole mistään tuurista tai "ranneliikkeestä" vaan kylmästä logiikasta. Toki kaikilla on oma tyylinsä koodata.
Kyllähän sitä joskus ihan porukalla ihmetellään kun jokin koodinpätkä ei toimi tai lopulta sitä, että miten ihmeessä se voi edes toimia. Tutkimalla lopulta aina kuitenkin löytyy selitys ja sitä kautta kertyy osaamista.
Koodaaminen on kuin soittimen soittamista. Jos ei ole musikaalisesti lahjakas, ei ammattimuusikoksi tule. Samoin harrastuneisuutta pitää löytyä, jotta olisi koodari josta työnantajat kilpailee. Ei kukaan palkkaa orkesteriinkaan muusikkoa, joka on käynyt vain koulun pakolliset musiikin tunnit.
Vierailija kirjoitti:
Kyllä siinä täytyy olla jotain matemaattista ajattelukykyä ja muutenkin tarpeeksi älyä, että ymmärtää.
Juuri näin. Matematiikka pitää olla tosi vahva ja ymmärrys miten tietokoneohjelmat yleensäkin toimivat.
Harvassa on hyvät koodarit.
Itse tykkään ratkaista assemblerkielellä erilaisia vanhoja ongelmia. Tässä esimerkiksi Xenon2-pelin Amiga version bitmap skaalausrutiini, eli tämä pienentää ja suurentaa grafiikkaa reaaliajassa, 16 askelta, m68k-asm. Hyvinkin tehoton rutiini, saa kyllä paljonkin nopeammaksi, tahmaa perus-A500:lla.
Korkeamman tason kielet ovat lastenleikkiä assemblerkieleen verrattuna. Ja yleisesti ottaen PowerPC,MIPS, ARM, x86/64 assemblerkielet ovat roskaa m68k prossuihin verrattuna. Sen huomaatte, kun alatte kirjoittamaan oikeaa koodia, eli assemblerkoodia.
SCREEN_SIZE_X: equ 320
SCREEN_SIZE_Y: equ 200
SCREEN_BITPLANES: equ 4
ZOOM_MIN: equ 1
ZOOM_MAX: equ 16
X2ZOOM: muls.w MAGNIFY,d0
asr.w #4,d0
addi.w #$A0,d0
muls.w MAGNIFY,d1
asr.w #4,d1
addi.w #$64,d1
movea.l SCREEN,a1 ; $406 = Screen address
muls.w #(SCREEN_SIZE_X/8)*SCREEN_BITPLANES,d1
adda.w d1,a1
move.w d0,d1
andi.w #$F,d0
sub.w d0,d1
lsr.w #3,d1
adda.w d1,a1
move.l #$10000,d1
lsl.l d0,d1
lea ZOOMTAB,a2 $ 8724
adda.w MAGNIFY,a2
adda.w MAGNIFY,a2
move.w (a2),d4
swap d4
move.w (a2),d4
move.w d3,-(a7)
l1192F8 move.l d1,-(a7)
move.l d1,d0
move.l d1,d3
move.l d1,d5
move.w d2,d7
swap d4
rol.w #1,d4
bcs.s l119318
swap d4
andi.w #$FFF0,d7
lsr.w #1,d7
lea 8(a0,d7.w),a0
bra l1193A2
l119318 swap d4
movea.l a1,a2
moveq #0,d6
l11931E dbf d6,l11932C
move.w (a0)+,d1 ; Read ST bitplane 1 chunk
move.w (a0)+,d0 ; ...2
move.w (a0)+,d3 ; ...3
move.w (a0)+,d5 ; ...4
moveq #$f,d6 ; 16 chunks?
l11932C rol.w #1,d4
bcc.s l119372
add.l d1,d1
add.l d0,d0
add.l d3,d3
add.l d5,d5
dbcs d7,l11931E
bcc.s l11937E
swap d1
swap d0
swap d3
swap d5
move.w d0,(SCREEN_SIZE_X/8)*1(a2) ; Last chunk done here.
move.w d3,(SCREEN_SIZE_X/8)*2(a2)
move.w d5,(SCREEN_SIZE_X/8)*3(a2)
move.w d1,(a2)+
move.w #1,d0
move.w d0,d1
move.w d0,d3
move.w d0,d5
swap d0
swap d1
swap d3
swap d5
dbf d7,l11931E
bra.s l11937E
l119372 add.w d1,d1
add.w d0,d0
add.w d3,d3
add.w d5,d5
dbf d7,l11931E
l11937E add.l d1,d1
add.l d0,d0
add.l d3,d3
add.l d5,d5
bcc.s l11937E
swap d1
swap d0
swap d3
swap d5
move.w d0,(SCREEN_SIZE_X/8)*1(a2) ; Last chunk done here.
move.w d3,(SCREEN_SIZE_X/8)*2(a2)
move.w d5,(SCREEN_SIZE_X/8)*3(a2)
move.w d1,(a2)+
lea (SCREEN_SIZE_X/8)*SCREEN_BITPLANES(a1),a1
l1193A2 move.l (a7)+,d1
subq.w #1,(a7)
bpl l1192F8
addq.w #2,a7
rts
ENLARGE:
move.w #ZOOM_MIN,MAGNIFY
.loop: bsr WaitEOF
lea X2LOGO,a0
moveq #-$70,d0 ;x pos
moveq #-$50,d1 ;y pos
move.w #$cF,d2 ;length
moveq #$35,d3 ;depth
bsr X2ZOOM ;Zoom
;bra .loop
addq.w #1,MAGNIFY
cmpi.w #ZOOM_MAX,MAGNIFY
blt.s .loop
rts
REDUCE: move.w #ZOOM_MAX,MAGNIFY
.loop: bsr WaitEOF
lea X2LOGO,a0
moveq #-$70,d0
moveq #-$50,d1
move.w #$cf,d2
moveq #$35,d3
bsr X2ZOOM
subq.w #1,MAGNIFY
bne.s .loop
rts
dseg
SCREEN: dc.l 0
COPPTR_TOP: dc.l 0
COPPTR_ORIGIN: dc.l 0
MAGNIFY: dc.w 0
ZOOMTAB:
dc.w $0000,$0100,$1010,$2104,$4444,$4912,$5252,$552A
dc.w $AAAA,$AB55,$B5B5,$B76D,$DDDD,$DF7B,$F7F7,$FF7F
dc.w $FFFF
X2LOGO: incbin X2logo.pic
even
No, niin. Osaajia tarvitaan, mutta todellakaan kaikista sellaisia ei saa. Ei se nyt ihan riitä, että saa ohjeistuksella jonkun "Hello World" tason pätkän tehtyä. Pitää olla loogista päättelykykyä ja ongelmanratkaisukykyä, että saa jotain tehtyä oikeassa maailmassa, eikä tee ihan p#skaa koodia.
Vierailija kirjoitti:
No, niin. Osaajia tarvitaan, mutta todellakaan kaikista sellaisia ei saa. Ei se nyt ihan riitä, että saa ohjeistuksella jonkun "Hello World" tason pätkän tehtyä. Pitää olla loogista päättelykykyä ja ongelmanratkaisukykyä, että saa jotain tehtyä oikeassa maailmassa, eikä tee ihan p#skaa koodia.
Ja vaikka noita olisi, ei silti saa töitä.
Ei alan työnantajat loogisesta päättelykyvystä maksa, vaan siitä, että hallitset tiettyjä teknologioita ja kykenet nopeasti oppimaan uusia.
Siksi minäkin olen työtön koodari. Logiikka minulla riittää koodaamiseen mainiosti (itse asiassa harmittaa, kun sille ohjelmoinnissa on niin vähän käyttöä), mutta ei innosta opiskella taas kerran uutta välinettä tehdä sama vanha asia.
Vierailija kirjoitti:
No ei opi kuin harva.
Mieheni opetti pojan koodaamaan 7 vuotiaana. Kyllä sen aikuinen varmasti jotenkin oppii.
Uskoisin että suurin osa normaaliälyllä varustettu oppii jos haluaa. Mutta moni suhtautuu siihen juuri noin: se on vaikeaa, en minä kuitenkaan osaa ja pitäisi olla jotain synnynnäistä lahjakkuutta. Hyvällä koodarilla varmaan pitääkin olla, keskinkertaisella ei. Työtä sekin vaan on ja samalla lailla muissakin ammateissa suurin osa on keskinkertaisia puurtajia ilman erityisiä lahjoja.
No oppii sitä varmaan "kuka vaan" mutta tietysti se vaatii mielenkiintoa aiheeseen. Kyllä autoakin oppii ajamaan kuka vaan, mutta aika harva päätyy kilpa-autoilijaksi ilman palavaa halua ja mielenkiintoa siihen.
Vierailija kirjoitti:
Uskoisin että suurin osa normaaliälyllä varustettu oppii jos haluaa. Mutta moni suhtautuu siihen juuri noin: se on vaikeaa, en minä kuitenkaan osaa ja pitäisi olla jotain synnynnäistä lahjakkuutta. Hyvällä koodarilla varmaan pitääkin olla, keskinkertaisella ei. Työtä sekin vaan on ja samalla lailla muissakin ammateissa suurin osa on keskinkertaisia puurtajia ilman erityisiä lahjoja.
Ja sitten ne hyvät korjailee niitten keskinkertaisten jälkiä.
Vierailija kirjoitti:
Vierailija kirjoitti:
Uskoisin että suurin osa normaaliälyllä varustettu oppii jos haluaa. Mutta moni suhtautuu siihen juuri noin: se on vaikeaa, en minä kuitenkaan osaa ja pitäisi olla jotain synnynnäistä lahjakkuutta. Hyvällä koodarilla varmaan pitääkin olla, keskinkertaisella ei. Työtä sekin vaan on ja samalla lailla muissakin ammateissa suurin osa on keskinkertaisia puurtajia ilman erityisiä lahjoja.
Ja sitten ne hyvät korjailee niitten keskinkertaisten jälkiä.
Niinhän se on joka alalla... Insinööripuolella ainakin.
Minusta se ei vaadi sen kummemmin erityislahjakkuutta kuin vieraan kielen oppiminen.
Useimmat voivat oppia auttavasti. Moni voi oppia niin paljon, että selviää töistä jotenkin (jos saa töitä). Harvempi oppii todella hyväksi, eli tasolle joka vastaisi sitä että puhuu melkein kuin syntyperäinen. Mutta moni ei kehity niin hyväksi ihan vain siksi, ettei harjoittele tarpeeksi.
Kyllä lahjakkuudellakin on väliä, mutta lähinnä se vaikuttaa siihen, minkä verran pitää tehdä töitä jotta tietylle tasolle pääsee.
Ja sitten tosiaan alalle työllistymiseen ei riitä se, että periaatteessa ymmärtää, miten ohjelmoidaan, ja käytänössä jonkin verran jollakin kielellä osaa, tai vaikka useammallakin.
Mutta ihan suotta koodaamista mystifioidaan.
Vierailija kirjoitti:
Vierailija kirjoitti:
No, niin. Osaajia tarvitaan, mutta todellakaan kaikista sellaisia ei saa. Ei se nyt ihan riitä, että saa ohjeistuksella jonkun "Hello World" tason pätkän tehtyä. Pitää olla loogista päättelykykyä ja ongelmanratkaisukykyä, että saa jotain tehtyä oikeassa maailmassa, eikä tee ihan p#skaa koodia.
Ja vaikka noita olisi, ei silti saa töitä.
Ei alan työnantajat loogisesta päättelykyvystä maksa, vaan siitä, että hallitset tiettyjä teknologioita ja kykenet nopeasti oppimaan uusia.
Siksi minäkin olen työtön koodari. Logiikka minulla riittää koodaamiseen mainiosti (itse asiassa harmittaa, kun sille ohjelmoinnissa on niin vähän käyttöä), mutta ei innosta opiskella taas kerran uutta välinettä tehdä sama vanha asia.
Itseäni nyppi koodarina juuri se työn vaatima valtava vaivannäkö ja jatkuva uusien teknologioiden opettelu. Osaaminen ja kyky on, mutta kiinnostukseni ei riittänyt siihen pitkällä tähtäimellä. Siksi olenkin nykyään projektipäällikkö ja konsultti.
Vierailija kirjoitti:
Vierailija kirjoitti:
No, niin. Osaajia tarvitaan, mutta todellakaan kaikista sellaisia ei saa. Ei se nyt ihan riitä, että saa ohjeistuksella jonkun "Hello World" tason pätkän tehtyä. Pitää olla loogista päättelykykyä ja ongelmanratkaisukykyä, että saa jotain tehtyä oikeassa maailmassa, eikä tee ihan p#skaa koodia.
Ja vaikka noita olisi, ei silti saa töitä.
Ei alan työnantajat loogisesta päättelykyvystä maksa, vaan siitä, että hallitset tiettyjä teknologioita ja kykenet nopeasti oppimaan uusia.
Siksi minäkin olen työtön koodari. Logiikka minulla riittää koodaamiseen mainiosti (itse asiassa harmittaa, kun sille ohjelmoinnissa on niin vähän käyttöä), mutta ei innosta opiskella taas kerran uutta välinettä tehdä sama vanha asia.
Saat toki uskotella itsellesi mitä haluat, mutta kuulostaa enemmän APn tilanteelta kuin miltään muulta.
Vierailija kirjoitti:
Uskoisin että suurin osa normaaliälyllä varustettu oppii jos haluaa. Mutta moni suhtautuu siihen juuri noin: se on vaikeaa, en minä kuitenkaan osaa ja pitäisi olla jotain synnynnäistä lahjakkuutta. Hyvällä koodarilla varmaan pitääkin olla, keskinkertaisella ei. Työtä sekin vaan on ja samalla lailla muissakin ammateissa suurin osa on keskinkertaisia puurtajia ilman erityisiä lahjoja.
Juu, kyllä peruskoodia kirjoittaa, mutta aika paljon sekin vaatii opiskelua, jos on ihan ummikko koodaamisen suhteen. Mieti nyt joku javan tai c:n perusteetkin ensin ja debuggauksen, työkalujen jne. opettelu. Siihen päälle vielä kaiken muun ympäröivän kilkkeen ymmärrys.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
No, niin. Osaajia tarvitaan, mutta todellakaan kaikista sellaisia ei saa. Ei se nyt ihan riitä, että saa ohjeistuksella jonkun "Hello World" tason pätkän tehtyä. Pitää olla loogista päättelykykyä ja ongelmanratkaisukykyä, että saa jotain tehtyä oikeassa maailmassa, eikä tee ihan p#skaa koodia.
Ja vaikka noita olisi, ei silti saa töitä.
Ei alan työnantajat loogisesta päättelykyvystä maksa, vaan siitä, että hallitset tiettyjä teknologioita ja kykenet nopeasti oppimaan uusia.
Siksi minäkin olen työtön koodari. Logiikka minulla riittää koodaamiseen mainiosti (itse asiassa harmittaa, kun sille ohjelmoinnissa on niin vähän käyttöä), mutta ei innosta opiskella taas kerran uutta välinettä tehdä sama vanha asia.
Itseäni nyppi koodarina juuri se työn vaatima valtava vaivannäkö ja jatkuva uusien teknologioiden opettelu. Osaaminen ja kyky on, mutta kiinnostukseni ei riittänyt siihen pitkällä tähtäimellä. Siksi olenkin nykyään projektipäällikkö ja konsultti.
Nimenomaan kyvykkyys siis puuttuu. Itselle saa uskotella muuta. ”Olisin lääkäri jos vain haluaisin, mutta ei viitti valittavia asiakkaita” jne. Kyllä näitä oman elämän potentiaalisia miljonäärivisionäärejä riittää.
Vierailija kirjoitti:
Korkeamman tason kielet ovat lastenleikkiä assemblerkieleen verrattuna. Ja yleisesti ottaen PowerPC,MIPS, ARM, x86/64 assemblerkielet ovat roskaa m68k prossuihin verrattuna. Sen huomaatte, kun alatte kirjoittamaan oikeaa koodia, eli assemblerkoodia.
Olen tästä ehdottomasti eri mieltä. Olen kyllä kirjoittanut koodia assemblereillakin, mutta valitettavasti työt ovat aina olleet korkean tason kielillä vain. Olisi ihanaa päästä keskittymään suppeaan rajattuun assembler-maailmaan, jossa ei koko ajan tule uutta vastaan, ja jossa ei tarvitse niin paljon miettiä koodinsa arkkitehtuuria. Kunhan se vain toimii ja on kompaktia.
Vierailija kirjoitti:
Vierailija kirjoitti:
No ei opi kuin harva.
Mieheni opetti pojan koodaamaan 7 vuotiaana. Kyllä sen aikuinen varmasti jotenkin oppii.
Se 7v osaa varmaan koodata tosi kivasti vaikka tietokonepelin. Osaa laskea ammuksille lentoradat ja skaalata 3D-objektit liikkumaan ruudulla silleen sujuvasti?
Jos tämmöinen viiskymppinen amkissa pystyy opiskelemaan it-alaa, niin ei se nyt ihan ylivoimaista ole. Toki mä olen matemaattisesti lahjakas ja tykkään koneiden kanssa pelata, mutta anyway pärjään ihan hyvin. Eli ohjelmointikurssit oon suorittanut siinä missä muutkin.
No ei opi kuin harva.