Kielien sielunelämästä

C :sta puuttuu esim kätevä foreach functio. Toki tämä on mahdollista käyttäen esim vectoreita. Muutenkin itsestä C puuttuu monia hyödyllisiä asioita mitä on kehittyneemmissä kielissä.

Sitten varsinainen kysymys, miten esin tuo foreach functio on toteutettu muissa kielissä?

Vai onko asia niin, että tuo foreach jne... functiot on vain kääntäjän/kielen luomaa "harhaa" todellisuudessa kääntäjä tekee saman minkä sinä tekisit C laajennosten jne... kanssa?
Siis assebly koodi on kutakuin samanlaista.
3344
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

Vähän turhan laaja ja monimutkainen kysymys...

vastaan siis:

1) Semanttisesti sama asia kaikissa
2) Riippuu kääntäjän taidoista, joku voi olla äärimmäisen tehokas, toinen taas ei
3) Metodologisesti tapoja lienee monia joista muutamia käytetään oikeassa elämässä, tämän vuoksi "sielunelämä" foreachissa voi olla kielien välillä erilainen. Esim vahvan tyypityksen tarpeellisuus on kielikohtaista ja se minkä yli/aliluokan foreach valitsee toteutuksessaan voi olla kieliriippuvainen.

Äänestä

Kielten kehitys on jo kauan sitten vienyt pois tuollaisten kivojen pikkuominaisuuksien lisäämisestä kuin "foreach". Niitä voi olla, mutta ne eivät ole keskeisiä. Kielten kehitys pyrkii nykyisin tukemaan tehokkaiden, korkean abstraktiotason luokkakirjastojen luomista. Kirjastot ovat tärkeämpiä kuin kielen syntaksi sinänsä.

Mutta mikä on seuraava taso? Minusta jonkinlainen "behavioral compiler", joka osaisi suoraan vaatimuksista (requirements) luoda koodia (vaikka perinteisen C -koodin kautta). Vaatimukset annettaisiin esim case-kuvauksina ja niiden reunaehtoina lähes luonnollisen kielen omaisina tekstiedostoina tai vaikkapa graafisina sekvenssikuvina.

Ohjelmistoammattilaisen tehtävä muuttuisi asiakkaan epämääräisten ja ristiriitaisten vaatimusten hiomiseksi koneen hyväksymään muotoon ja testaamiseksi.

Äänestä

Kiitoksia tuo selventi vähäsen.

Äänestä

Kommentoi aloitusta


qwatst kirjoitti:

C :sta puuttuu esim kätevä foreach functio. Toki tämä on mahdollista käyttäen esim vectoreita. Muutenkin itsestä C puuttuu monia hyödyllisiä asioita mitä on kehittyneemmissä kielissä.

Sitten varsinainen kysymys, miten esin tuo foreach functio on toteutettu muissa kielissä?

Vai onko asia niin, että tuo foreach jne... functiot on vain kääntäjän/kielen luomaa "harhaa" todellisuudessa kääntäjä tekee saman minkä sinä tekisit C laajennosten jne... kanssa?
Siis assebly koodi on kutakuin samanlaista.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu