(c)
Arto Wikla 1997,
Helsingin yliopisto/
Tietojenkäsittelytieteen laitos
581253-6 Java(TM)-ohjelmointi
1. Johdanto
(Muutettu viimeksi: 17.1.1997)
(Sivu näkyy tarkoitetun kaltaisena ainakin Netscapella.)
"Java is a general-purpose concurrent class-based object-oriented
programming language, specifically designed to have as few
implementation dependencies as possible. Java allows application
developers to write a program once and then be able to run it
everywhere on the Internet."
(Gosling, Joy, Steele: The Java Language Specification, 1996)
Syntyhistoriasta:
- James Gosling suunnitteli Oak-nimisen kielen alunperin ns. upotettujen
järjestelmien toteuttamiseen (kulutuselektroniikkaa varten!)
(Sun Microsystems inc.)(1991)
- Kieltä kehiteltiin useita vuosia (Ed Frank, Patrick Naughton,
Jonathan Payne, Chris Warth).
- Uudeksi sovellusalueeksi kielen kehittelyssä otettiin Internet ja
kieli nimettiin Javaksi. (Jaava on Indonesian pääsaari!
Jaavalainen kahvi on hyväksi tunnettua!)
- "The Java Language Specification" julkaistiin elokuussa 1996.
Perusominaisuuksia:
- C++:n (ja siis C:n) lauseet ja lausekkeet ("niiden hyvät puolet")
- olio-ohjelmointi: luokat, periytyminen, ilmentymät
(ei luokkien moniperiytymistä, mutta interface-moniperiytyminen)
- vahva tyypitys
- "kaikki määritelty"
- Unicode: mykistävä merkkivalikoima
- "pieni kieli": vähän varattuja sanoja ja syntaktisia rakenteita,
silti hyvin ilmaisuvoimainen
- poikkeusten käsittely
- rinnakkaisuus
- automaattinen roskienkeruu
- hyvin monipuoliset, täsmällisesti määritellyt kirjastot
(kaikille samat!); mm. graafinen käyttöliittymä, tietoliikenne
verkossa, ...
- pyrkimys toteutusriippumattomuuteen ja ohjelmien siirrettävyyteen
- välikielen käyttö (bytecode):
"käännetään missä käännetään, aina syntyy sama tulos",
"suoritetaan missä suoritetaan, seuraukset ovat aina samat"
(mutta ...)
- "kaiken täsmällinen määrittely": tietotyypit, kirjastot
- sovellusten (application) lisäksi kielellä tehdään sovelmia
(applet), joiden idea on:
- WWW-selain noutaa välikielisen ohjelmatiedoston palvelun
tarjoajan koneesta
- selaimeen sisäänrakennettu tulkki suorittaa välikielisen
ohjelman käyttäjän omassa koneessa
- järjestelmään liittyy tarkistus siitä, että sovelma ei
voi tehdä mitään, mikä vaarantaa sovelman käyttäjän
tietojen suojauksen (vielä on ongelmia!)
Tulevaisuuden visio(?):
- Ohjelman osat (luokkakirjastot) voivat sijaita missä vain
verkkomaailmassa. Kun jotain palvelua tarvitaan, se käydään hakemassa
sieltä, mistä se löytyy. Haettu ohjelma puolestaan voi hakea
muualta tarvitsemiaan osia, jne. Ohjelmia ei näin enää osteta
omaksi vaan niiden yhdestä käyttökerrasta maksetaan "verkkopennejä".
Takaisin sisällysluetteloon.
Java and all Java-based marks and logos are trademarks or registered
trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
University of Helsinki is independent of Sun Microsystems, Inc.