Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "Ruby"

Sort by: Order: Results:

  • Vehmanen, Eero (2017)
    Järjestelmän kykyä havainnoida ja käsitellä sen omia rakenteitaan ja mekanismejaan kutsutaan refleksiivisyydeksi. Vaikka ohjelmointikielet ovat sisältäneet refleksiivisyyttä tukevia piirteitä eli metapiirteitä jo vuosikymmeniä, refleksiivisyyden merkitys ohjelmistotuotannossa pysyi pitkään vaatimattomana. Paljon metapiirteitä sisältävien skriptikielten suosion kasvun myötä refleksiivisyyden merkitys on kasvanut auttaen ohjelmoijia luomaan joustavia, helposti ylläpidettäviä ja muokattavia ohjelmia. Tässä tutkielmassa tarkastellaan ja vertaillaan kolmen suositun skriptikielen - Pythonin, Rubyn ja JavaScriptin - metapiirteitä, tarkoituksena löytää niiden hyötyjä, ongelmia ja käyttötapoja. Vertailua on tehty ratkaisemalla kaikilla kolmella kielellä kirjoittajan laatimia ohjelmointitehtäviä, jotka edustavat kirjallisuudessa ja tässä tutkielmassa esille tulleita refleksiivisyyden hyötyjä. Lisäksi metapiirteiden eroja esitellään havainnollistavan taulukon avulla. Python ja Ruby sisältävät suuren määrän hyödyllisiä metapiirteitä. Yksinkertaisempi JavaScript tarjoaa vähemmän metapiirteitä, mutta uudessa ECMAScript 6 -spesifikaatiossa määritelty refleksiivinen arkkitehtuuri parantaa kielen refleksiivisyyttä valtavasti.