Toistorakenteet C#:ssa ja Haskellissa

Tutkielmassa vertaillaan funktionaalista ja imperatiivista ohjelmointiparadigmaa toistorakenteiden osalta. Vertailussa tarkastellaan Jyväskylän yliopiston ohjelmointikursseilla käsiteltäviä C#– ja Haskell–ohjelmointikieliä, jotka edustavat merkittävästi erilaisia suunnitteluperiaatteita ja määrittel...

Full description

Bibliographic Details
Main Author: Häyrynen, Mikko
Other Authors: Informaatioteknologian tiedekunta, Informaatioteknologia, University of Jyväskylä, Jyväskylän yliopisto
Format: Bachelor's thesis
Language:fin
Published: 2017
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/56469
_version_ 1826225789695164416
author Häyrynen, Mikko
author2 Informaatioteknologian tiedekunta Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto
author_facet Häyrynen, Mikko Informaatioteknologian tiedekunta Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto Häyrynen, Mikko Informaatioteknologian tiedekunta Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto
author_sort Häyrynen, Mikko
datasource_str_mv jyx
description Tutkielmassa vertaillaan funktionaalista ja imperatiivista ohjelmointiparadigmaa toistorakenteiden osalta. Vertailussa tarkastellaan Jyväskylän yliopiston ohjelmointikursseilla käsiteltäviä C#– ja Haskell–ohjelmointikieliä, jotka edustavat merkittävästi erilaisia suunnitteluperiaatteita ja määrittelevät ensisijaiset toistorakenteensaeri lähtökohdista käsin. Eroavaisuuksien ja aiemman tutkimustiedon perusteella jäsennetään, miksi funktionaalisen paradigman omaksuminen tuottaa vaikeuksia imperatiiviseen ohjelmointitapaan totuttautuneille ohjelmoijille. Imperative and functional programming languages implement repetition from different standpoints. This thesis compares two drastically different languages explored on entry level courses in the University of Jyväskylä – C# and Haskell. It examines their differences and analyzes the underlying reasons for said differences, also seeking to answer why programmers acquainted with imperative languages struggle while adopting the functional mindset.
first_indexed 2017-12-20T21:46:55Z
format Kandityö
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Sanna M\u00f6nk\u00f6l\u00e4", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "H\u00e4yrynen, Mikko", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2017-12-20T14:09:13Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2017-12-20T14:09:13Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2017", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/56469", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Tutkielmassa vertaillaan funktionaalista ja imperatiivista ohjelmointiparadigmaa toistorakenteiden osalta. Vertailussa tarkastellaan Jyv\u00e4skyl\u00e4n yliopiston ohjelmointikursseilla k\u00e4sitelt\u00e4vi\u00e4 C#\u2013 ja Haskell\u2013ohjelmointikieli\u00e4, jotka edustavat merkitt\u00e4v\u00e4sti erilaisia suunnitteluperiaatteita ja m\u00e4\u00e4rittelev\u00e4t ensisijaiset toistorakenteensaeri l\u00e4ht\u00f6kohdista k\u00e4sin. Eroavaisuuksien ja aiemman tutkimustiedon perusteella j\u00e4sennet\u00e4\u00e4n, miksi funktionaalisen paradigman omaksuminen tuottaa vaikeuksia imperatiiviseen ohjelmointitapaan totuttautuneille ohjelmoijille.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Imperative and functional programming languages implement repetition from different standpoints. This thesis compares two drastically different languages explored on entry level courses in the University of Jyv\u00e4skyl\u00e4 \u2013 C# and Haskell. It examines their differences and analyzes the underlying reasons for said differences, also seeking to answer why programmers acquainted with imperative languages struggle while adopting the functional mindset.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted using Plone Publishing form by Mikko H\u00e4yrynen (mianhayr) on 2017-12-20 14:09:12.672317. Form: Kandidaatintutkielma -lomake (https://kirjasto.jyu.fi/julkaisut/julkaisulomakkeet/kandin-tutkielma-lomake). JyX data: [jyx_publishing-allowed (fi) =True]", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2017-12-20T14:09:13Z\nNo. of bitstreams: 2\nURN:NBN:fi:jyu-201712204825.pdf: 156833 bytes, checksum: 9dff335d6a79063e87f2892a33b05781 (MD5)\nlicense.html: 4785 bytes, checksum: c081ea52bf4161c0ec4c08f0cb0b02fc (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2017-12-20T14:09:13Z (GMT). No. of bitstreams: 2\nURN:NBN:fi:jyu-201712204825.pdf: 156833 bytes, checksum: 9dff335d6a79063e87f2892a33b05781 (MD5)\nlicense.html: 4785 bytes, checksum: c081ea52bf4161c0ec4c08f0cb0b02fc (MD5)\n Previous issue date: 2017", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "28", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "C#", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Haskell", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "silmukka", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "rekursio", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Toistorakenteet C#:ssa ja Haskellissa", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "bachelor thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201712204825", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Kandidaatintutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Bachelor's thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.date.updated", "value": "2017-12-20T14:09:13Z", "language": null, "element": "date", "qualifier": "updated", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_7a1f", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": "fi", "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "bachelorThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}]
id jyx.123456789_56469
language fin
last_indexed 2025-02-18T10:54:17Z
main_date 2017-01-01T00:00:00Z
main_date_str 2017
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/1010a274-ab01-40d7-9afc-293f83f82112\/download","text":"URN:NBN:fi:jyu-201712204825.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2017
record_format qdc
source_str_mv jyx
spellingShingle Häyrynen, Mikko Toistorakenteet C#:ssa ja Haskellissa C# Haskell silmukka rekursio Tietotekniikka
title Toistorakenteet C#:ssa ja Haskellissa
title_full Toistorakenteet C#:ssa ja Haskellissa
title_fullStr Toistorakenteet C#:ssa ja Haskellissa Toistorakenteet C#:ssa ja Haskellissa
title_full_unstemmed Toistorakenteet C#:ssa ja Haskellissa Toistorakenteet C#:ssa ja Haskellissa
title_short Toistorakenteet C#:ssa ja Haskellissa
title_sort toistorakenteet c ssa ja haskellissa
title_txtP Toistorakenteet C#:ssa ja Haskellissa
topic C# Haskell silmukka rekursio Tietotekniikka
topic_facet C# Haskell Tietotekniikka rekursio silmukka
url https://jyx.jyu.fi/handle/123456789/56469 http://www.urn.fi/URN:NBN:fi:jyu-201712204825
work_keys_str_mv AT häyrynenmikko toistorakenteetcssajahaskellissa