Tapahtumat

Kun kirjaudut sisään näet tässä ilmoitukset sinua kiinnostavista asioista.

Kirjaudu sisään

Osaisko joku selostaa yksinkertaisesti ja selkeästi, mitä koodaus käytännössä on?

Vierailija
07.12.2018 |

Onko esim. nettisivun koodaus sama asia kuin sovelluksen koodaaminen? Minkälasia taitoja (luonteenpiirteitä) tähän tarvitaan?

Kommentit (59)

Vierailija
21/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Todella mielenkiintoista. Jos oikeasti halutaan erityyppisiä henkilöitä mukaan koodausmaailman niin pitäisi osata esittää koko ala vähän eri tavoin.  Mielestäni sitääkän ei ole tuotu esiin, että peruskoodaajista ei ole pulaa, vaan monipuolisista koodareista, jotka osaavat paljon muutakin. 

Vierailija
22/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Todella mielenkiintoista. Jos oikeasti halutaan erityyppisiä henkilöitä mukaan koodausmaailman niin pitäisi osata esittää koko ala vähän eri tavoin.  Mielestäni sitääkän ei ole tuotu esiin, että peruskoodaajista ei ole pulaa, vaan monipuolisista koodareista, jotka osaavat paljon muutakin. 

Ei alalla oikeasti ole konsensusta varmaan muusta kuin siitä, että hyviä tekijöitä tarvitaan lisää.

Ohjelmointialoilla tuottavuuserot ovat valtavia. Yksi osaava henkilö pystyy aivan oikeasti tekemään yli kymmenen vähemän osaavan henkilön verran tulosta. Vähemmän osaavat voivat sitten joskus olla riippakivi muille siten, että kaikkia heidän tekemisiään on vahdittava huomattavan tarkkaan ja läheltä.

Ja sitten yritys itse pystyy toki toimintakulttuurillaan leikkaamaan tuottavuuden vähintään kymmenesosaan, jos tuotekehitystä tehdään huonolla tavalla.

Tässä kontekstissa voi miettiä, mistä joissain 12 viikon "koodarikouluissa" ja "koodaajapulassa" on oikeasti kyse.

Sisältö jatkuu mainoksen alla
Sisältö jatkuu mainoksen alla
Vierailija
23/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Ensiarvoisen tärkeää kaikessa on käyttäjäystävällisyys. Millään koodauksella ei ole mitään väliä, jollei käyttäjä osaa sitä valmista tuotetta käyttää.

Se on hyvä mutta tärkeämpää on että ohjelma toimii oikein ja tekee mitä sen on tarkoituskin

Vierailija
24/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Ensiarvoisen tärkeää kaikessa on käyttäjäystävällisyys. Millään koodauksella ei ole mitään väliä, jollei käyttäjä osaa sitä valmista tuotetta käyttää.

Se on hyvä mutta tärkeämpää on että ohjelma toimii oikein ja tekee mitä sen on tarkoituskin

Näinpä. Ja se käyttäjäpää on useimmissa softissa pieni osa, ja helposti tarvittaessa muutettavissa, vaikka kokonaan uusiksi. Esim. joku pankkisovellus: kyllä sitä verkko- tai mobiilipankin käyttöliittymää voidaan helpostikin veivata ihan miten vaan, sen tekeminen on varsin helppoa hommaa. Sen sijaan se missä suurin työ on ja minkä pitää toimia todella luotettavasti on siellä taustalla oleva liiketoimintalogiikka. Kyllä se enemmän v*tuttaa jos laskua maksaessa ei menekään tililtä oikea summa kun on pikku virhe koodissa, kuin se että käyttöliittymä ei ollut kovin intuitiivinen.

Vierailija
25/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Ensiarvoisen tärkeää kaikessa on käyttäjäystävällisyys. Millään koodauksella ei ole mitään väliä, jollei käyttäjä osaa sitä valmista tuotetta käyttää.

Se on hyvä mutta tärkeämpää on että ohjelma toimii oikein ja tekee mitä sen on tarkoituskin

Riippuu vähän miten tuo määritellään, mutta periaattessa toki noin.

Vierailija
26/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Kannattaa aloittaa prosessorin toiminnan ymmärtämisessä. Konekieli on ainoa, mitä prosessorit ymmärtävät!

Useimmin käytettävä konekäsky on move, joka siirtää dataa rekisteristä toiseen, tai muistiin, tai lukee muistista tietoa rekisteriin. Esim. PowerPC, ARM, ja Intel x64 prosessorit ovat ns. roskarautaa, joiden käskykannat huonosti suunniteltuja, ja vaikea ohjelmoida käsin. PowerPC- suorittimissa tarvitaan esimerkiksi 5 konekäskyä lataamaan joku 64-bittinen luku rekisteriin muistista. Koska konekäskyt ovat 32-bittisiä vakiona, ei mahdu mitään 64-bittistä lukua yhteen, kahteen tai edes kolmeen käskyyn, kun puolet jokaisesta käskystä varattuna käskyjen enkoodaukseen. Eikä löydy monimutkaisempia osoitusmuotoja muistiin. Roskaa on roskaa, vaikka voissa paistaisi, ja sen vuoksi PowerPC-koodi paisuu kuin pullataikina verrattuna esim. MC680x0-sarjan prosessoreihin. Tyypillisesti binäärit ovat noin kolme kertaa isompia.

ARM on pelkästään energiatehokas, ja käskykanta vaatimaton. Ei myöskään kovin tehokas prosessori. Ei kuitenkaan yhtä sekava kuin PowerPC, mutta samat ongelmat, 32-bittiset konekäskyt vakiona, mutta thumbia löytyy myös.

Intelin x86-prosessorit olivat CISC-tyyppistä roskarautaa, toisin kuin PowerPC/ARM. Niiden heikkoutena voi pitää rekisterien vähyyttä, pelkästään 8 kpl, kun on osoitettu että tarvitaan 16 yleiskäyttöistä rekisteriä tehokkaaseen toimintaan. Samoin välimuistit (CPU cache) eivät olleet hyviä. Legacy näkyy myös Intelin prosessoreissa, 386/486/586 piti olla taaksepäin yhteensopivia 8086/8088 kanssa, jotka käyttivät 1 tavun enkoodausta konekäskyihin kun muut 2. Tämä aiheuttaa turhaa monimutkaisuutta esim. superskalaarisissa toteutuksissa, ja ei paranna kuitenkaan merkittävästi kooditiheyttä. x64 oli sitten 64-bittinen laajennus Intelin 32-bittisiin prosessoreihin, ja siinäkin on merkittäviä heikkouksia, mm. käskyjen enkoodauksen suhteen, mutta lisää sentään 16 yleiskäyttöistä 64-bit rekisteriä.

Kun prosessorien perinteiset käskyt käyty läpi, kannattaa perehtyä MMX/Altivec/SSE-käskykantaan ja miten FPU-käskyt toimivat. Niissä ei voi munata yhtä paljon, mutta esim. Intelin MMX oli kyllä heikko esitys, SSE parempia.

Sisältö jatkuu mainoksen alla
Vierailija
27/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Entä, jos nyt puhutaan, että pulaa on koodaajista, niin tarkoittaako tämä yleisesti koodaajia vai tietyn ohjelmakielen hallitsijoita? 

Sekä että. Ihannetilanteessa työnantaja löytää koodarin,  joka osaa jo tarvittavaa ohjelmointikieltä. Usein myös riittää, että löytyy koodari, joka osaa useampaakin ohjelmointikieltä ja joka sen vuoksi oppii kohtuullisen helposti ja nopeasti työnantajan edellyttämän ohjelmointikielen. 

Yksinkertaistettuna voi ajatella, että kaikissa ihmisten puhumissa kielissä on sana "kissa". Englantilainen tietää, että kissa on olemassa ja hänen pitää vain opetella, mitä kissa on ruotsiksi. Ohjelmointikielissä on samoja asioita, mutta ne kirjoitetaan eri tavalla. Pitää siis oppia vain uudesta kielestä, mikä on juuri tässä kielessä tietty sana. 

Kissa on ihan liian korkean tason konsepti. Minä koodaan solutasolla!

t, assemblerkoodaaja

Vierailija
28/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Kannattaa aloittaa prosessorin toiminnan ymmärtämisessä. Konekieli on ainoa, mitä prosessorit ymmärtävät!

Useimmin käytettävä konekäsky on move, joka siirtää dataa rekisteristä toiseen, tai muistiin, tai lukee muistista tietoa rekisteriin. Esim. PowerPC, ARM, ja Intel x64 prosessorit ovat ns. roskarautaa, joiden käskykannat huonosti suunniteltuja, ja vaikea ohjelmoida käsin. PowerPC- suorittimissa tarvitaan esimerkiksi 5 konekäskyä lataamaan joku 64-bittinen luku rekisteriin muistista. Koska konekäskyt ovat 32-bittisiä vakiona, ei mahdu mitään 64-bittistä lukua yhteen, kahteen tai edes kolmeen käskyyn, kun puolet jokaisesta käskystä varattuna käskyjen enkoodaukseen. Eikä löydy monimutkaisempia osoitusmuotoja muistiin. Roskaa on roskaa, vaikka voissa paistaisi, ja sen vuoksi PowerPC-koodi paisuu kuin pullataikina verrattuna esim. MC680x0-sarjan prosessoreihin. Tyypillisesti binäärit ovat noin kolme kertaa isompia.

ARM on pelkästään energiatehokas, ja käskykanta vaatimaton. Ei myöskään kovin tehokas prosessori. Ei kuitenkaan yhtä sekava kuin PowerPC, mutta samat ongelmat, 32-bittiset konekäskyt vakiona, mutta thumbia löytyy myös.

Intelin x86-prosessorit olivat CISC-tyyppistä roskarautaa, toisin kuin PowerPC/ARM. Niiden heikkoutena voi pitää rekisterien vähyyttä, pelkästään 8 kpl, kun on osoitettu että tarvitaan 16 yleiskäyttöistä rekisteriä tehokkaaseen toimintaan. Samoin välimuistit (CPU cache) eivät olleet hyviä. Legacy näkyy myös Intelin prosessoreissa, 386/486/586 piti olla taaksepäin yhteensopivia 8086/8088 kanssa, jotka käyttivät 1 tavun enkoodausta konekäskyihin kun muut 2. Tämä aiheuttaa turhaa monimutkaisuutta esim. superskalaarisissa toteutuksissa, ja ei paranna kuitenkaan merkittävästi kooditiheyttä. x64 oli sitten 64-bittinen laajennus Intelin 32-bittisiin prosessoreihin, ja siinäkin on merkittäviä heikkouksia, mm. käskyjen enkoodauksen suhteen, mutta lisää sentään 16 yleiskäyttöistä 64-bit rekisteriä.

Kun prosessorien perinteiset käskyt käyty läpi, kannattaa perehtyä MMX/Altivec/SSE-käskykantaan ja miten FPU-käskyt toimivat. Niissä ei voi munata yhtä paljon, mutta esim. Intelin MMX oli kyllä heikko esitys, SSE parempia.

Kaikki ylläoleva kannattaa ohittaa suoraan, tuolla tiedolla et tee mitään. Tai jos teet, niin tiedät sen jo.

Sisältö jatkuu mainoksen alla
Vierailija
29/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Vierailija kirjoitti:

Entä, jos nyt puhutaan, että pulaa on koodaajista, niin tarkoittaako tämä yleisesti koodaajia vai tietyn ohjelmakielen hallitsijoita? 

Sekä että. Ihannetilanteessa työnantaja löytää koodarin,  joka osaa jo tarvittavaa ohjelmointikieltä. Usein myös riittää, että löytyy koodari, joka osaa useampaakin ohjelmointikieltä ja joka sen vuoksi oppii kohtuullisen helposti ja nopeasti työnantajan edellyttämän ohjelmointikielen. 

Yksinkertaistettuna voi ajatella, että kaikissa ihmisten puhumissa kielissä on sana "kissa". Englantilainen tietää, että kissa on olemassa ja hänen pitää vain opetella, mitä kissa on ruotsiksi. Ohjelmointikielissä on samoja asioita, mutta ne kirjoitetaan eri tavalla. Pitää siis oppia vain uudesta kielestä, mikä on juuri tässä kielessä tietty sana. 

Kissa on ihan liian korkean tason konsepti. Minä koodaan solutasolla!

t, assemblerkoodaaja

Eikö se kissa kuuluisi rakentaa ihan atomeista lähtien itse ilman mitään assemblereita ja muita hömpötyksiä?

Vierailija
30/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Kannattaa aloittaa prosessorin toiminnan ymmärtämisessä. Konekieli on ainoa, mitä prosessorit ymmärtävät!

Useimmin käytettävä konekäsky on move, joka siirtää dataa rekisteristä toiseen, tai muistiin, tai lukee muistista tietoa rekisteriin. Esim. PowerPC, ARM, ja Intel x64 prosessorit ovat ns. roskarautaa, joiden käskykannat huonosti suunniteltuja, ja vaikea ohjelmoida käsin. PowerPC- suorittimissa tarvitaan esimerkiksi 5 konekäskyä lataamaan joku 64-bittinen luku rekisteriin muistista. Koska konekäskyt ovat 32-bittisiä vakiona, ei mahdu mitään 64-bittistä lukua yhteen, kahteen tai edes kolmeen käskyyn, kun puolet jokaisesta käskystä varattuna käskyjen enkoodaukseen. Eikä löydy monimutkaisempia osoitusmuotoja muistiin. Roskaa on roskaa, vaikka voissa paistaisi, ja sen vuoksi PowerPC-koodi paisuu kuin pullataikina verrattuna esim. MC680x0-sarjan prosessoreihin. Tyypillisesti binäärit ovat noin kolme kertaa isompia.

ARM on pelkästään energiatehokas, ja käskykanta vaatimaton. Ei myöskään kovin tehokas prosessori. Ei kuitenkaan yhtä sekava kuin PowerPC, mutta samat ongelmat, 32-bittiset konekäskyt vakiona, mutta thumbia löytyy myös.

Intelin x86-prosessorit olivat CISC-tyyppistä roskarautaa, toisin kuin PowerPC/ARM. Niiden heikkoutena voi pitää rekisterien vähyyttä, pelkästään 8 kpl, kun on osoitettu että tarvitaan 16 yleiskäyttöistä rekisteriä tehokkaaseen toimintaan. Samoin välimuistit (CPU cache) eivät olleet hyviä. Legacy näkyy myös Intelin prosessoreissa, 386/486/586 piti olla taaksepäin yhteensopivia 8086/8088 kanssa, jotka käyttivät 1 tavun enkoodausta konekäskyihin kun muut 2. Tämä aiheuttaa turhaa monimutkaisuutta esim. superskalaarisissa toteutuksissa, ja ei paranna kuitenkaan merkittävästi kooditiheyttä. x64 oli sitten 64-bittinen laajennus Intelin 32-bittisiin prosessoreihin, ja siinäkin on merkittäviä heikkouksia, mm. käskyjen enkoodauksen suhteen, mutta lisää sentään 16 yleiskäyttöistä 64-bit rekisteriä.

Kun prosessorien perinteiset käskyt käyty läpi, kannattaa perehtyä MMX/Altivec/SSE-käskykantaan ja miten FPU-käskyt toimivat. Niissä ei voi munata yhtä paljon, mutta esim. Intelin MMX oli kyllä heikko esitys, SSE parempia.

Tämä viesti oli oikeastaan erinomainen esimerkki siitä, miksi työnantajat arvostavat ihmisiä, joilla on ns. jalat maassa, kyky opettaa ihmisiä oikealla tavalla ja ratkaisukeskeinen lähestymistapa ongelmiin.

Sisältö jatkuu mainoksen alla
Vierailija
31/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Minäkin kysyn tyhmän kysymyksen. Ymmärrän sen, että koodi on se resepti, mutta minne se koodi syötetään/kirjoitetaan?  Onko olemassa jokin sovellus vai ihan oikeasti mihin..? 

Vierailija
32/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Vierailija kirjoitti:

Koodaaminen on periaatteessa toimintaohjeiden laatimista. Ohjelmointi on sovittujen sanojen ja ilmaisujen käyttämistä koneen toiminnan selostamiseksi. Sitä voisi verrata vaikkapa ruoanlaittoon tai leipomiseen. Joku joka suunnittelee ruoan, laatii reseptiksi kutsutun ohjeen, ohjelman. Se ohjeen laatiminen on ohjelmointia. Resepti on siis seloste siitä, kuinka tulee toimia tiettyyn lopputulokseen pääsemiseksi. Koodaaminen tarkoittaa myös sitä sanana, että käytetään sovittua koodikieltä. Koska kone ei ymmärrä mitä sattuu normaalia luonnollista kieltä, ihan kuten reseptin lukijakaan ei ymmärrä tuntemattoman ihmisen omaa erikoisterminologiaa, vaan käytetään vakiintuneita nimityksiä ja mittoja (vehnäjauho, muna, desilitra, gramma). 

Verkkosivujen koodaus yksinkertaisimmillaan klassisessa mielessä on sitä, että käytetään html-nimistä kuvauskieltä, jolla koneelle kerrotaan, mitä sisältöä ja miten missäkin osassa dokumenttia on, ja kuinka halutaan se esittää. Kyseessä on siis staattinen kuvauskieli, ja se poikkeaa jonkin verran varsinaisesta ohjelmoinnista, jota kylläkin nykyisin verkkosivuihinkin voi liittyä runsaasti. 

Kiitos, tämäkin oli vain aika teoriavoittoista. Jos lähden koodaamaan niin mistä nämä "koodit" muodostuu? Mikä tekee hyväksi koodaajaksi? Se, että muistaa ulkoa näitä koodisarjoja vai mitä? todella typeriä kysymyksiä mutta ei ole mitään tietoa alasta. 

Ei, mitään ei tarvi nykyään oikeastaan muistaa ulkoa. Käytössä on ensinnäkin kehitystyökalut, jotka itse ehdottavat erilaisia komentoja joita kielestä löytyy kun esim. aloittaa kirjoittamaan käskyä. Lisäksi googlettamalla löytää aina kaiken, hetkessä.

Itse esimerkiksi olen vuoden aikana koodannut 10 eri kielellä / frameworkilla. En todellakaan muista niiden varattuja sanoja ja käskyjä ulkoa. Mutta jos tiedän vaikka että nyt mun pitää tehdä silmukka, enkä satu muistamaan miten se nyt TypeScriptillä meni, googletan "type script for loop" ja apu löytyy heti. Olen usein mennyt mukaan projekteihin jossa käytetystä ohjelmointikielestä ei ole mitään tietoa, mutta ei se haittaa mitään, kun tietää ohjelmoinnin perusrakenteet (peräkkäisyys, valinta ja toisto) ja miten niitä käytetään. Ne kunkin kielen käskyt näiden toteuttamiselle löytää kyllä googlella.

Tuo pitää paikkaansa. Harmi kun tuota ei ainakaan aikaisemmin ymmärretty ohjelmoinnin opetuksesta vaan hypättiin heti koodaamaan jollain c/c++/javalla ja opettamaan itse kieltä. Tärkeämpää olisi ollut opettaa juurikin nuo asiat ja "kuinka pilkotaan ongelmaa yhä pienemmiksi ja pienemmiksi". Aikoinaan muistaakseni ensimmäinen "järkevä" ohjelmoinnin kurssi oli "viimeiseksi jätetty" UML:n kurssi.

Sisältö jatkuu mainoksen alla
Vierailija
33/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Käskyjä koneelle. Ohjelmaa ajettaessa (siis käytettäessä) kone toteuttaa annetut käskyt.

Mutta mitä koodaus käytänännössä on. Haluan esim. koodata sovelluksen niin keksin päästäni sovellukselle hyödyllisä "koodeja", joita alan syöttämään ohjelmaan vai mitä? 

No tässä satunnainen pätkä Java-koodia:

import java.awt.*;

import java.awt.event.*;

import java.awt.image.*;

import javax.swing.*;

import javax.swing.event.*;

public class Ohjelma extends JFrame implements MouseInputListener

{

    private BufferedImage kuva;

    private Point framepoint = new Point(150, 150);

    private Point aloitus;

    private PointerInfo info;

    

    JButton GO = new JButton("Execute");

    JButton Clear = new JButton("Clear");

    JButton Quit = new JButton("Quit");

    BackgroundPanel paneeli = new BackgroundPanel();

    public static void main (String args[])

    {

       Ohjelma ikkuna = new Ohjelma();

    }

    

    public Ohjelma()

    {

        this.setUndecorated(true);

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        this.setTitle("Mun softa");

        this.setResizable(false);

        this.setSize(480, 360);

        this.setLocation(framepoint);

        this.addMouseListener(this);

        this.addMouseMotionListener(this);

        paneeli.setOpaque(true);

        paneeli.setLayout(null);

[... jne]

Tässä kyseissä ohjelmassa on 400 riviä pitkälti tuon näköistä koodia. Ohjelma on sellainen pieni apuohjelma, eräänlainen fysiikan laskuri (mikä ei nyt käy ilmi mitenkään, koska en pastea tänne kaikkia rivejä.

Vierailija
34/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Ja onko koodikielessä samantyyppisiä sääntöjä, kuin vaikka kielissä on kielioppisääntöjä, jotka helpottavat niiden omaksumista? Minua kiinnostaa myös se, että miten koodin syöttäminen saa aikaan käskyjen toteuttamisen eli ehkä jo mennään sille tasolle, että miten koko tietokone toimii..

Sisältö jatkuu mainoksen alla
Vierailija
35/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Kannattaa aloittaa prosessorin toiminnan ymmärtämisessä. Konekieli on ainoa, mitä prosessorit ymmärtävät!

Useimmin käytettävä konekäsky on move, joka siirtää dataa rekisteristä toiseen, tai muistiin, tai lukee muistista tietoa rekisteriin. Esim. PowerPC, ARM, ja Intel x64 prosessorit ovat ns. roskarautaa, joiden käskykannat huonosti suunniteltuja, ja vaikea ohjelmoida käsin. PowerPC- suorittimissa tarvitaan esimerkiksi 5 konekäskyä lataamaan joku 64-bittinen luku rekisteriin muistista. Koska konekäskyt ovat 32-bittisiä vakiona, ei mahdu mitään 64-bittistä lukua yhteen, kahteen tai edes kolmeen käskyyn, kun puolet jokaisesta käskystä varattuna käskyjen enkoodaukseen. Eikä löydy monimutkaisempia osoitusmuotoja muistiin. Roskaa on roskaa, vaikka voissa paistaisi, ja sen vuoksi PowerPC-koodi paisuu kuin pullataikina verrattuna esim. MC680x0-sarjan prosessoreihin. Tyypillisesti binäärit ovat noin kolme kertaa isompia.

ARM on pelkästään energiatehokas, ja käskykanta vaatimaton. Ei myöskään kovin tehokas prosessori. Ei kuitenkaan yhtä sekava kuin PowerPC, mutta samat ongelmat, 32-bittiset konekäskyt vakiona, mutta thumbia löytyy myös.

Intelin x86-prosessorit olivat CISC-tyyppistä roskarautaa, toisin kuin PowerPC/ARM. Niiden heikkoutena voi pitää rekisterien vähyyttä, pelkästään 8 kpl, kun on osoitettu että tarvitaan 16 yleiskäyttöistä rekisteriä tehokkaaseen toimintaan. Samoin välimuistit (CPU cache) eivät olleet hyviä. Legacy näkyy myös Intelin prosessoreissa, 386/486/586 piti olla taaksepäin yhteensopivia 8086/8088 kanssa, jotka käyttivät 1 tavun enkoodausta konekäskyihin kun muut 2. Tämä aiheuttaa turhaa monimutkaisuutta esim. superskalaarisissa toteutuksissa, ja ei paranna kuitenkaan merkittävästi kooditiheyttä. x64 oli sitten 64-bittinen laajennus Intelin 32-bittisiin prosessoreihin, ja siinäkin on merkittäviä heikkouksia, mm. käskyjen enkoodauksen suhteen, mutta lisää sentään 16 yleiskäyttöistä 64-bit rekisteriä.

Kun prosessorien perinteiset käskyt käyty läpi, kannattaa perehtyä MMX/Altivec/SSE-käskykantaan ja miten FPU-käskyt toimivat. Niissä ei voi munata yhtä paljon, mutta esim. Intelin MMX oli kyllä heikko esitys, SSE parempia.

Sinänsä varmaan hyvä vastaus, mutta nyt sinulle insinöörismies tai -nainen, joka siellä olet ruutusi takana, tähän kaivataan "explain like I'm 5 years old"-tyyppistä lähestymistapaa. Ainakin aloitusviestistä päätellen. :)

Vierailija
36/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Minäkin kysyn tyhmän kysymyksen. Ymmärrän sen, että koodi on se resepti, mutta minne se koodi syötetään/kirjoitetaan?  Onko olemassa jokin sovellus vai ihan oikeasti mihin..? 

Se koodi on käytännössä tekstitiedosto. Sitten tämä tekstitiedosto luetaan kääntäjällä joka muodostaa "varsinaisen ohjelman" eli muuttaa tekstitiedoston binääritiedostoksi jossa on  vain 1 ja 0. Tätä se tietokoneen prosessori sitten syö sisuksiinsa kun ohjelmaa ajetaan.

Vierailija
37/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Minäkin kysyn tyhmän kysymyksen. Ymmärrän sen, että koodi on se resepti, mutta minne se koodi syötetään/kirjoitetaan?  Onko olemassa jokin sovellus vai ihan oikeasti mihin..? 

Ihan mihin haluat. Vaikka Windowsin muistioon voit kirjoittaa sen koodin. Se käännetään käännösohjelmalla sitten kun koodi on toimivaa sovellukseksi.

Käytännössä usein käytetään tekstinkäsittelyohjelmantapaisia ohjelmistoja, joissa kirjoittaminen tapahtuu. Näistä löytyy kaikkea näppärää toiminnallisuutta koodaamisen helpottamiseen, kuten ennustavaa tekstinsyöttöä (kyseisen kielen sanoja), softan jatkuvaa automaattista jakamista työkavereille, testausta virheiden varalta sun muuta.

Vierailija
38/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Minäkin kysyn tyhmän kysymyksen. Ymmärrän sen, että koodi on se resepti, mutta minne se koodi syötetään/kirjoitetaan?  Onko olemassa jokin sovellus vai ihan oikeasti mihin..? 

Se koodi on käytännössä tekstitiedosto. Sitten tämä tekstitiedosto luetaan kääntäjällä joka muodostaa "varsinaisen ohjelman" eli muuttaa tekstitiedoston binääritiedostoksi jossa on  vain 1 ja 0. Tätä se tietokoneen prosessori sitten syö sisuksiinsa kun ohjelmaa ajetaan.

Onko tän kääntäjäohjelman takanakin jotkut koodarit, jotka vaan sitten käyttää eri koodikieltä (eli pelkkiä ykkösiä ja nollia) ja onko niitäkin kieliä enemmän kuin yksi?

Vierailija
39/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Vierailija kirjoitti:

Vierailija kirjoitti:

Minäkin kysyn tyhmän kysymyksen. Ymmärrän sen, että koodi on se resepti, mutta minne se koodi syötetään/kirjoitetaan?  Onko olemassa jokin sovellus vai ihan oikeasti mihin..? 

Se koodi on käytännössä tekstitiedosto. Sitten tämä tekstitiedosto luetaan kääntäjällä joka muodostaa "varsinaisen ohjelman" eli muuttaa tekstitiedoston binääritiedostoksi jossa on  vain 1 ja 0. Tätä se tietokoneen prosessori sitten syö sisuksiinsa kun ohjelmaa ajetaan.

Onko tän kääntäjäohjelman takanakin jotkut koodarit, jotka vaan sitten käyttää eri koodikieltä (eli pelkkiä ykkösiä ja nollia) ja onko niitäkin kieliä enemmän kuin yksi?

Käännösohjelman voi varmaan tehdä melkeinpä millä kielellä tahansa, mutta tietenkin alunperin on pitänyt ihan ykkösiä ja nollia jonkun tehdä, jotta on tehty alkuperäinen käännösohjelma, jonka avulla sitten rakennettu aina vain suurempi korttitalo ja päädytty kauemmaksi niistä ykkösistä ja nollista.

Vierailija
40/59 |
07.12.2018 |
Näytä aiemmat lainaukset

Vierailija kirjoitti:

Minäkin kysyn tyhmän kysymyksen. Ymmärrän sen, että koodi on se resepti, mutta minne se koodi syötetään/kirjoitetaan?  Onko olemassa jokin sovellus vai ihan oikeasti mihin..? 

Codepen.io kato tuolta esimerkkejä. Nämä on siis sitä nettisivukoodaus-snipettejä.

Kirjoita seuraavat numerot peräkkäin: viisi viisi neljä