Mitä koodaaminen on?
Mitä koodaaminen tarkoittaa? Mitä siis ihminen, joka koodaa tekee? Onko se sama kuin ohjelmistosuunnittelu? Mitä kotikoneella voi koodata?
Aukko sivistyksessä, enkä kehtaa keneltäkään kysyä, enkä edes tunne juuri ketään joka osaisi vastata.
Kommentit (254)
Vierailija kirjoitti:
Mitä järkeä tuossa on? Vaikuttaa yhtä kiinnostavalta kuin katsoa maalin kuivumista.
Tästä saa rahaa myös, jos osaa. Itse saan noin 5000 euroa kuukaudessa, jos teen 37,5 tuntia viikossa.
Koodaaminen on siitä hyvä työ, että se on itsenäinen. Normaali koodaustyössä sovit asiakkaan ja projektipäällikön kanssa mitä tehdään, milloin valmis, mitä tarvitset avuksi. Ilmoitat pomollesi että olet tässä projektissa ensi kesään, kustannuspaikka on A98889 ja tarvittaessa voit päivystää vkl'na muiden hommia. Pomo ei tiedä mitä teen, hän hoitaa laskut, ylityöt ja matkalaskut ja käy parin viikon välein kysymässä mikä on tilanne, mikä on aikataulu.
Hyvä homma, jatka samaan tyyliin.
Ja koodaajia on muitakin kuin Hello Worldin kirjoittajat.
Koodaaminen on salakirjoitusta.
Vierailija kirjoitti:
Olihan jo 80-luvun lopulla yläasteen ATK-tunneilla ohjelmointiharjoituksia ainakin Logo -kielellä, taisi olla muitakin kieliä, Basic, ehkä Pascal, mutta ei vissiin tee näillä kielillä enää yhtään mitään tänä päivänä.
Käyköhän nykyajanki "koodaamisen" opetukselle, että niillä tiedoilla ei sitten syystä tai toisesta teekään mitään oikeassa elämässä...
Pascal on kyllä edelleen olemassa. Käytetään tuotteessa
nimeltä Delphi. Myös Siemensin S7 logiikan SCL-kieli on käytännössä hyvin Pascalin tapainen.
Vierailija kirjoitti:
Vierailija kirjoitti:
Nykyiset ohjelmointikielet on humpuukia, ja koodarit eivät osaa mitään. Vain assemblerkielellä koodaaminen on oikeaa KOODAUSTA. Nykyään kirjoitetaan jotain runoja.
Tässä on esimerkiksi Amiga-tietokoneille tehty Xenon 2-pelin bitmap-skaalausrutiini, jota käytetään pelin logon ja tekstien zoomauksessa:
SCREEN_SIZE_X:equ320
SCREEN_SIZE_Y:equ200
SCREEN_BITPLANES:equ4ZOOM_MIN:equ1
ZOOM_MAX: equ16X2ZOOM:muls.wMAGNIFY,d0
asr.w#4,d0
addi.w#$A0,d0
muls.wMAGNIFY,d1
asr.w#4,d1
addi.w#$64,d1
movea.lSCREEN,a1; $406 = Screen address
muls.w#(SCREEN_SIZE_X/8)*SCREEN_BITPLANES,d1adda.wd1,a1
move.wd0,d1
andi.w#$F,d0
sub.wd0,d1
lsr.w#3,d1
adda.wd1,a1
move.l#$10000,d1
lsl.ld0,d1leaZOOMTAB,a2$ 8724
adda.wMAGNIFY,a2
adda.wMAGNIFY,a2
move.w(a2),d4
swapd4
move.w(a2),d4
move.wd3,-(a7)
l1192F8move.ld1,-(a7)
move.ld1,d0
move.ld1,d3
move.ld1,d5
move.wd2,d7
swapd4
rol.w#1,d4
bcs.sl119318
swapd4
andi.w#$FFF0,d7
lsr.w#1,d7
lea8(a0,d7.w),a0
bral1193A2l119318swapd4
movea.la1,a2
moveq#0,d6
l11931Edbfd6,l11932Cmove.w(a0)+,d1; Read ST bitplane 1 chunk
move.w(a0)+,d0; ...2
move.w(a0)+,d3; ...3
move.w(a0)+,d5; ...4moveq#$f,d6; 16 chunks?
l11932Crol.w#1,d4
bcc.sl119372add.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5dbcsd7,l11931E
bcc.sl11937E
swapd1
swapd0
swapd3
swapd5move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+move.w#1,d0
move.wd0,d1
move.wd0,d3
move.wd0,d5swapd0
swapd1
swapd3
swapd5
dbfd7,l11931E
bra.sl11937El119372add.wd1,d1
add.wd0,d0
add.wd3,d3
add.wd5,d5
dbfd7,l11931El11937Eadd.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5
bcc.sl11937Eswapd1
swapd0
swapd3
swapd5
move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+
lea(SCREEN_SIZE_X/8)*SCREEN_BITPLANES(a1),a1l1193A2move.l(a7)+,d1
subq.w#1,(a7)
bpll1192F8
addq.w#2,a7
rtsENLARGE:
move.w#ZOOM_MIN,MAGNIFY
.loop:bsrWaitEOFleaX2LOGO,a0
moveq#-$70,d0;x pos
moveq#-$50,d1;y pos
move.w#$cF,d2;length
moveq#$35,d3;depth
bsrX2ZOOM;Zoom;bra.loop
addq.w#1,MAGNIFY
cmpi.w#ZOOM_MAX,MAGNIFY
blt.s.loop
rtsREDUCE:move.w#ZOOM_MAX,MAGNIFY
.loop:bsrWaitEOF
leaX2LOGO,a0
moveq#-$70,d0
moveq#-$50,d1
move.w#$cf,d2
moveq#$35,d3
bsrX2ZOOMsubq.w#1,MAGNIFY
bne.s.loop
rtsdseg
SCREEN:dc.l0
COPPTR_TOP:dc.l0
COPPTR_ORIGIN:dc.l0
MAGNIFY:dc.w0ZOOMTAB:
dc.w$0000,$0100,$1010,$2104,$4444,$4912,$5252,$552A
dc.w$AAAA,$AB55,$B5B5,$B76D,$DDDD,$DF7B,$F7F7,$FF7F
dc.w$FFFFX2LOGO:incbinX2logo.pic
evenJa yllä olevasta et itse ymmärrä oikeasti mitään. Vähän sama kun sanos että nykyajan yhteydenpitotavat on humpuukia, vain savumerkit on ainoa oikea tapa olla yhteydessä muihin. Järkevät koodaa tämänpäivän työkaluilla koska on paljon tehokkaampaa.
Riippuu mitä koodaa. Kyllä mä joudun aina välillä assyllä tekemään vaikka 99%:sesti teenkin c:llä. Mikrokontrollereiden startti (mitä tapahtuu ennen maini:ia) pitää yleensä kirjoittaa assyllä.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Nykyiset ohjelmointikielet on humpuukia, ja koodarit eivät osaa mitään. Vain assemblerkielellä koodaaminen on oikeaa KOODAUSTA. Nykyään kirjoitetaan jotain runoja.
Tässä on esimerkiksi Amiga-tietokoneille tehty Xenon 2-pelin bitmap-skaalausrutiini, jota käytetään pelin logon ja tekstien zoomauksessa:
SCREEN_SIZE_X:equ320
SCREEN_SIZE_Y:equ200
SCREEN_BITPLANES:equ4ZOOM_MIN:equ1
ZOOM_MAX: equ16X2ZOOM:muls.wMAGNIFY,d0
asr.w#4,d0
addi.w#$A0,d0
muls.wMAGNIFY,d1
asr.w#4,d1
addi.w#$64,d1
movea.lSCREEN,a1; $406 = Screen address
muls.w#(SCREEN_SIZE_X/8)*SCREEN_BITPLANES,d1adda.wd1,a1
move.wd0,d1
andi.w#$F,d0
sub.wd0,d1
lsr.w#3,d1
adda.wd1,a1
move.l#$10000,d1
lsl.ld0,d1leaZOOMTAB,a2$ 8724
adda.wMAGNIFY,a2
adda.wMAGNIFY,a2
move.w(a2),d4
swapd4
move.w(a2),d4
move.wd3,-(a7)
l1192F8move.ld1,-(a7)
move.ld1,d0
move.ld1,d3
move.ld1,d5
move.wd2,d7
swapd4
rol.w#1,d4
bcs.sl119318
swapd4
andi.w#$FFF0,d7
lsr.w#1,d7
lea8(a0,d7.w),a0
bral1193A2l119318swapd4
movea.la1,a2
moveq#0,d6
l11931Edbfd6,l11932Cmove.w(a0)+,d1; Read ST bitplane 1 chunk
move.w(a0)+,d0; ...2
move.w(a0)+,d3; ...3
move.w(a0)+,d5; ...4moveq#$f,d6; 16 chunks?
l11932Crol.w#1,d4
bcc.sl119372add.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5dbcsd7,l11931E
bcc.sl11937E
swapd1
swapd0
swapd3
swapd5move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+move.w#1,d0
move.wd0,d1
move.wd0,d3
move.wd0,d5swapd0
swapd1
swapd3
swapd5
dbfd7,l11931E
bra.sl11937El119372add.wd1,d1
add.wd0,d0
add.wd3,d3
add.wd5,d5
dbfd7,l11931El11937Eadd.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5
bcc.sl11937Eswapd1
swapd0
swapd3
swapd5
move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+
lea(SCREEN_SIZE_X/8)*SCREEN_BITPLANES(a1),a1l1193A2move.l(a7)+,d1
subq.w#1,(a7)
bpll1192F8
addq.w#2,a7
rtsENLARGE:
move.w#ZOOM_MIN,MAGNIFY
.loop:bsrWaitEOFleaX2LOGO,a0
moveq#-$70,d0;x pos
moveq#-$50,d1;y pos
move.w#$cF,d2;length
moveq#$35,d3;depth
bsrX2ZOOM;Zoom;bra.loop
addq.w#1,MAGNIFY
cmpi.w#ZOOM_MAX,MAGNIFY
blt.s.loop
rtsREDUCE:move.w#ZOOM_MAX,MAGNIFY
.loop:bsrWaitEOF
leaX2LOGO,a0
moveq#-$70,d0
moveq#-$50,d1
move.w#$cf,d2
moveq#$35,d3
bsrX2ZOOMsubq.w#1,MAGNIFY
bne.s.loop
rtsdseg
SCREEN:dc.l0
COPPTR_TOP:dc.l0
COPPTR_ORIGIN:dc.l0
MAGNIFY:dc.w0ZOOMTAB:
dc.w$0000,$0100,$1010,$2104,$4444,$4912,$5252,$552A
dc.w$AAAA,$AB55,$B5B5,$B76D,$DDDD,$DF7B,$F7F7,$FF7F
dc.w$FFFFX2LOGO:incbinX2logo.pic
evenJa yllä olevasta et itse ymmärrä oikeasti mitään. Vähän sama kun sanos että nykyajan yhteydenpitotavat on humpuukia, vain savumerkit on ainoa oikea tapa olla yhteydessä muihin. Järkevät koodaa tämänpäivän työkaluilla koska on paljon tehokkaampaa.
Riippuu mitä koodaa. Kyllä mä joudun aina välillä assyllä tekemään vaikka 99%:sesti teenkin c:llä. Mikrokontrollereiden startti (mitä tapahtuu ennen maini:ia) pitää yleensä kirjoittaa assyllä.
Sulautetun koodaajia onkin vaikea nykyään löytää. Nykyään koulutetaan vaan näitä korkeamman abstraktiotason koodaajia, jotka eivät ymmärrä raudasta mitään. Minäkin palkkaisin heti 2-3 koodaajaa jotka ymmärtää matalan tason kieliä. Kokoajan haku päällä, mutta ei löydy kuin "webbikoodaajia".
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM, 38911 BYTES FREE
READY.
10 PRINT"Hello vauvapalstan mammat!"
20 GOTO 10
RUN
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
BREAK IN LINE 10
READY.
_
Jack Attack kirjoitti:
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM, 38911 BYTES FREE
READY.
10 PRINT"Hello vauvapalstan mammat!"
20 GOTO 10
RUN
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
BREAK IN LINE 10
READY.
_
Syntax error?
10 PRINT"Hello vauvapalstan mammat!" --> PRINT:in jälkeen välilyönti
No en oikeasti muista pitikö olla vai menikö basicistä läpi tuo :D
Jack Attack kirjoitti:
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM, 38911 BYTES FREE
READY.
Ah, muistan vielä kun MikroBitistä kirjoitettiin koodilistauksia omalle koneelle. Ja sitten lehdessä oli painovirhe ja koodi ei toiminut :D
Vierailija kirjoitti:
Nykyiset ohjelmointikielet on humpuukia, ja koodarit eivät osaa mitään. Vain assemblerkielellä koodaaminen on oikeaa KOODAUSTA. Nykyään kirjoitetaan jotain runoja.
Tässä on esimerkiksi Amiga-tietokoneille tehty Xenon 2-pelin bitmap-skaalausrutiini, jota käytetään pelin logon ja tekstien zoomauksessa:
SCREEN_SIZE_X:equ320
SCREEN_SIZE_Y:equ200
SCREEN_BITPLANES:equ4ZOOM_MIN:equ1
ZOOM_MAX: equ16X2ZOOM:muls.wMAGNIFY,d0
asr.w#4,d0
addi.w#$A0,d0
muls.wMAGNIFY,d1
asr.w#4,d1
addi.w#$64,d1
movea.lSCREEN,a1; $406 = Screen address
muls.w#(SCREEN_SIZE_X/8)*SCREEN_BITPLANES,d1adda.wd1,a1
move.wd0,d1
andi.w#$F,d0
sub.wd0,d1
lsr.w#3,d1
adda.wd1,a1
move.l#$10000,d1
lsl.ld0,d1leaZOOMTAB,a2$ 8724
adda.wMAGNIFY,a2
adda.wMAGNIFY,a2
move.w(a2),d4
swapd4
move.w(a2),d4
move.wd3,-(a7)
l1192F8move.ld1,-(a7)
move.ld1,d0
move.ld1,d3
move.ld1,d5
move.wd2,d7
swapd4
rol.w#1,d4
bcs.sl119318
swapd4
andi.w#$FFF0,d7
lsr.w#1,d7
lea8(a0,d7.w),a0
bral1193A2l119318swapd4
movea.la1,a2
moveq#0,d6
l11931Edbfd6,l11932Cmove.w(a0)+,d1; Read ST bitplane 1 chunk
move.w(a0)+,d0; ...2
move.w(a0)+,d3; ...3
move.w(a0)+,d5; ...4moveq#$f,d6; 16 chunks?
l11932Crol.w#1,d4
bcc.sl119372add.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5dbcsd7,l11931E
bcc.sl11937E
swapd1
swapd0
swapd3
swapd5move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+move.w#1,d0
move.wd0,d1
move.wd0,d3
move.wd0,d5swapd0
swapd1
swapd3
swapd5
dbfd7,l11931E
bra.sl11937El119372add.wd1,d1
add.wd0,d0
add.wd3,d3
add.wd5,d5
dbfd7,l11931El11937Eadd.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5
bcc.sl11937Eswapd1
swapd0
swapd3
swapd5
move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+
lea(SCREEN_SIZE_X/8)*SCREEN_BITPLANES(a1),a1l1193A2move.l(a7)+,d1
subq.w#1,(a7)
bpll1192F8
addq.w#2,a7
rtsENLARGE:
move.w#ZOOM_MIN,MAGNIFY
.loop:bsrWaitEOFleaX2LOGO,a0
moveq#-$70,d0;x pos
moveq#-$50,d1;y pos
move.w#$cF,d2;length
moveq#$35,d3;depth
bsrX2ZOOM;Zoom;bra.loop
addq.w#1,MAGNIFY
cmpi.w#ZOOM_MAX,MAGNIFY
blt.s.loop
rtsREDUCE:move.w#ZOOM_MAX,MAGNIFY
.loop:bsrWaitEOF
leaX2LOGO,a0
moveq#-$70,d0
moveq#-$50,d1
move.w#$cf,d2
moveq#$35,d3
bsrX2ZOOMsubq.w#1,MAGNIFY
bne.s.loop
rtsdseg
SCREEN:dc.l0
COPPTR_TOP:dc.l0
COPPTR_ORIGIN:dc.l0
MAGNIFY:dc.w0ZOOMTAB:
dc.w$0000,$0100,$1010,$2104,$4444,$4912,$5252,$552A
dc.w$AAAA,$AB55,$B5B5,$B76D,$DDDD,$DF7B,$F7F7,$FF7F
dc.w$FFFFX2LOGO:incbinX2logo.pic
even
Niin hienoa kuin assulla päteminen onkin niin kyllä siinä tulee mainitsemiasi humpuukikieliä ikävä kun jos moderneja isoja tietojärjestelmiä alat assulla tekemään. Amigasetämies onkin jokaisen projektin stereotyyppi.
Vierailija kirjoitti:
Jack Attack kirjoitti:
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM, 38911 BYTES FREE
READY.
10 PRINT"Hello vauvapalstan mammat!"
20 GOTO 10
RUN
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
Hello vauvapalstan mammat!
BREAK IN LINE 10
READY.
_
Syntax error?
10 PRINT"Hello vauvapalstan mammat!" --> PRINT:in jälkeen välilyönti
No en oikeasti muista pitikö olla vai menikö basicistä läpi tuo :D
Ainakaan Mini C-64 ei välittänyt välilyönnin puuttumisesta, en muista oliko aito C-64 krantumpi kun mulla on sellainen viimeksi ollut vuonna 1991.
Vierailija kirjoitti:
Vierailija kirjoitti:
Nykyiset ohjelmointikielet on humpuukia, ja koodarit eivät osaa mitään. Vain assemblerkielellä koodaaminen on oikeaa KOODAUSTA. Nykyään kirjoitetaan jotain runoja.
Tässä on esimerkiksi Amiga-tietokoneille tehty Xenon 2-pelin bitmap-skaalausrutiini, jota käytetään pelin logon ja tekstien zoomauksessa:
SCREEN_SIZE_X:equ320
SCREEN_SIZE_Y:equ200
SCREEN_BITPLANES:equ4ZOOM_MIN:equ1
ZOOM_MAX: equ16X2ZOOM:muls.wMAGNIFY,d0
asr.w#4,d0
addi.w#$A0,d0
muls.wMAGNIFY,d1
asr.w#4,d1
addi.w#$64,d1
movea.lSCREEN,a1; $406 = Screen address
muls.w#(SCREEN_SIZE_X/8)*SCREEN_BITPLANES,d1adda.wd1,a1
move.wd0,d1
andi.w#$F,d0
sub.wd0,d1
lsr.w#3,d1
adda.wd1,a1
move.l#$10000,d1
lsl.ld0,d1leaZOOMTAB,a2$ 8724
adda.wMAGNIFY,a2
adda.wMAGNIFY,a2
move.w(a2),d4
swapd4
move.w(a2),d4
move.wd3,-(a7)
l1192F8move.ld1,-(a7)
move.ld1,d0
move.ld1,d3
move.ld1,d5
move.wd2,d7
swapd4
rol.w#1,d4
bcs.sl119318
swapd4
andi.w#$FFF0,d7
lsr.w#1,d7
lea8(a0,d7.w),a0
bral1193A2l119318swapd4
movea.la1,a2
moveq#0,d6
l11931Edbfd6,l11932Cmove.w(a0)+,d1; Read ST bitplane 1 chunk
move.w(a0)+,d0; ...2
move.w(a0)+,d3; ...3
move.w(a0)+,d5; ...4moveq#$f,d6; 16 chunks?
l11932Crol.w#1,d4
bcc.sl119372add.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5dbcsd7,l11931E
bcc.sl11937E
swapd1
swapd0
swapd3
swapd5move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+move.w#1,d0
move.wd0,d1
move.wd0,d3
move.wd0,d5swapd0
swapd1
swapd3
swapd5
dbfd7,l11931E
bra.sl11937El119372add.wd1,d1
add.wd0,d0
add.wd3,d3
add.wd5,d5
dbfd7,l11931El11937Eadd.ld1,d1
add.ld0,d0
add.ld3,d3
add.ld5,d5
bcc.sl11937Eswapd1
swapd0
swapd3
swapd5
move.wd0,(SCREEN_SIZE_X/8)*1(a2); Last chunk done here.
move.wd3,(SCREEN_SIZE_X/8)*2(a2)
move.wd5,(SCREEN_SIZE_X/8)*3(a2)
move.wd1,(a2)+
lea(SCREEN_SIZE_X/8)*SCREEN_BITPLANES(a1),a1l1193A2move.l(a7)+,d1
subq.w#1,(a7)
bpll1192F8
addq.w#2,a7
rtsENLARGE:
move.w#ZOOM_MIN,MAGNIFY
.loop:bsrWaitEOFleaX2LOGO,a0
moveq#-$70,d0;x pos
moveq#-$50,d1;y pos
move.w#$cF,d2;length
moveq#$35,d3;depth
bsrX2ZOOM;Zoom;bra.loop
addq.w#1,MAGNIFY
cmpi.w#ZOOM_MAX,MAGNIFY
blt.s.loop
rtsREDUCE:move.w#ZOOM_MAX,MAGNIFY
.loop:bsrWaitEOF
leaX2LOGO,a0
moveq#-$70,d0
moveq#-$50,d1
move.w#$cf,d2
moveq#$35,d3
bsrX2ZOOMsubq.w#1,MAGNIFY
bne.s.loop
rtsdseg
SCREEN:dc.l0
COPPTR_TOP:dc.l0
COPPTR_ORIGIN:dc.l0
MAGNIFY:dc.w0ZOOMTAB:
dc.w$0000,$0100,$1010,$2104,$4444,$4912,$5252,$552A
dc.w$AAAA,$AB55,$B5B5,$B76D,$DDDD,$DF7B,$F7F7,$FF7F
dc.w$FFFFX2LOGO:incbinX2logo.pic
evenNiin hienoa kuin assulla päteminen onkin niin kyllä siinä tulee mainitsemiasi humpuukikieliä ikävä kun jos moderneja isoja tietojärjestelmiä alat assulla tekemään. Amigasetämies onkin jokaisen projektin stereotyyppi.
Paljon vielä tehdään assyllä kun tarvitaan aikakriittisiä toimintoja pienillä resursseilla. Toki aika korjaa tilanteen niidenkin osalta, nyt ollaan päästy jo 32bittisiin prossuihin.
En väittänyt että isoja tietojärjestelmiä kirjoitetaan konekielellä. Ja en ollut tuon Amigakoodi -kommentin tekijä :)
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Mitä järkeä tuossa on? Vaikuttaa yhtä kiinnostavalta kuin katsoa maalin kuivumista.
Totta, mutta palkka onkin huikea, joten kummasti kiinnostaa... Esim. hoitsun palkkaan verrattuna vähintään viisinkertainen.
Missä tasa-arvo?
Tämän on äärimmäisen tasa-arvoista. Se, mitä jalkojen välissä on ei vaikuta koodarin palkkaan. Ainoastaan se kuinka hyvä on. Koodareiden tuottavuudessa ja sitä kautta myös palkoissa on isoja eroja. Saadakseen 5x hoitsu pitää olla todella hyvä.
Termi koodaus ei mielestäni kuvaa hyvin ohjelmistosuunnittelijan työtä, joka on ajoittain yllättävän sosiaalistakin ja kattaa paljon muuta kuin niin sanottua koodausta.
Samalla tavalla kuin rakentaminen ei ole tiilien latomista, ohjelmistosuunnittelu ei ole koodaamista. Työhön kuuluu järjestelmien suunnittelua, arkkitehtuurin kehittämistä, asiakkaan tarpeiden selvittämistä, tiimien välistä yhteistyötä, uusien teknologioiden omaksumista, koodaamista, työkalujen hallintaa, testausta, erilaisten työskentelyprosessien hallintaa yms yms Uran edetessä on opittava hallitsemaan huikea määrä teknologioita ja menetelmiä.
Työ on varsin vaativaa ja ajoittain henkisesti raskasta asiakaspaineiden ja järjestelmien kompleksisuuden vuoksi. Työ vaatii myös halukkuutta kehittyä koko ajan. Hyviä kokeneita ohjelmistosuunnittelijoita on hyvin vähän tarpeeseen nähden ja sen vuoksi työstä maksetaan hyvää palkkaa - itse tienaan yli 6000 euroa kuussa, mutta tiedän, että monet ansaitsevat selvästi enemmänkin.
Vierailija kirjoitti:
En omasta kokemuksesta välttämättä suosittelisi tätä hommaa, jos ei ole sitten itse työ intohimo. Mä vaihdoin hoitoalalta, koska kevyt päivätyö, hyvät palkat houkutti. Itse tietokoneet ei kiinnostaneet yhtään, mutta ajattelin että työ mikä työ, ei sen tarvitse mikään intohimo ollakaan.
En suosittele todellakaan ohjelmistokehitystä työksi ihmiselle, jota tietokoneet eivät kiinnosta. Aika varma resepti burn out:iin tai erittäin ikäviin tilanteisiin työssä.
Vierailija kirjoitti:
Mitä järkeä tuossa on? Vaikuttaa yhtä kiinnostavalta kuin katsoa maalin kuivumista.
Niin, mitä järkeä on tehdä yleensä mitään työtä, jos on esim. voittanut miljoonan lotossa tai perinyt valtavan omaisuuden? Minulle kun ei noin ole käynyt, niin mieluummin koodaan työkseni, kuin olen esim. Wolt-kuskina. Aika harva työ itsessään mitään herkkua on, mutta ilman montaa niistä elämämme olisi aika lailla kurjempaa.
Vierailija kirjoitti:
Mitä järkeä tuossa on? Vaikuttaa yhtä kiinnostavalta kuin katsoa maalin kuivumista.
Järkeä? Luulisi olevan ihmiselle joka selvästi tahtoo pysytä käyttämään tietokonetta. :D
Koodarin palkka voi olla mitä tahansa. Nykyinen hehkutettu "pula koodareista" tarkoittaa periaatteessa kahta asiaa ; on pula niistä hyödyllisistä idiooteista, jotka tekevät paskalla palkalla jotain lomakkeita johonkin sivuille ja niistä huippuosaajista, jotka eivät ole yleensä niin tyhmiä, että olisivat ulkopuolisella töissä. Perus-it-inssi-penttejä kyllä riittää, heitä on 13 tusinassa ja kaikki kokonaan tai osittain valtion ja kuntien omistamat it-puljut ovat näitä täynnä. Laiskoja, osaamattomia, mahakkaita heppuja, joilla yleensä jää työ suunnitteluasteelle. Tai jos joskus päästään maaliin asti, on lopputulos bugista paskaa.
Vierailija kirjoitti:
Vierailija kirjoitti:
En omasta kokemuksesta välttämättä suosittelisi tätä hommaa, jos ei ole sitten itse työ intohimo. Mä vaihdoin hoitoalalta, koska kevyt päivätyö, hyvät palkat houkutti. Itse tietokoneet ei kiinnostaneet yhtään, mutta ajattelin että työ mikä työ, ei sen tarvitse mikään intohimo ollakaan.
En suosittele todellakaan ohjelmistokehitystä työksi ihmiselle, jota tietokoneet eivät kiinnosta. Aika varma resepti burn out:iin tai erittäin ikäviin tilanteisiin työssä.
Itseäni ei haittaisi se asia ollenkaan, jos työhön riittäisi läheskään työaika eikä olisi jatkuva stressi ja paine. Jos oikeasti riittäisi 37,5 tuntia viikossa, mulle olisi ihan sama onko se työ pikkuisen tylsää ja kuivaa kun ei niin kiinnosta. Mutta kun niitä ylitöitä on pakko tehdä jatkuvasti paljon, niin siihen tarvisi jonkun erityisen kutsumuksen tai intohimon, että niin paljon on elämästään valmis uhraamaan työn eteen. Tosin tällä hetkellä itse kyllä uhraan - alaa aikuisena vaihtaneena, ja vielä sinkkuna jolla ei ole puolisoa talouden tukena, ei voi noin vaan taas vaihtaa. Pakko vaan yrittää kestää ja jaksaa. (Niin kauan kuin onnistuu, meidän työpaikalta on säännöllisesti porukkaa burnout / masennus lomilla joten ei aina onnistu)
Ja yllä olevasta et itse ymmärrä oikeasti mitään. Vähän sama kun sanos että nykyajan yhteydenpitotavat on humpuukia, vain savumerkit on ainoa oikea tapa olla yhteydessä muihin. Järkevät koodaa tämänpäivän työkaluilla koska on paljon tehokkaampaa.