haku: @keyword ohjelmointikieli / yhteensä: 5
viite: 3 / 5
Tekijä:Salo, Tomi
Työn nimi:Functional programming languages in commercial software development
Funktionaaliset ohjelmointikielet kaupallisessa ohjelmistonkehityksessä
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2010
Sivut:95      Kieli:   eng
Koulu/Laitos/Osasto:Tietotekniikan laitos
Oppiaine:Ohjelmistotekniikka   (T-106)
Valvoja:Soisalon-Soininen, Eljas
Ohjaaja:Laurikari, Ville
OEVS:
Sähköinen arkistokappale on luettavissa Aalto Thesis Databasen kautta.
Ohje

Digitaalisten opinnäytteiden lukeminen Aalto-yliopiston Harald Herlin -oppimiskeskuksen suljetussa verkossa

Oppimiskeskuksen suljetussa verkossa voi lukea sellaisia digitaalisia ja digitoituja opinnäytteitä, joille ei ole saatu julkaisulupaa avoimessa verkossa.

Oppimiskeskuksen yhteystiedot ja aukioloajat: https://learningcentre.aalto.fi/fi/harald-herlin-oppimiskeskus/

Opinnäytteitä voi lukea Oppimiskeskuksen asiakaskoneilla, joita löytyy kaikista kerroksista.

Kirjautuminen asiakaskoneille

  • Aalto-yliopistolaiset kirjautuvat asiakaskoneille Aalto-tunnuksella ja salasanalla.
  • Muut asiakkaat kirjautuvat asiakaskoneille yhteistunnuksilla.

Opinnäytteen avaaminen

  • Asiakaskoneiden työpöydältä löytyy kuvake:

    Aalto Thesis Database

  • Kuvaketta klikkaamalla pääset hakemaan ja avaamaan etsimäsi opinnäytteen Aaltodoc-tietokannasta. Opinnäytetiedosto löytyy klikkaamalla viitetietojen OEV- tai OEVS-kentän linkkiä.

Opinnäytteen lukeminen

  • Opinnäytettä voi lukea asiakaskoneen ruudulta tai sen voi tulostaa paperille.
  • Opinnäytetiedostoa ei voi tallentaa muistitikulle tai lähettää sähköpostilla.
  • Opinnäytetiedoston sisältöä ei voi kopioida.
  • Opinnäytetiedostoa ei voi muokata.

Opinnäytteen tulostus

  • Opinnäytteen voi tulostaa itselleen henkilökohtaiseen opiskelu- ja tutkimuskäyttöön.
  • Aalto-yliopiston opiskelijat ja henkilökunta voivat tulostaa mustavalkotulosteita Oppimiskeskuksen SecurePrint-laitteille, kun tietokoneelle kirjaudutaan omilla Aalto-tunnuksilla. Väritulostus on mahdollista asiakaspalvelupisteen tulostimelle u90203-psc3. Väritulostaminen on maksullista Aalto-yliopiston opiskelijoille ja henkilökunnalle.
  • Ulkopuoliset asiakkaat voivat tulostaa mustavalko- ja väritulosteita Oppimiskeskuksen asiakaspalvelupisteen tulostimelle u90203-psc3. Tulostaminen on maksullista.
Sijainti:P1 Ark Aalto     | Arkisto
Avainsanat:functional
programming language
software engineering
concurrent processing
funktionaalinen
ohjelmointikieli
ohjelmistonkehitys
rinnakkainen prosessointi
Tiivistelmä (fin): Tietokonejärjestelmien suorituskyky on kasvanut valtavasti viime vuosikymmeninä.
Laitteiston suorituskyvyn lisääntyessä myös ohjelmistojärjestelmien koko ja monimutkaisuus on lisääntynyt.
Osa ohjelmistojärjestelmien monimutkaisuudesta on niiden suorittamaan tehtävään liittyvää oleellista monimutkaisuutta, mutta osa monimutkaisuudesta aiheutuu toteutus- menetelmien sivutuotteena.

Ylimääräistä monimutkaisuutta on pyritty vähentämään korkean tason ohjelmointikielillä.
Kuvaavat ohjelmointikielet, mukaan lukien funktionaaliset ohjelmointikielet, omaavat yhtä pitkän historian kuin imperatiiviset ohjelmointikielet.
Ne ovat kautta historiansa olleet laajan akateemisen kiinnostuksen kohteena, mutta vain vähäisessä määrin kaupallisten ohjelmistoprojektien käytössä.

Tämän työn tarkoitus on näyttää, että funktionaaliset ohjelmointikielet ovat käytännöllinen vaihtoehto imperatiivisille korkean tason ohjelmointikielille myös kaupallisissa projekteissa.
Työssä käsitellään funktionaalisten kielten teoreettisia etuja, kuten niiden tilan käsite rinnakkaisohjelmoinnissa, tarkastellaan onnistuneita kaupallisia projekteja ja toteutetaan pienehkö ohjelmistojärjestelmä kolmella eri kielellä, joista yksi on imperatiivinen ja kaksi funktionaalista.
Tiivistelmä (eng): The capabilities of computer systems have seen immense growth in the past decades.
Along with the hardware, the size and complexity of software systems has grown as well.
The complexity of the software systems is partly the essential complexity arising from their requirements, but partly the accidental complexity caused by the limitations of their construction techniques.

Development of high-level programming languages has been a key component in reducing the accidental complexity.
The history of declarative, including functional, programming languages is about as long as the history of imperative languages, but despite wide academic interest, functional languages have seen use in only a small minority of commercial projects.

The purpose of this work is to show that functional programming languages are a feasible alternative to high-level imperative languages in commercial projects.
This is achieved by examining the functional languages' theoretical advantages, such as the handling of shared state in concurrent programs, by looking at successful commercial uses of functional languages and finally by examining a sample system coded in three different languages, one imperative and two functional.
ED:2010-07-12
INSSI tietueen numero: 39905
+ lisää koriin
INSSI