Laitan Kitinän ohjelmointigurujen mieliksi kysymyksen. Pahoittelen jos en osaa oikeita ammattitermejä.
Nettisivuja tehdessäni tuli mieleen, että minulla ei ole hevon helvetin käsitystä miten selain oikeasti toimii, minä vain yritän saada sitä tottelemaan. Siitä jatko-ajatuksena olen pitkään miettinyt, että kun kerran oikeassa ohjelmoinnissa C, C++, Java ym. ihmiskielen sanoja käyttävät kielet ovat korkeamman tason ohjelmointikieliä, niin onko tai tarvitseeko niitä koodaavalla olla käsitystä takana toimivasta konekielestä tai käyttämänsä kielen rajapinnasta siihen ihan sinne binääritasolle asti?
Entäs onko ohjelmoijilla käsitystä ohjelmointikielen tai konekielen rajapinnasta elektroniikan fyysiseen konkretiaan?
Kerran treffasin Yliopistossa koulutettua, duunissa olevaa C++ -ohjelmoijamisua, jolta tulin kysyneeksi ymmärtääkö hän elektroniikkaa ja tietääkö hän mikä on "kiikku". Olin lukenut sanan jostain ja luullakseni se tarkoittaa suorittimen loogista veräjää, jossa binäärivaihtoehdot fyysisesti tapahtuvat. Misu sanoi ettei tiedä eikä tunne elektroniikkaa paljon yhtään.
Jos niiden rajapintojen (ohjelmointikieli/konekieli/nollat ja ykköset/fyysinen elektroniikka kun suoritin duunailee tehtyä sovelusta) tuntemus on harvinaista, ne tuntevat nörtit taitavat sitten olla sitä kaikkein korvaamattominta eliittiä? Vai ovatko ne tekniikat jo niin vakiintuneita, että kenenkään ei oikeastaan tarvitse tietää?
Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
-
- Kitisijä
- Viestit: 4424
- Liittynyt: 16.08.2005 16:12
Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Yli nelikybänen landeäijä mutaisissa saappaissa ja flanellipaidassa kuolaa ja tumputtaa teinitytöille salaa mustassa jeepissään.
-Quarter
-Quarter
-
- Kitisijä
- Viestit: 4593
- Liittynyt: 16.08.2005 15:25
- Paikkakunta: Kouvostoliitto
Re: Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Kyllä ne läpikäytiin tietojenkäsittelytieteen perusteissa heti kärkeen. Eri asia sitten että kuinka syvällisesti ne pystyi 5ov:ssa sisäistämään kun muutakin asiaa oli.Gattaca kirjoitti: Jos niiden rajapintojen (ohjelmointikieli/konekieli/nollat ja ykköset/fyysinen elektroniikka kun suoritin duunailee tehtyä sovelusta) tuntemus on harvinaista, ne tuntevat nörtit taitavat sitten olla sitä kaikkein korvaamattominta eliittiä? Vai ovatko ne tekniikat jo niin vakiintuneita, että kenenkään ei oikeastaan tarvitse tietää?
Kävin katsomassa Mylwinin kuvaa, ja näyttää kyllä just siltä ettei sillä ole yhtään ystävää.
- Ann 2005
- Ann 2005
-
- Kitisijä
- Viestit: 4424
- Liittynyt: 16.08.2005 16:12
Re: Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Ai kapiaisilla on tuollaistakin?Mylwin kirjoitti:Kyllä ne läpikäytiin tietojenkäsittelytieteen perusteissa heti kärkeen. Eri asia sitten että kuinka syvällisesti ne pystyi 5ov:ssa sisäistämään kun muutakin asiaa oli.Gattaca kirjoitti: Jos niiden rajapintojen (ohjelmointikieli/konekieli/nollat ja ykköset/fyysinen elektroniikka kun suoritin duunailee tehtyä sovelusta) tuntemus on harvinaista, ne tuntevat nörtit taitavat sitten olla sitä kaikkein korvaamattominta eliittiä? Vai ovatko ne tekniikat jo niin vakiintuneita, että kenenkään ei oikeastaan tarvitse tietää?
En tarkoittanut niinkään tietoa vaikka prosessoritekniikasta vaan RAJAPINNASTA ohjelmointikielen ja konekielen ja konekielen ja fyysisen elektroniikan välillä. Ja onko siihen vielä erikoisnörttejä jossain koodaajien ja prosessorin suunnittelijoiden välillä.
Niinkuin että kuka on duunaillut yhteyden korkean tason kielen ja konekielen välille vai onko se ihan standardi ja vastaavasti kuka on duunannut yhteyden konekielen ja fyysisen elektroniikan välille ja tunteeko kukaan yksilö koko ketjua läpi nippelintarkasti?
Tarvitseeko tavallisen koodarin niitä työssään ajatellakaan, vaikka perusta olisi hänelle teoriassa selvä?
Yli nelikybänen landeäijä mutaisissa saappaissa ja flanellipaidassa kuolaa ja tumputtaa teinitytöille salaa mustassa jeepissään.
-Quarter
-Quarter
-
- Kitisijä
- Viestit: 4593
- Liittynyt: 16.08.2005 15:25
- Paikkakunta: Kouvostoliitto
Re: Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Joensuun yliopistossa, mie olin joskus pitkätukkainen tietokonenörtti.Gattaca kirjoitti: Ai kapiaisilla on tuollaistakin?
Kyllä luulisin, että yliopiston puolella käydään ainakin yleisellä tkt:n osastolla nuokin lävitse. Maailma on nykyään täynnä vain itseoppineita haxxoreita, tradenomeja ja amiksen atk-puolen käyneitä, jotka keskittyvät enemmän käsittääkseni softapuolen hommiin.
Ja ei, ei kai peruskoodaaja niitä nykyaikana tarvitse - luulisin.
Kävin katsomassa Mylwinin kuvaa, ja näyttää kyllä just siltä ettei sillä ole yhtään ystävää.
- Ann 2005
- Ann 2005
-
- Kitisijä
- Viestit: 4424
- Liittynyt: 16.08.2005 16:12
Re: Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Niin se mun treffaama yliopiston Atk-maisterimisu väitti ei-ymmärtävänsä elektroniikkaa paljoa yhtään. Ja ei kai C++ -ohjelmoijan tarvitse tietää rajapinnasta konekieleenkään paljon mitään, muuta kuin että sellainen on ja kenties periaatetieto miten se toimii.. mutta ei liittyne käytännön ohjelmointityöhön mitenkään? Vähän kuin formulakuskin ei tarvitse osata rakentaa autoa raakamalmista.
Yli nelikybänen landeäijä mutaisissa saappaissa ja flanellipaidassa kuolaa ja tumputtaa teinitytöille salaa mustassa jeepissään.
-Quarter
-Quarter
Re: Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Rajapinta ohjelmointikielen ja konekielen välillä on kääntäjä. Kääntäjätekniikkaa opetetaan yliopistoissa ja korkeakouluissa, mutta se ei ole kovin suosittua. Omalle kääntäjälle on käyttöä sellaisissa tilanteissa, kun tarvitaan omaa korkean tason kuvaustapaa jollekin sellaiselle toistuvalle ratkaisulle, jonka kuvaaminen perinteisellä tavalla ei ole helppoa.Gattaca kirjoitti: En tarkoittanut niinkään tietoa vaikka prosessoritekniikasta vaan RAJAPINNASTA ohjelmointikielen ja konekielen ja konekielen ja fyysisen elektroniikan välillä. Ja onko siihen vielä erikoisnörttejä jossain koodaajien ja prosessorin suunnittelijoiden välillä.
Kääntäjiäkään ei kirjoitetaa enää alusta asti, vaan käytetään metakääntäjää: kääntäjää, joka tekee kääntäjiä.
Rajapinta konekielen ja fyysisen elektroniikan välillä on mikrokoodi ja muisti. Mikrokoodi on rajapinta prosessoriin ja muisti on rajapinta fyysisiin laitteisiin. Mikrokoodi on prosessorien sunnittelijoiden apuväline, vaikka teoriassa olisi kai mahdollista kehittää oma konekieli mikrokoodin päälle. Laiterajapintaa tarvitaan käytännössä vain alkeellisissa järjestelmissä, sillä nykyaikaisessa järjestelmässä käyttöjärjestelmä piilottaa laitteistorajapinnan tarjoamalla sen päälle käyttörajapinnan.
Käytännössä normaaleihin sovelluksiin riittää kääntäjärajapinta ja kirjastot: siis ohjelmointikielen ja APIen tunteminen. Tosiaikasovelluksissa molemmat rajapinnat joudutaan joskus ohittamaan, mutta hyvää tosiaikajärjestelmää ei tehdäkään mihin tahansa käyttikseen, vaan siihen on omat mikrokernel-käyttöjärjestelmät.
e.
-
- Kitisijä
- Viestit: 4593
- Liittynyt: 16.08.2005 15:25
- Paikkakunta: Kouvostoliitto
Re: Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Runkkumatskua!eps kirjoitti: e.
Kävin katsomassa Mylwinin kuvaa, ja näyttää kyllä just siltä ettei sillä ole yhtään ystävää.
- Ann 2005
- Ann 2005
Re: Rajapinnat ohjelmointikieli/konekieli/elektroniikka?
Riippuu aika paljon siitä mitä ja millaiseen ympäristöön ollaan rakentamassa.
Ohjelmoinnissa puhutaan yleensä abstraktiotasoista - ja trendi ja hype on ollut aina kohti korkeamman abstraktiotason kieliä. Periaatteena siis se, että ratkaistaan ongelmaa tietokoneella, eikä kerrota tietokoneelle kuinka tietokoneen pitäisi ratkaista ongelma. ( Esimerkiksi Erlang, Scheme )
Samalla tavalla erilaisissa frameworkeissa tietyt asiat abtsraktoituvat - niin ettei ohjelmojien tarvitse tietää, kuinka jokin asia loppupeleissä tapahtuu loppuun saakka. Hyvänä esimerkkinä tästä esimerkiksi J2EE.
Ohjelmoijien ei aina tarvitse tietää kuinka asiat menevät ihan elektroniikan tasolla - mutta abstraktotasoista huolimatta monet ohjelmoijat haluavat ja joutuvat tietämään miten asiat toimivat esimerkiksi prosessorin tasolla. Oleelliseksi tämä muuttuu esimerkiksi moniprosessori-ympäristöissä, verkottuneissa järjestelmissä ja korkean voluumin ympäristöissä.
Esimerkki tästä Java-maailmasta, monisäikeiset ohjelmat ja lukitukset Javan virtuaalikoneessa: http://blogs.sun.com/roller/page/dave?e ... in_hotspot
Ohjelmoinnissa puhutaan yleensä abstraktiotasoista - ja trendi ja hype on ollut aina kohti korkeamman abstraktiotason kieliä. Periaatteena siis se, että ratkaistaan ongelmaa tietokoneella, eikä kerrota tietokoneelle kuinka tietokoneen pitäisi ratkaista ongelma. ( Esimerkiksi Erlang, Scheme )
Samalla tavalla erilaisissa frameworkeissa tietyt asiat abtsraktoituvat - niin ettei ohjelmojien tarvitse tietää, kuinka jokin asia loppupeleissä tapahtuu loppuun saakka. Hyvänä esimerkkinä tästä esimerkiksi J2EE.
Ohjelmoijien ei aina tarvitse tietää kuinka asiat menevät ihan elektroniikan tasolla - mutta abstraktotasoista huolimatta monet ohjelmoijat haluavat ja joutuvat tietämään miten asiat toimivat esimerkiksi prosessorin tasolla. Oleelliseksi tämä muuttuu esimerkiksi moniprosessori-ympäristöissä, verkottuneissa järjestelmissä ja korkean voluumin ympäristöissä.
Esimerkki tästä Java-maailmasta, monisäikeiset ohjelmat ja lukitukset Javan virtuaalikoneessa: http://blogs.sun.com/roller/page/dave?e ... in_hotspot