Funktionaalinen ohjelmointi Javalla

 
 
Books on Demand (Verlag)
  • 1. Auflage
  • |
  • erschienen am 26. November 2019
  • |
  • 184 Seiten
 
E-Book | ePUB ohne DRM | Systemvoraussetzungen
978-952-80-3077-5 (ISBN)
 
Funktionaalinen ohjelmointi on noussut olio-ohjelmoinnin rinnalle tärkeimpänä ohjelmointitekniikkana. Funktionaalinen ohjelmointi vaatii kuitenkin uudenlaista ajattelutapaa sekä toisen tyyppistä ohjelmistojen suunnittelua kuin olio-ohjelmointi. Kirja opettaa myös funktionaalisia ohjelmointitapoja, joita voi ottaa välittömästä käyttää omassa sovelluskehityksessä.
Kirjassa funktionaalista ohjelmointia tehdään Java-kielellä, joka on tukenut funktionaalista ohjelmointia versiosta kahdeksan lähtien. Funktionaalisen ohjelmoinnin lisäksi Javassa komentotulkki (jshell), jota käytetään kirjassa huomattavan paljon lyhyiden esimerkkien esittämiseen sekä niiden tulosten välittömään, interaktiiviseen esittämiseen.
Funktionaalinen ohjelmointi on erityisen toimivaa Java-tietorakenneluokkien eli kokoelmien kanssa siinä käytetyn Stream-rajapinnan ansiosta. Stream-rajapintoja käyttäen voi kirjoittaa kokoelmia käsittelevää koodia korkeammalla abstraktiotasolla.
Java 9 sekä Java 10 versiot tuovat kieleen joitakin parannuksia, joita käsitellään tässä kirjassa. Tärkeimmät ovat jshell-komentotulkki sekä lokaalille muuttajalle määritelty var-tyyppi. Myös pieniä muutoksia kieleen tuoneet Java 11, Java 12 ja Java 13 esitellään kirjassa.
1. Auflage
  • 0,40 MB
978-952-80-3077-5 (9789528030775)
weitere Ausgaben werden ermittelt
Juha Peltomäki on kokenut ohjelmointitekniikoiden kouluttaja, tietokirjailija sekä sovelluskehittäjä. Hän on kirjoittanut yli kymmenen ohjelmointiaiheista kirjaa ja hänellä on runsaasti kokemusta sekä korkeakoulu- että yrityskoulutuksista.

Java-ohjelmointikieli

Java-ohjelmoinnin voi aloittaa ja sitä voi harrastaa hyvinkin pitkälle ilmaisilla, usein avoimen lähdekoodin (open source) työkaluilla. Perusohjelmointiin voi käyttää OpenJDK-sovelluskehitintä, jolla pääsee hyvin alkuun Java-ohjelmoinnissa. Toki tehokkaampaan ohjelmointityöhän tarvitaan käytännössä joku graafinen IDE-sovelluskehitin, kuten Eclipse, NetBeans tai IntelliJ.

Java-ohjelmoinnin aloittamiseksi tulee asentaa uusin OpenJDK:n (Java Development Kit), joka on saatavilla niin Windows-, Linux- kuin Mac OS X - järjestelmiinkin. OpenJDK:n tuoreimmat versiot saa ladattua osoitteesta: https://openjdk.java.net/.

JDK:n asennuksen jälkeen voi alkaa kirjoittaa Java-ohjelmia millä tahansa tekstieditorilla ja kääntää niitä tavukoodiksi (bytecode). Tavukoodi voidaan suorittaa järjestelmässä käyttäen Java-ajoympäristöä, jota kutsutaan nimellä JRE (Java Runtime Environment), ja joka sisältyy aina myös JDK-jakelupakettiin. Javatavukoodi on Java-virtuaalikoneen (JVM) käskyjoukko, jota ohjelmoijan ei välttämättä tarvitse ymmärtää juuri lainkaan tehdäkseen Java-ohjelmia.

Java-kääntäjän tuottaman tavukoodin ymmärtäminen voi kuitenkin auttaa edistynyneempää Java-ohjelmoijaa samalla tavalla kuin assembly-konekielen tuntemus auttaa C- tai C ++-ohjelmoijaa.

Lisätietoa: https://en.wikipedia.org/wiki/Java_bytecode.

Lisenssointi

OpenJDK on sovellusten kehittämiseen sekä uusien ominaisuuksien testaamiseen sopiva avoimen lähdekoodin ohjelmisto, jonka uusin versio syyskuussa 2019 oli 12.0.2, joka vastaavasti toteutti Java SE 12.0.2 -ohjelmointirajapinnan. Nykyisessä JDK:ssa lisenssinä on GPL (GNU General Public License) versio 2.

Vuodesta 2019 alkaen JDK-sovelluskehittimen kaupalliset toteutukset, jotka käytännössä täysin pohjaavat OpenJDK:n, ovat maksullisia ja ne voi tarvittaessa ostaa kaupalliseen käyttötarpeeseen Oracle JDK:n. Tällöin lisenssi on kaupallinen (Oracle Technology Network License Agreement for Oracle Java SE) ja siihen voi hankkia erillisen tukipalvelun.

JDK:ta myydään kaupallisella lisenssillä niille, jotka käyttävät Oracle JDK:ta osana Oraclen tuotetta tai palvelua tai jotka eivät halua käyttää avoimen lähdekoodin ohjelmistoja. Käytännössä molemmat JDK:t ovat nykyisin, versiosta 11 alkaen sisällöltään lähes identtiset, joten niitä molempia voivat sovelluskehittäjät käyttää kehitystyössään.

Lisätietoa saat osoitteesta:
https://www.oracle.com/technetwork/java/javase/downloads/index.html .

Muut JDK:n versiot

JDK:sta on jo pitkään ollut muita toteutuksia. Tärkeimpänä OpenJDK:n implementaatiota on AdoptOpenJDK. Se tarjoaa myös pitkällä aikavälillä luotettava lähteen OpenJDK-binääreista kaikille tuetuille alustoille.

AdoptOpenJDK on yhteisö, johon kuuluu Java User Group (JUG) -jäseniä, Javakehittäjiä sekä Javaa käyttäviä valmistajia. Tällaisia yrityksiä ovat mm. Azul, Amazon, GoDaddy, IBM, jClarity, Microsoft ja Red Hat. Yritykset tukevat ja tarjoavat kaupallisesti tuettua binääriversioita JDK:sta.

AdoptOpenJDK:sta on saatavilla sekä yhteisön tukemia että kaupallisesti tuettuja versioita. Samoin on tarjolla versioita, joihin saa pitkäaikaisen LTS (Long Term Support) tuen. Lisätietoa ja versiot saa ladattua osoitteesta: https://adoptopenjdk.net/.

JDK:n versiointi

JDK on siirtynyt myös nopeampaan uusien versioiden julkaisutahtiin. Tästä on esimerkkinä se, että vuodesta 2017 alkaen eli versiosta 9 alkaen uusi JDK-versio on julkaistu ja jatkossakin julkaistaan aina puolen vuoden välein. Suurimmat versiopäivitykset tulevat LTS-versiossa, jolle tarjotaan pitkäaikainen tuki. JDK:n LTS-versiot julkaistaan kolmen version välein Oraclen vuonna 2017 julkaisemien suunnitelmien mukaan.

Java SE 8 -versiosta alkaen uusia Java-versioita on julkaistu seuraavalla aikataululla:

  • Java SE 8 (LTS) maaliskuussa 2014
  • Java SE 9 syyskuussa 2017
  • Java SE 10 maaliskuussa 2018
  • Java SE 11 (LTS) syyskuussa 2018
  • Java SE 12 maaliskuussa 2019
  • Java SE 13 syyskuussa 2019

Yleisesti mukaan tulleet ominaisuudet ovat olleet ohjelmoijien kannalta melko pieniä, joten välttämätöntä jatkuva uusien ominaisuuksien seuraaminen ei ole.

JDK:n käyttäminen

JDK sisältää ainoastaan komentorivityökaluja, kuten komentorivikääntäjän. Tällöin myös ohjelman ajaminen täytyy tehdä komentoriviltä. Jotta Java-ohjelmointi olisi tehokkaampaa ja pystyisit tuottavaan työskentelyyn, kannattaa asentaa kuitenkin lisäksi jokin ilmainen IDE-ympäristö kuten Eclipse, IntelliJ tai NetBeans. Lisäksi tulevia JDK-alustan tulevia julkaisuja (kuten JDK Candidate tai JDK Early Access Releases) voi kokeilu- ja testausmielessä ladata Open JDK -projektin (http://openjdk.java.net/) sivustojen kautta. Samalla kehityskoneella voi olla ladattuna useampi versio JDK:sta. Tällöin käytettävässä IDE-ympäristössä tulee valita se JDK:n versio, jota käytetään Java-ohjelman suorittamisessa sekä kääntämiseen että ohjelman ajamiseen tai testaamiseen.

Java-kielen keskeiset ominaisuudet

Java on yksi eniten käytetyimmistä ohjelmointikieliä. Lokakuussa 2019 se oli suosituin ohjelmointikielten suosiota mittaavassa Tiobe-indeksissä (TPCI).

Java-kielen keskeisiä ominaisuuksia ovat:

  • Java on helppo kieli oppia, jos ohjelmoijalla on aiempaa ohjelmointikokemusta muista oliopohjaisista ja/tai funktionaalisesti ohjelmointikielikielillä, kuten esim. C++-, Python- tai C#-kielistä.
  • IDE-sovelluskehitin auttaa paljon mm. koodin täydentämisessä, koodin avainsanojen värjäämisessä, syntaksin reaaliaikaisessa tarkastamisessa ja virheiden jäljittämisessä debuggerilla.
  • Sisältää runsaasti standardeja luokkakirjastoja sekä kolmansien osapuolten tekemiä kirjastoja.
  • Hallittu virheen käsittely (poikkeusten käsittely) toteutettu ohjelmointikielen tasolla, joten se toimii kaikkialla.
  • Automaattinen muistin varaaminen ja automaattinen muistin vapauttaminen eli roskien keruu ohjelman käytöstä poistamille muuttujille.

Javan perusominaisuudet

Java-ohjelmointiympäristön sekä -ohjelmointikielen tärkeimpiä perusominaisuuksia ovat seuraavat:

  • Ohjelma käännetään järjestelmäriippumattomaksi tavukoodiksi (byte code).
  • ohjelman voi suorittaa missä tahansa järjestelmässä, jossa on Javavirtuaalikone.
  • Automaattinen muistin vapauttaminen dynaamisesti varatulle muistille.
  • Tuki moniajolle (säikeet, fork/join, rinnakkaiset kokoelmat).
  • Virheenkäsittely ns. poikkeustenkäsittelyn (exception handling) muodossa.
  • Sisältää monipuolisen tietorakenneluokkakirjaston (collections).
  • Dynaaminen luokkien lataaminen (dynamic class loader), jolla voi ladata ohjelman suorituksen aikana tarvitsemat luokat tehostaen suorittamista ja säästäen muistia.
  • Tuki kansainväliselle merkistölle (Unicode).
  • Tukee geneeristä ohjelmointia sekä template-malliluokkia.

Java 8:n tärkeimmät ominaisuudet

Java 8 -versiossa tehtiin suurin remontti koskaan Java-ohjelmointikieleen. Tällöin Javaan lisättiin tuki lambda-lausekkeille, millä funktioista saatiin ns. ensimmäisen luokan kansalaisia Java-kielessä. Tämän jälkeen Javaa on voinut käyttää olioparadigman lisäksi myös funktionaalisella...

Dateiformat: EPUB
Kopierschutz: ohne DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie eine Lese-Software, die das Dateiformat EPUB verarbeiten kann: z.B. Adobe Digital Editions oder FBReader - beide kostenlos (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "glatten" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Ein Kopierschutz bzw. Digital Rights Management wird bei diesem E-Book nicht eingesetzt.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

17,99 €
inkl. 7% MwSt.
Download / Einzel-Lizenz
ePUB ohne DRM
siehe Systemvoraussetzungen
E-Book bestellen