Lidt om java og mig

2010
03.22

Lidt om Java og mig

Lidt om Java

Selve sproget Java og platformen, blev skabt af James Gosling i juni 1991, til brug i et af hans mange set-top boks projekter. Sproget blev indledningsvis døbt Oak, efter et egetræ, der stod udenfor Gosling’s kontor – men gik også under navnet Green. Det endte dog med at blive omdøbt til Java, taget fra en liste med tilfældige ord. Hans mål var at implementere en virtuel maskine og et sprog der havde en C/C++ agtig notation.

Den første implementation, tilgængelig for offentligheden, var Java 1.0 i 1995 og lovede “Write Once, Run Anywhere” (WORA) – på dansk betyder det at du kun skal skrive og oversætte programmet engang for at kunne køre det på alle de mest populære platforme. Sikkerheden fin og rimelig konfigurerbar – der var for eksempel mulighed for at lukke for adgang til netværk og filer. De større hjemmesidelæsere fik hurtigt understøttelse for, sikkert at kunne at afvikle Java applets, indlejret i hjemmesider. Java blev meget hurtigt populært.

Da Java 2 kom til verden, blev Java splittet op i tre forskellelige platforme :

  • Java 2 EE (Enterprise Edition) til enterprise applikationer, med stor fokus på netværk
  • Java 2 SE (Standard Edition) den normale, som de fleste almindelige dødelige kender
  • Java 2 ME (Mobile Edition) til mobile enheder

I 2006 blev de omdøbt til henholdsvis Java EE, Jave SE og Jave ME – af marketingsårsager.

Selve Javasproget ligger syntaksmæssigt tæt på sprogene C og C++, men har en mere enkel objektmodel og betydeligt færre “low-level” funktionaliteter. Java-programmer oversættes typisk ikke til maskinkode, men derimod til såkaldt bytecode, der kan afvikles i enhver Java virtuel maskine (JVM) uafhængigt af den underlæggende maskinarkitektur.

Den originale referenceimplementation af Java oversættere, virtuelle maskiner og klassebiblioteker blev udviklet fra 1995.  I maj 2007 frigav SUN de fleste af deres Java-teknologier, under GNU (General Public License) licensen, som en del af Java Community processen. Idag er det stadig SUN (Oracle/SUN) der kontrollerer udviklingen og dermed retningen af Javas fremtid. Den frie Java implementation benyttes som udgangspunkt for deres egne produkter, ligesom de senere også har indført med kontorpakken OpenOffice og styresystemet OpenSolaris.

Der findes naturligvis alternative implementationer, såsom GNU Compiler for Java, GNU Classpath og på Maemo-platformen Jalimo. Mobilstyresystemet Android benytter ligeledes på programsiden primært den egenudviklede virtuelle maskine Dalvik, der er baseret på Java-Enterprise Edition.

Java og mig


Tilbage i år 2000 blev jeg introduceret til Java igennem at valgfagskursus på Niels Brock. Det involverede ikke rigtigt nogen form for programmering – kun let teori. Det var dog alligevel nok til at jeg blev lidt interesseret. Dengang var det ganske små projekter og jeg benyttede  MED (Former Mr Ed) editoren, der lige havde en basal form for projekthåndtering. Det var tilbage i de dage hvor der stadig blev udviklet på OS/2-versionen.

I forbindelse med Java-udvikling kommerman ikke ret langt, hvis ens udviklingsmiljø ikke har en elelr anden form for projekthåndtering, da hver klasse traditionelt lægges i en seperat fil. Jeg fik derfor hurtigt brug for en rigtig IDE. Først prøvede jeg Netbeans, som jeg slet ikke kunne med og IBMs Eclipse var ikke meget bedre. Da jeg fandt jEdit begyndte det at ligne noget – men der manglede stadig en del af den funktionalitet jeg ledte efter. Det endte dog med at jeg i et stykke tid benyttede jEdit til det meste.

For ikke så længe siden blev jeg i forbindelse med studiet genforenet med Netbeans. Denne gang med lidt vejledning fra en hjælpelærer (TA). Snart var jeg istand til at skabe den første klasse, uden at Netbeans forsøgte at begå selvmord og lærte snart at holde af den sære fætter, som jeg idag har installeret på både bærbar og stationær. Igennem sine plugin-udvidelser er Netbeans vanvittigt alsidig og danner for eksempel base for SUN Studio One IDE’en.

Projekt-side, inklusiv Java-projekter

Your Reply

Time limit is exhausted. Please reload CAPTCHA.