Graafisen ja tekstipohjaisen ohjelmoinnin vertailu Lego Mindstormia käyttäen
Martikainen, Konsta (2022)
Martikainen, Konsta
2022
Teknisten tieteiden kandidaattiohjelma - Bachelor's Programme in Engineering Sciences
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-04-27
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202204253530
https://urn.fi/URN:NBN:fi:tuni-202204253530
Tiivistelmä
Tietotekniikan sekä automaation lisäännyttyä runsaasti yhteiskunnassa tarve erilaisille ohjelmille ja ohjelmistoille on kasvanut. Tämä on lisännyt saatavilla olevia ohjelmointityylejä ja antanut alan ammattilaisille vaihtoehtoja ohjelmointikielen valintaan.
Tässä kandidaatintyössä vertaillaan graafisen ja tekstipohjaisen ohjelmoinnin eroja yksinkertaisen Lego Mindstorm -robotille koodatun ohjelman avulla. Ohjelman tarkoituksena on lajitella robotille käyttäjän antamat rakennuspalikat omiin lokeroihinsa tunnistetun värin perusteella. Kyseinen logiikka on toteutettu graafisesti LabVIEW-pohjaisella Lego Mindstorm Educationilla sekä tekstipohjaisesti MicroPythonilla.
Tarkastelussa päädyttiin listaamaan tekstipohjaisen ohjelmoinnin hyödyiksi versionhallinnan parempi käytettävyys, kevyempi ja matalatasoinen ohjelmansuoritus sekä monipuolinen muokattavuus erillisten kirjastojen avulla. Graafisen ohjelmoinnin hyötyinä nähtiin suurten järjestelmien nopea luominen, selkeämpi ja sujuvampi koodin logiikan ymmärrys sekä yksinkertaisten käyttöliittyminen rakentaminen. Huonoja puolia tekstipohjaisessa ohjelmoinnissa ovat esimerkiksi puuttuva käyttöliittymä sekä epäselvä logiikan visuaalinen kuvaus, kun taas graafisen ohjelmoinnin haittoja olivat huono versionhallinta sekä suuri tiedostokoko ja suoritusvaatimukset.
Tästä kandidaatintyöstä saa esimerkkejä ja neuvoja millaisissa tilanteissa kannattaa valita graafinen ohjelmointityyli ja millaisissa tilanteissa tekstipohjainen ohjelmointityyli. Graafinen ohjelmointi soveltuu parhaiten suurten teollisuuslaitosten ja mittausjärjestelmien hallintaan sekä tilanteisiin, joissa halutaan tehdä tehokkaasti yksinkertaisia käyttöjärjestelmiä logiikan hallintaan. Tekstipohjainen ohjelmointi on parempi valinta yksinkertaisten laitteiden ja matalan rautatason järjestelmien logiikan hallintaan sekä tilanteisiin, joissa helppo versionhallinta ja usean ohjelmoijan työpanos yhteen ohjelmaan on tärkeää.
Tässä kandidaatintyössä vertaillaan graafisen ja tekstipohjaisen ohjelmoinnin eroja yksinkertaisen Lego Mindstorm -robotille koodatun ohjelman avulla. Ohjelman tarkoituksena on lajitella robotille käyttäjän antamat rakennuspalikat omiin lokeroihinsa tunnistetun värin perusteella. Kyseinen logiikka on toteutettu graafisesti LabVIEW-pohjaisella Lego Mindstorm Educationilla sekä tekstipohjaisesti MicroPythonilla.
Tarkastelussa päädyttiin listaamaan tekstipohjaisen ohjelmoinnin hyödyiksi versionhallinnan parempi käytettävyys, kevyempi ja matalatasoinen ohjelmansuoritus sekä monipuolinen muokattavuus erillisten kirjastojen avulla. Graafisen ohjelmoinnin hyötyinä nähtiin suurten järjestelmien nopea luominen, selkeämpi ja sujuvampi koodin logiikan ymmärrys sekä yksinkertaisten käyttöliittyminen rakentaminen. Huonoja puolia tekstipohjaisessa ohjelmoinnissa ovat esimerkiksi puuttuva käyttöliittymä sekä epäselvä logiikan visuaalinen kuvaus, kun taas graafisen ohjelmoinnin haittoja olivat huono versionhallinta sekä suuri tiedostokoko ja suoritusvaatimukset.
Tästä kandidaatintyöstä saa esimerkkejä ja neuvoja millaisissa tilanteissa kannattaa valita graafinen ohjelmointityyli ja millaisissa tilanteissa tekstipohjainen ohjelmointityyli. Graafinen ohjelmointi soveltuu parhaiten suurten teollisuuslaitosten ja mittausjärjestelmien hallintaan sekä tilanteisiin, joissa halutaan tehdä tehokkaasti yksinkertaisia käyttöjärjestelmiä logiikan hallintaan. Tekstipohjainen ohjelmointi on parempi valinta yksinkertaisten laitteiden ja matalan rautatason järjestelmien logiikan hallintaan sekä tilanteisiin, joissa helppo versionhallinta ja usean ohjelmoijan työpanos yhteen ohjelmaan on tärkeää.
Kokoelmat
- Kandidaatintutkielmat [9897]