Galluppia?

Minkälaista sakkia täällä oikein on?

Milloin törmäsit eka kerran koodaukseen?
- 1985, näin kun serkku koodaili C-16 koneella (olin 11v)

Milloin koodasit itse eka kerran?
- 1989 kun sain oman Atari ST koneen (olin 15v)

Mikä oli ensimmäinen kieli millä koodasit?
- ST Basic / GFA-Basic

Milloin aloit opiskella koodausta koulussa?
- 1999 (Jyväskylän AMK), opiskelin ihan muuta alaa aiemmin.

Milloin koodasit ammatiksesi?
- 2006+

Kuten näkyy, koodaus oli pitkään itsellä pelkästään harrastus, en uskonut että siitä tulisi edes amatti. Töihin IT-alalle pääsin kun tein oman web-sivun 2006 ja minuun otettiin yhteyttä. Palkka oli pitkään aika paska, mutta nykyään ok. Myös (ex) Logica otti yhteyttä web-sivuni kautta, mutten sinne mennyt töihin, joten oman web-sivun pystyttäminen kannattaa :)

Minun neuvo nuoremmille on että ei liian isoa palkkavaatimusta alussa, työ opettaa enemmän kuin 1000 kertaa kouluihin nähden. Kun työvuosia ja kokemusta kertyy niin palkkakin kasvaa.

Työ vaatii omistautumista alalle. Itsellä kiinnotus ollut "aina" jo ennen ensimmäistäkään koodiriviä. Särin pentuna kaikki Nindendo pelikoneet siksi koska halusin "laajentaa" pelejä omaksi mielekseni, mutta perseelleenhän ne meni =D

Koodailen edelleen työni ohessa harrastuksena, koska työ ei anna tarpeeksi haasteita ja tekisi mieli korjata työnpaikan puutteita, lisähintaan :)

Haaveena olisi oma yritys, omat tuotteet ja oma visio. Mutta en ole myyntimies :/ Työn kautta oppii silti businesta, ihmisiä yritysten takanakin on. Noh.. aika näyttää?...

Pääkielet millä koodannut aikajärjestyksessä?
- ST-Basic (harrastus)
- GFA-Basic (harrastus)
- QBasic (harrastus)
- C/C++ (opiskelu, harrastus)
- Delphi (Pascal) (harrastus, ex-työ)
- Visual Basic v6 (ex-työ)
- Java (opiskelu)
- C# (ex-työ)
- PHP (töissä)
- JavaScript (töissä)
- Vala (harrastus)
- D (harrastus)
Ilmoita

En ole koskaan harrastanut koodausta, eli salakirjoitusta, mutta Pikku Jättiläisessä ja Antero Vipusessa sitä näin jo 1960-l. lopulla.
Ilmoita
Commandore 16:ssa oli kyllä huomattavasti Vic-20:iä ja C64:ää kehittyneempi basic-tulkki. Muuten laite sisaruksistaan poikkeavine liitäntöineen ja oheislaitteineen oli tuhoontuomittu jo syntyessään.
Ilmoita
Ohjelmointiin törmäsin ensimmäisen kerran joskus kymmenvuotiaana. En silloin tosin ymmärtänyt siitä juurikaan, ja pelkästään muuttujien arvoalueet olivat minulle käsittämättömiä. Muutaman vuoden päästä, keväällä 2013, päätin alkaa opetella Pythonia. Se tuotti tulosta, ja siitä ohjelmointiharrastukseni alkoikin. Alan koulutusta ei ole, ja ikääkin vain 17, mutta kirjoja lukemalla ja itse tekemällä oppii aika paljon.

Python
Java
Html/JavaScript
Java (taas)
C++/Java
C++

Kuten on huomattavissa, minulla kesti jonkin tajuta, mitä haluan oikeasti tehdä. Kielet vaihtelivat usein, enkä hallinnut mistään juuri perusteita enempää. Jossain vaiheessa löysin C++, joka tuntui heti omalta, ja sillä olen pääasiassa ohjelmoinut nyt kolmisen vuotta. Käytän edelleen silloin tällöin myös Pythonia ja Javaa, en tosin mihinkään suurempaan projektiin.

Ja itsehän siis ohjelmoin, en koodaa. (Vihaan tuota sanaa, tulee mieleen nämä "opi koodaamaan 24 tunnissa Scratchissa"-systeemit. Niillä ei ole mitään tekemistä ohjelmoinnin kanssa, ne ovat vain loogiseen päättelyyn perustuvia pelejä.)
2 VASTAUSTA:
Kun jossain on tuputettu ohjelmointia oppiaineeksi peruskouluun (ilmeisesti jotkut Nokia-huumassa sinnittelevät on niin hulluja), niin juttusi oivallisesti kertoo, ettei ala-asteikäinen ainakaan ole kypsä ymmärtämään mistä ohjelmoinnissa on kysymys.
Hei! Lykkyä tykö ja jatka opiskelua oma-aloitteisesti ja mene kouluun, sieltä saa muutakin opiskeltavaa, toki joista opiskelusta voi olla hyötyä. Se minkä itse opin vasta töissä oli versiohallinta, opettele käyttämään myös Gitiä ja Svn;ää, tiedät mitä koodailussa tarkoittaa esim. pull request, merget sun muut jne. Isommissa työpaikoissa koodaillaan ryhmissä ja silloin versiohallinta on pakollinen ominaisuus. Tämä versiohallinta oli ehkä isoin puutos minkä opin vasta työpaikan kautta.
+Lisää kommentti
Milloin törmäsit eka kerran koodaukseen?
1986 Mikrobitti
Samalla törmäsin myös vuokaavioon.

Milloin koodasit itse eka kerran?
1987 C-64

Mikä oli ensimmäinen kieli millä koodasit?
M$ Basic V2

Milloin aloit opiskella koodausta koulussa?
1990 Kivistön yläaste (Basic)

Milloin koodasit ammatiksesi?
1998

Kielet about kronologisessa järjestyksessä:
Basic
Logo
Pascal
C
Konekoodi Z80 (käännettiin käsin ruutupaperilla asseblerista konekoodiksi MPF-1:lle)
C++
Java
Visualbasic
Assembler
matlab
IEC61131-3
4 VASTAUSTA:
Hardcore äijä :)

Aikoinaan Atari ST:llä yritin Motorola MC68000 assembleria mutta yritykseksi jäi, hommasin GFA-Basic Compilerin joka käänsi konekoodiin suoraan, se riitti :) Se nopeusetu oli uskomaton miten käännetty koodi toimi verrattuna tulkattuun. Mutta ei GFA-Basic ollut mitenkään hidas itsekkään, se käänsi koodin jotenkin Javan tapaan tavukoodiin jota se suoritti. Jos GFA-Basicin tiedoston avasi teksti-editoriin, se oli pelkkään siansaksaa, ei ollut ASCII-tekstiä suinkaan.
Tai siis ASCII oli itseään, mutta koodi ei ollut luettavassa muodossa suoraan toisessa editorissa. Nykyään kannattaa myös tutustua UTF-8 ja UTF-16 koodauksiin, UTF-8 on suoraan ASCIIsta laajennettu, erikoismerkit on enemmän kuin tavun ä ö jne.. UTF-16 vaatii aina 2 tavua per merkki jne. Näiden kanssa joutuu taistelemaan edelleen joskus, vanhemmissa sydeemeissä täällä on esim. ISO-8859-1 koodaus jne. Kyriillisisissä merkeissä on omat sotkunsa, parasta kun unohtaa kaikki vanhat ja yrittää päästä UTF-8 koodaukseen kaikissa tapauksissa, mutta näiden tuntemisesta on apua.
DeetäJaSympatiaa kirjoitti:
Hardcore äijä :)

Aikoinaan Atari ST:llä yritin Motorola MC68000 assembleria mutta yritykseksi jäi, hommasin GFA-Basic Compilerin joka käänsi konekoodiin suoraan, se riitti :) Se nopeusetu oli uskomaton miten käännetty koodi toimi verrattuna tulkattuun. Mutta ei GFA-Basic ollut mitenkään hidas itsekkään, se käänsi koodin jotenkin Javan tapaan tavukoodiin jota se suoritti. Jos GFA-Basicin tiedoston avasi teksti-editoriin, se oli pelkkään siansaksaa, ei ollut ASCII-tekstiä suinkaan.
Ei niin hardcore kuin hardware :)
On hieman jännä muistella nuota parin kymmenen vuoden takaisia asioita, ja minusta kun piti tulla sulautetun eletroniikan suunnittelija, mutta tulikin FW-koodari.
Alkupään projetit on näköjään jo obsolete statuksella.
https://goo.gl/5r2KPu
Tuohon tuli suuniteltua uusi piirilevy, kun siihen piti saada lisättyä sarjaportti ja LON -liitäntä.
http://www.enerlon.com/JobAids/Toshiba Neuron Data book.pdf
(Lopputyönä oli sittemin tuo LON -optiokortti ajureineen. CPU:na i80c251)

Seuraavana oli tohtori Tuomisen puulaakin lukuun jokin voimanmittauslaite, joka jutteli PC:lle sarjaportin kautta. Käyttöliittymänä kolme nappia ja kaksi neljän digitin 7-segmentti LCD:tä ICM7211 näytönohjainten perässä.
Prossuna AT89c2051, jossa RAM -muistia huimat 128 tavua. Tohtorin puulaaki on näemmä hieman kasvanut sitten vuoden 1998.
http://www.pohjalainenyrittaja.fi/epaper_new/20161108/16.pdf

Myöhemmin sitten jatkanut tuon sulautetun homman kanssa Esim. Oma osuus häivähdykseltä kohdassa 4:32. T50D oli eka liikkuvan työkoneen ohjaus, jonka tein kokonaan itse.
Tuota mallia rakennetaan Turussa. Tai ainakin tehtiin silloin 15vuotta sitten.
https://youtu.be/qTr6aXdxz74
Sen jälkeen olen ollut tuotekehityksessä 100%, eli suorat asiakaskontaktit on jäänyt hieman vähemmälle.

Joitain speciaalihommia on sittemmin tullut tehtyä viimeisin:
http://www.skaala.com/ilmanvaihtoikkunat.html
Tuonne FW, jonka kautta voidaan käyttää IEC61131-3 kääntäjää sitten varsinaisen sovelluksen tekemiseen.

t:p
pcmuseo kirjoitti:
Ei niin hardcore kuin hardware :)
On hieman jännä muistella nuota parin kymmenen vuoden takaisia asioita, ja minusta kun piti tulla sulautetun eletroniikan suunnittelija, mutta tulikin FW-koodari.
Alkupään projetit on näköjään jo obsolete statuksella.
https://goo.gl/5r2KPu
Tuohon tuli suuniteltua uusi piirilevy, kun siihen piti saada lisättyä sarjaportti ja LON -liitäntä.
http://www.enerlon.com/JobAids/Toshiba Neuron Data book.pdf
(Lopputyönä oli sittemin tuo LON -optiokortti ajureineen. CPU:na i80c251)

Seuraavana oli tohtori Tuomisen puulaakin lukuun jokin voimanmittauslaite, joka jutteli PC:lle sarjaportin kautta. Käyttöliittymänä kolme nappia ja kaksi neljän digitin 7-segmentti LCD:tä ICM7211 näytönohjainten perässä.
Prossuna AT89c2051, jossa RAM -muistia huimat 128 tavua. Tohtorin puulaaki on näemmä hieman kasvanut sitten vuoden 1998.
http://www.pohjalainenyrittaja.fi/epaper_new/20161108/16.pdf

Myöhemmin sitten jatkanut tuon sulautetun homman kanssa Esim. Oma osuus häivähdykseltä kohdassa 4:32. T50D oli eka liikkuvan työkoneen ohjaus, jonka tein kokonaan itse.
Tuota mallia rakennetaan Turussa. Tai ainakin tehtiin silloin 15vuotta sitten.
https://youtu.be/qTr6aXdxz74
Sen jälkeen olen ollut tuotekehityksessä 100%, eli suorat asiakaskontaktit on jäänyt hieman vähemmälle.

Joitain speciaalihommia on sittemmin tullut tehtyä viimeisin:
http://www.skaala.com/ilmanvaihtoikkunat.html
Tuonne FW, jonka kautta voidaan käyttää IEC61131-3 kääntäjää sitten varsinaisen sovelluksen tekemiseen.

t:p
Kas tulikin T60:n video oikea olisi tämä:
https://youtu.be/sK1UVFKL3e0
Kohta edelleen sama.
+Lisää kommentti
Minä meinasin sanoa osaavani PHP kielen, mutta sitten katsoin mitä siinä oikein tulee luvanneeksi, ja päätinkin että sanon, vaan sanonkin että olisi mukava jos sitä joskus osaisi, python ja linux olis kanssa mukava osata. Sama pää, kesät talvet, ei siitä mitään tuu.

PHP PITÄÄ SISÄLLÄÄN TÄMÄN
Luokkia 537kpl
Vakioita 1735kpl
Funktioita 5074kpl
Menetelmiä 5507kpl
Ominaisuuksia 389kpl
Muuttujia 21kpl

PYTHON 3 SISÄLTÄÄ
Attribuuttit 875kpl
Exceptions 255kpl (Vierheiden käsittelijät)
Vakioita 119kpl
Luokkia 740kpl
Funktioita 2946kpl
Macroja 40kpl
Menetelmiä 3986kpl
Modulleita 322kpl
Tyyppejä 54kpl
Muuttujia 74kpl

BASH SHELL SISÄLTÄÄ VÄHINTÄÄN TÄMÄN
Builtins 59kpl (Sisäiset komennot, bg, alias, dirs, . . . .)
Funktioita 108kpl (kill-word, yank, set-mark, . . . )
Parametrejä 18kpl ($@, $?, $#, . . .)
Muuttujia 144kpl (BASH, ENV, HOME, . . . . )
Varattuja sanoja 21kpl (case, done, else . . . .)
6 VASTAUSTA:
Niin, eihän se osaaminen ulkoa muistamista tarkoita. Kunhan osaa etsiä sopivan luokan, metodin tai muuttujan dokumentaatiosta.
PHP voi olla asetuksista riippuen vähän liiankin "löysä" kieli. Esim. törmäsin tapaukseen missä unohdin lainausmerkit merkkijonsta $x = merkkijono, kun olisi pitänyt olla $x = "merkkijono", tuo meni ihan huutaen läpi ja koodi vielä toimi???? Minua ihan pelotti tuo tapaus miten PHP tunnisti merkkijonon itsekseen joka näytti koodissa ihan vakiolta PHP:n tapaan käsitellä asiat vakiona.

PHP on minusta v-tun helppo kieli. Mikä itseä ärsyttää PHP:ssa on löysä tyypitys muuttujissa, kannasta dataa haettaessa on aina vähän epävarma olo, onko data kokonaisluku, liukuluku, merkkijono vai jotain ihan muuta, null? Jotta voin olla varma asiasta, teen aina typecastin $m = (int)$row["id"]; että voin olla 100% varma että kyseessä on integeri, tulos on nolla 0 tai jokin muu luku, kun tiedän että sinä pitää tulla integer.

Minusta kielissä pitäisi aina olla voimakas tyypitys muuttujien suhteen, suoraan sanottuna kyrsii nämä löysästi tyypittävät kielet kuten PHP ja JavaScript. TypeScript yrittää muuten korjata tätä ongelmaa, joka on periaatteessa tyypitetty JavaScript kielenä.
DeetäJaSympatiaa kirjoitti:
PHP voi olla asetuksista riippuen vähän liiankin "löysä" kieli. Esim. törmäsin tapaukseen missä unohdin lainausmerkit merkkijonsta $x = merkkijono, kun olisi pitänyt olla $x = "merkkijono", tuo meni ihan huutaen läpi ja koodi vielä toimi???? Minua ihan pelotti tuo tapaus miten PHP tunnisti merkkijonon itsekseen joka näytti koodissa ihan vakiolta PHP:n tapaan käsitellä asiat vakiona.

PHP on minusta v-tun helppo kieli. Mikä itseä ärsyttää PHP:ssa on löysä tyypitys muuttujissa, kannasta dataa haettaessa on aina vähän epävarma olo, onko data kokonaisluku, liukuluku, merkkijono vai jotain ihan muuta, null? Jotta voin olla varma asiasta, teen aina typecastin $m = (int)$row["id"]; että voin olla 100% varma että kyseessä on integeri, tulos on nolla 0 tai jokin muu luku, kun tiedän että sinä pitää tulla integer.

Minusta kielissä pitäisi aina olla voimakas tyypitys muuttujien suhteen, suoraan sanottuna kyrsii nämä löysästi tyypittävät kielet kuten PHP ja JavaScript. TypeScript yrittää muuten korjata tätä ongelmaa, joka on periaatteessa tyypitetty JavaScript kielenä.
Javascriptissä on tuota ongelmaa korjattu myös työkaluissa, että kyllähän sitä React komponenteissa on ne prop typesit määriteltynä.

Kyllähän sitä sitten jQuery ajoista saakka kun teki komponentteja niin sitä sitten kirjoitti tarkistusta tähän tapaan:

'if (!Number.isInteger(input) || !Sanitize.range(input, min, max))
' throw new RangeError();
DeetäJaSympatiaa kirjoitti:
PHP voi olla asetuksista riippuen vähän liiankin "löysä" kieli. Esim. törmäsin tapaukseen missä unohdin lainausmerkit merkkijonsta $x = merkkijono, kun olisi pitänyt olla $x = "merkkijono", tuo meni ihan huutaen läpi ja koodi vielä toimi???? Minua ihan pelotti tuo tapaus miten PHP tunnisti merkkijonon itsekseen joka näytti koodissa ihan vakiolta PHP:n tapaan käsitellä asiat vakiona.

PHP on minusta v-tun helppo kieli. Mikä itseä ärsyttää PHP:ssa on löysä tyypitys muuttujissa, kannasta dataa haettaessa on aina vähän epävarma olo, onko data kokonaisluku, liukuluku, merkkijono vai jotain ihan muuta, null? Jotta voin olla varma asiasta, teen aina typecastin $m = (int)$row["id"]; että voin olla 100% varma että kyseessä on integeri, tulos on nolla 0 tai jokin muu luku, kun tiedän että sinä pitää tulla integer.

Minusta kielissä pitäisi aina olla voimakas tyypitys muuttujien suhteen, suoraan sanottuna kyrsii nämä löysästi tyypittävät kielet kuten PHP ja JavaScript. TypeScript yrittää muuten korjata tätä ongelmaa, joka on periaatteessa tyypitetty JavaScript kielenä.
'''''''Esim. törmäsin tapaukseen missä unohdin lainausmerkit merkkijonsta $x = merkkijono, kun olisi pitänyt olla $x = "merkkijono", tuo meni ihan huutaen läpi ja koodi vielä toimi????'''''''

Tuon $x muuttujan määrittely rivillä 3 pitäisi antaa virheilmoitus, ellet ole aiemin (rivi 2) alustanut muuttujaa vakioksi.

Eli jos jätämme rivin 2 pois, suoritus pysähtyy riville 3, virheen vuoksi. Eli miten se nyt on tuon väittämäsi kanssa.

1. <?php
2. const merkkijono = 12;
3. $x = merkkijono;
4. $y = "merkkijono";
5. echo $x;
6. echo $y
7. ?>

PHP Notice: Use of undefined constant merkkijono
PHP Huomautus: Määrittelemättömän vakion "merkkijono" käytöstä

Tietysti nämä huomautukset voidaan sulkea pois niin ettei niitä näytetä, jolloin se ei ole ympäristön vika ettei käyttäjä asiaa korjaa.
likomärkäkorva kirjoitti:
'''''''Esim. törmäsin tapaukseen missä unohdin lainausmerkit merkkijonsta $x = merkkijono, kun olisi pitänyt olla $x = "merkkijono", tuo meni ihan huutaen läpi ja koodi vielä toimi????'''''''

Tuon $x muuttujan määrittely rivillä 3 pitäisi antaa virheilmoitus, ellet ole aiemin (rivi 2) alustanut muuttujaa vakioksi.

Eli jos jätämme rivin 2 pois, suoritus pysähtyy riville 3, virheen vuoksi. Eli miten se nyt on tuon väittämäsi kanssa.

1. <?php
2. const merkkijono = 12;
3. $x = merkkijono;
4. $y = "merkkijono";
5. echo $x;
6. echo $y
7. ?>

PHP Notice: Use of undefined constant merkkijono
PHP Huomautus: Määrittelemättömän vakion "merkkijono" käytöstä

Tietysti nämä huomautukset voidaan sulkea pois niin ettei niitä näytetä, jolloin se ei ole ympäristön vika ettei käyttäjä asiaa korjaa.
PHP:ssä nyt laitetaan devausvaiheessa kaikki warningit päälle asetuksiin, olioita tyypitetään Interfaceilla ja funktioit kirjoitetaan muotoa sum(float $a, float $b) {return $a + $b; }
M-Kar kirjoitti:
PHP:ssä nyt laitetaan devausvaiheessa kaikki warningit päälle asetuksiin, olioita tyypitetään Interfaceilla ja funktioit kirjoitetaan muotoa sum(float $a, float $b) {return $a + $b; }
php.ini tiedostossa määritellään näytetäänkö virheet vai:
display_errors = Off
+Lisää kommentti

Vastaa alkuperäiseen viestiin

Galluppia?

Minkälaista sakkia täällä oikein on?

Milloin törmäsit eka kerran koodaukseen?
- 1985, näin kun serkku koodaili C-16 koneella (olin 11v)

Milloin koodasit itse eka kerran?
- 1989 kun sain oman Atari ST koneen (olin 15v)

Mikä oli ensimmäinen kieli millä koodasit?
- ST Basic / GFA-Basic

Milloin aloit opiskella koodausta koulussa?
- 1999 (Jyväskylän AMK), opiskelin ihan muuta alaa aiemmin.

Milloin koodasit ammatiksesi?
- 2006+

Kuten näkyy, koodaus oli pitkään itsellä pelkästään harrastus, en uskonut että siitä tulisi edes amatti. Töihin IT-alalle pääsin kun tein oman web-sivun 2006 ja minuun otettiin yhteyttä. Palkka oli pitkään aika paska, mutta nykyään ok. Myös (ex) Logica otti yhteyttä web-sivuni kautta, mutten sinne mennyt töihin, joten oman web-sivun pystyttäminen kannattaa :)

Minun neuvo nuoremmille on että ei liian isoa palkkavaatimusta alussa, työ opettaa enemmän kuin 1000 kertaa kouluihin nähden. Kun työvuosia ja kokemusta kertyy niin palkkakin kasvaa.

Työ vaatii omistautumista alalle. Itsellä kiinnotus ollut "aina" jo ennen ensimmäistäkään koodiriviä. Särin pentuna kaikki Nindendo pelikoneet siksi koska halusin "laajentaa" pelejä omaksi mielekseni, mutta perseelleenhän ne meni =D

Koodailen edelleen työni ohessa harrastuksena, koska työ ei anna tarpeeksi haasteita ja tekisi mieli korjata työnpaikan puutteita, lisähintaan :)

Haaveena olisi oma yritys, omat tuotteet ja oma visio. Mutta en ole myyntimies :/ Työn kautta oppii silti businesta, ihmisiä yritysten takanakin on. Noh.. aika näyttää?...

Pääkielet millä koodannut aikajärjestyksessä?
- ST-Basic (harrastus)
- GFA-Basic (harrastus)
- QBasic (harrastus)
- C/C++ (opiskelu, harrastus)
- Delphi (Pascal) (harrastus, ex-työ)
- Visual Basic v6 (ex-työ)
- Java (opiskelu)
- C# (ex-työ)
- PHP (töissä)
- JavaScript (töissä)
- Vala (harrastus)
- D (harrastus)

5000 merkkiä jäljellä

Peruuta