[Java]

Detta är Java!

Nykomling bland programmeringsspråken som redan erövrat världen.

[Java kaffe-bild]Java härleder sin historia tillbaka till ett projekt hos Sun Microsystems där man behövde ett enkelt, litet och hårdvaruoberoende programmeringsspråk för att programmera mikroprocessorer i flygplan, bilar, TV-apparater, tvättmaskiner, leksaker, osv. Året är 1991. Istället för att använda ett existerande språk konstruerade man ett nytt språk som emellertid fick låna många drag från befintliga språk, framför allt C/C++. Naturligt med tanke på att C/C++ var huvudspråket inom Sun.

Java är enklare och säkrare

Kritiken mot C++ har framför allt siktat in sig på att C++ släpar på mycket barlast från sina C-historia, att språket blivit alltför omfattande och komplext med multipla arv och ett otympligt och vildvuxet klassbibliotek, samt att den flitiga användningen av pekare är en viktig källa till programmeringsfel. Man beslöt därför att behålla grunddragen i C/C++, men rensade upp och "slimmade" språket. Syntaxen i Java är väldigt C/C++ lik men objektorienteringen är mer konsekvent genomförd än i C++. Alla egna datatyper är således objekt. Man tillåter enbart enkla arv för att behålla en överskådlig och stabil klasstruktur.

Typningen är starkare genomförd (en boolean är t ex inte ett tal). Alla pekare är avskaffade (man använder objekt istället) vilket eliminerar risken för minnessönderskrifter, och bortglömda minnesblock. Java har automatisk skräphantering ("garbage collection") som återlämnar minnesblock som inte längre används. Klassbiblioteket är helt nyskrivet och förenklat. Man har stora restriktioner ifråga om hårdvaruaccesser.

Java har slutligen en konsekvent undantagsbaserad felhantering och ett inbyggt, plattformsoberoende stöd för "trådar" i stil med Ada och Modula-2 (en automatiskt skapad tråd agerar renhållare och plockar upp och återanvänder oanvända minnesblock).

Internet och portabel bytekod

När Internet växte fram, där datorer med de mest skiftande hårdvara och operativsystem måste kunna kommunicera, upptäckte man snart att Java var som klippt och skuret för att skriva portabel kod som kunde överbrygga skillnaderna mellan hårdvaror och plattformar. Istället för att kompilera ända ner till maskinkod, valde man att producera ett slags kompakt mellankod, kallad "bytekod" för en tänkt Java Virtual Machine (JVM). Bytekoden tolkas i sin tur av en hårdvaru- och plattformsberoende interpretator (t ex inbyggd i en webläsare), alternativt kompileras till äkta maskinkod av en "just-in-time" kompilator.*

Utvecklingssystem

Vi talar nu om 1994 –95 då Java gjorde sin debut i offentlighetens ljus. 1994 släppte Sun sitt första öppna utvecklingssystem för Java, Hot Java, som fick en stor betydelse för att göra språket mer känt. Många andra intressenter kastade sig snabbt in i leken och annonserade egna utvecklingsmiljöer och klassbibliotek. Redan hösten 1995 annonserade Borland  sina planer på ett Javautvecklingssystem (kodnamn "Latté", senare döpt till Borland JBuilder) och Microsoft och Symantec lanserade sina första färdiga produkter under hösten 1996 (Visual J++ resp Visual Café). 

JBuilder, JDK och Java 2

Istället för att ge sig in i konkurrensen redan då, valde Borland emellertid att höja ribban för att i JBuilder få med den nya komponentstandarden, "JavaBeans", (till stor del utvecklad av Borland) och de nya klassbiblioteken som var på gång samt databashantering enligt JDBC-standarden. Sun offentliggjorde specifikationerna först i januari 1997 med sin nya Java Development Kit 1.1 (JDK, under åren har JDK förbättrats och är nu uppe i version 1.4, den version som också JBuilder 8 baseras på. Plattformen går under namnet Java 2.

Java är portabelt

Java konstruerades från början för att vara så hårdvaru- och plattformsoberoende som möjligt De flesta inom Javavärlden har också hållit denna fana högt och motstått försök att gifta bort Java med den ena eller andra plattformen. Slogan "100% pure Java" har Borland gjort till sin och garanterar att JBuilder skapar 100% ren Java 2-kod som är fullständigt portabel mellan plattformar. Även JBuilder självt är skrivet i Java och utvecklingsmiljön kan f n installeras under Windows, Linux, Solaris och Mac OS.

Portabel databashantering

Med JDBC ("Java DataBase Connectivity) standarden är det möjligt att accessa data i databaser på en rad olika format. Precis som med ODBC räcker det med att någon skapar en drivrutin efter JDBC-standarden anpassad till en viss databas. Till InterBase 6 från Borland finns  InterClient, som ger en direkt JDBC-koppling till InterBase. JavaSoft har en hemsida som listar tillgängliga JDBC-drivrutiner. I avsaknad av sådan kan man under tiden använda Suns generella JDBC-ODBC-brygga som gör det möjligt att utnyttja en befintlig ODBC-drivrutin tills äkta JDBC-drivrutiner finns framme. 

Applikationer och applets

Med Java kan du skapa fristående applikationer precis som i C/C++, Delphi eller Visual Basic. Med Borlands Enterprise Server (en utvecklingslicens ingår i JBuilder 8 Enterprise) kan man centralisera distribution av javaapplikationer i nätverk. Javaapplikationer kan köras på valfri plattform. Ingen browser behövs.

Du kan också skapa "miniapplikationer", s k "applets", som kan kopplas till hemsidor och laddas ner som bytekod över Internet och där exekveras av en javaktiverad webbläsare (NetScape, Internet Explorer, m  fl). Applets liknar Microsofts ActiveX-kontroller, men är plattformsoberoende och har av säkerhetsskäl större restriktioner på vad de får göra jämfört med ActiveX-kontroller.

J2SE, J2EE och J2ME

Java 2-plattformen finns i tre upplagor som skiljer sig något åt i API:er. 

J2SE står för "Java 2 Standard Edition", som kan användas i de flesta standardapplikationer. J2EE står för "Java 2 Enterprise Edition" och används vid serverbaserad Java-utveckling. J2ME står för "Java 2 Micro Edition" och används vid programmering av enklare, inbäddade system som mobiltelefoner, handdatorer, tvättmaskiner, etc. JBuilder Enterprise har stöd för J2SE, J2ME och J2EE.

Bli en "Mr Bean" du också - skapa JavaBeans

Slutligen baseras moderna Java-applikationer och applets sedan JDK 1.1 i allt högre grad på komponenter, s k "JavaBeans", vilket medger visuella utvecklingsmiljöer i stil med Visual Basics och Delphis. JBuilder är ett bra exempel på en sådan miljö. Komponentbaserad programmering är dagens och morgondagens programmeringsmodell. 

Komponenter är klasser som kan hanteras visuellt även under programdesign, som precis som andra klasser har metoder, men också egenskaper (properties) som kan tilldelas och avläsas, ofta redan i designläge. Komponenter kan reagera på händelser, t ex musklickningar, timers, tangenttryckningar, skärmuppdateringar, databasoperationer, etc. Komponentmodellen har också stöd för internationalisering av komponenter. Aktuell version i nov 2002 är JDK 1.4. JDK-standarden specificerar ett minimalt antal standardkomponenter. Borland har sedan lagt till sina egna komponenter i JBCL (Java Beans Class Library).


[Startmenyn][Nyheter][Programmenyn][Företag][Kurser]

www.databiten.se
© 1997-2013 DATABITEN AB
E-post