Hello world working with Actix

This commit is contained in:
Marko Korhonen 2020-03-24 14:24:20 +02:00
parent 141ed69449
commit 2c94fe0cab
No known key found for this signature in database
GPG key ID: 911B85FBC6003FE5
10 changed files with 1222 additions and 346 deletions

View file

@ -7,4 +7,8 @@ Tämän takia myös web-ohjelmoinnissa käytettävissä teknologioissa on tapaht
Vaikka JavaScript onkin suosittu, siinä on paljon ongelmia\cite{medium:javascript}. Suurimmat ongelmat liittyvät kielen heikkoon tyypitykseen, mikä saattaa aiheuttaa ongelmia jotka ilmenevät vasta ajon aikana ja vain tietyissä rajatapauksissa. Tämän takia koodin testaamiseen ja laadun ylläpitämiseen pitää panostaa enemmän. Toinen iso ongelma on se, että JavaScript ei ole tarkka koodin tyylistä. Tämä hankaloittaa projekteissa kommunikointia ja työtoverien koodin lukemista.
Koska JavaScript on tulkittava kieli, se tulee aina häviämään suorituskyvyssä koottaville kielille. Tätä eroa on osittain kavennettu ajonaikaisen kääntämisen optimoinneilla.
Edellä mainittujen syiden takia lähivuosina on ilmaantunut useita vaihtoehtoja sekä palvelin- että asiakaspuolen ohjelmointikieliksi. Näistä yksi itseäni eniten kiinnostava on Rust. Tämän opinnäytetyön yhteydessä toteutettu projekti käyttää Rustia sekä palvelimella että asiakaspuolella.
\clearpage

View file

@ -0,0 +1,11 @@
\chapter{Kielet}
\section{Rust}
Rust on Mozillan 2010 julkaisema ohjelmointikieli. Se on hyvin suorituskykyinen järjestelmätason ohjelmointikieli, muistuttaen monilta osin C ja C++ kieliä. Rustin tarkoituksena on säilyttää näiden vanhojen kielien suorituskyky, mutta kuitenkin tarjoten samalla muun muassa vahvan tyypityksen, ratkaista C-kielille tyypilliset muistinhallintaongelmat ja taatun turvallisen rinnakkaisajon.
\section{WebAssembly}
WebAssembly on kehitteillä oleva asiakaspuolen ohjelmointikieli. Sitä on suunniteltu JavaScriptin seuraajaksi ja sen suurinpana etuna JavaScriptiin verrattuna on huomattavasti matalemman tason esitysmuoto, minkä ansiosta se on suorituskykyisempi.
Kehittäjän ei ole tarkoitus kirjoittaa WebAssemblya suoraan, vaan monien olemassa olevien ohjelmointikielien kääntäjät, esimerkiksi C++ ja Rust tukevat koodin kokoamista WebAssemblyksi.
\clearpage

View file

@ -1,7 +0,0 @@
\chapter{Rust}
Rust on Mozillan 2010 julkaisema ohjelmointikieli. Se on hyvin suorituskykyinen järjestelmätason ohjelmointikieli, muistuttaen monilta osin C ja C++ kieliä. Rustin tarkoituksena on säilyttää näiden vanhojen kielien suorituskyky, mutta kuitenkin tarjoten samalla muun muassa vahvan tyypityksen, ratkaista C-kielille tyypilliset muistinhallintaongelmat ja taatun turvallisen rinnakkaisajon.
Lisäksi Rust-koodia voi koota WebAssemblyksi, mikä on omalta osaltaan kerännyt hyvin paljon kiinnostusta lähivuosina. Sitä on suunniteltu JavaScriptin seuraajaksi. Sen etuna huomattavasti parempi suorituskyky, koska se on etukäteen konekieleksi koottu kieli, eikä tulkittu niinkuin JavaScript on.
\clearpage