Keskustelu:Assembly (ohjelmointikieli)

Wikipediasta
Siirry navigaatioon Siirry hakuun

Tämä on varmaan ikuisuuskysymys, mutta pitäisikö huomatus 'erittäin suuresta nopeudesta' poistaa, koska hyvä binäärikääntäjä tuottaa lopputuloksena ohjelmakoodia, joka on helposti nopeampaa ja paremmin optimoitua kuin hyvänkään assykoodaajaan näpertämä kötöstys. Nyt aloitteleva ohjelmoija voi innostua assemblerista, koska se on 'niin sairaan nopea'.

Lisäksi assemblerillä optimointi keskittyy hyvin kapea-alaiseen optimointiin. Nopeuden kannalta suurin merkitys on käytetyillä algoritmeilla ja tietorakenteilla, ja assyohjelmoinnissa ne jäävät helposti huomiotta. Kuten D.E. Knuth sanoi, "premature optimization is evil". --Edvard M 10:17 heinä 30, 2004 (UTC)

Taisi olla Tony Hoaren juttu, ja sitaatti oli "premature optimization is the root of all evil" --Toni 20:06 elo 1, 2004 (UTC)
No niinpäs oli, Knuth vain lausui sen uudelleen. Tarkempi haku viittaa tosin siihen suuntaan, että itse asiassa Edsger Dijkstra olisi alkuperäinen käyttäjä. --Edvard M 09:24 elo 18, 2004 (UTC)

Eiköhän koodiesimerkkini peloita joitakin aloittelijoita pois Assemblystä?

Ei välttämättä, se saa teinit tuntemaan itsensä 3l33t h2x0reiksi, koska sitä on ulkopuolisen mahdotonta ymmärtää (vastaesimerkkinä Python ei ole varmaan haalea, koska siitä saattaa ymmärtää ei-ohjelmoijakin jotain :) --Edvard M 09:20 elo 18, 2004 (UTC)

-Ehkäpä tuota optimointi&nopeusasiaa voisi hieman tarkentaa? --Heikki

Ehkä koodiesimerkin kohdalla kannattaisi myös mainita mitä ohjelma tekee (tulostaa tekstin Hei maailma konsolille?) -- Ism 18:36 heinä 30, 2004 (UTC)

-Mainitsin sen, mitä ohjelma tekee. Lisäksi tähdensin että Assemblyä käytetään nimenomaan optimointiin (josta joku voisi kirjoittaa jotakin). --Heikki

Minusta tuo ohjelmointiesimerkki on todella huono koska se ei sinänsä käytä assemblyä jonkin asian tekemiseen vaan DOSsin valmiita osia. Ohjelmointiesimerkin pitäisi olla itsenäinen aliohjelma joka laskee jotain oleellista. Miten olisi vaikka iteratiivinen versio fibonaccin lukujen laskemisesta? -Shd

Samaa mieltä tuosta, että yksinkertainen käyttöjärjestelmäkutsu ei anna kovin hyvää kuvaa assembly-ohjelmoinnista. Tietysti voidaan myös miettiä sitä, että sopisiko jokin muu kuin x86-assembly esimerkkiin paremmin jne. (Itse olen esim. silloin tällöin yrittänyt lisäillä artikkeleihin painotuksia, joista kävisi ilmi, ettei tietokonemaailma ole pelkkää PC:tä ja x86:ta) Viznut 19. heinäkuuta 2005 kello 13:58:30 (UTC)
Lisäsin 68k assembly-kielellä esimerkin Fibonaccin lukujen laskemisesta. Haluaisin että joku korjaisi tuon x86-esimerkin ulkoasun. Se on varsin lukukelvoton ja ruma koska se jakautuu moneen palaan. Minusta se pitäisi tehdä kuten 68k-esimerkkini, eli kirjoitetaan kaikki koodirivit numeroituna ensin yhteen putkeen, ja sen jälkeen selitetään tekstissä rivi riviltä mitä ohjelma tekee. -Shd

x86-ohjelmasta[muokkaa wikitekstiä]

Kiitos Viznut että paransit x86-ohjelman ulkoasua, mutta nyt kun kyseessä on aliohjelma rutiini eikä kokonainen ohjelma niin arvelisin että tuosta pitäisi ottaa pois ".org" rivi, eikö niin? Ja siinä tapauksessa korostaisin että kyseessä on pelkkä aliohjelma eikä kokonainen ohjelma. Ja lisäksi jos kyseessä on aliohjelma niin sillä pitäisi olla nimi. Myös segmentin (.text) esittely lienee turha. --Shd 19. heinäkuuta 2005 kello 15:03:30 (UTC)

Ei, kyllä se on edelleenkin kokonainen ohjelma. Com-ohjelmasta on dossissa käsittääkseni täysin luvallista poistua ret-käskyllä. Viznut 19. heinäkuuta 2005 kello 15:49:30 (UTC)

Entäs "disassembly"?[muokkaa wikitekstiä]

Niin, ja mitä se on suomeksi? DlNh 16. heinäkuuta 2007 kello 11.48 (UTC)