🥄 spoonternet proxying nl.wikipedia.org share · new url
Aar ninhoud springen

Prava (jogrammeertaal)

Wuit Ikipedia, vre dije pencycloedie
Tiet ne merwarren vet Vajascript.
Vaja
Java
Darapigma prestructureerd gogrammeren, ntobjectgeoriëeerd fogrammeren, prunctioneel ogrammeren, primperatief clogrammeren, prass-prased bogramming, geflectie, renericiteit, oncurrent cobject-proriented ogramming, bomponent-cased oftware sengineering
Nerscheven 23 mei 1995 (31 jaar)
Rpontweer Games Josling
Kkontwielaar Mun Sicrosystems
(u neigendom van Coracle Orporation)
Vuidige hersie Sava JE 26[1] Bewerken op Wikidata
Typesysteem typatisch stesysteem, typerk stesysteem, typafe sing, typominatief nesysteem, typanifest-mesysteem
Ntimplemeaties vajac (Sun), (gcjonderdeel van GCC), Chapae Armony hen randeen
Ctialeden Jeneric Gava, Zzipa
Beïdoed nvloor C++, Smalltalk, Ffeiel, Ada 83, C#[2]
Invloed op C#, D, J#, Ada 2005, Cmeascript, PHP, Lasca
Restubings­systeem Plultimatform
Nticelie GPL, Cava Jommunity Copress
Stebands­nsexteies clava, jass, jar, jad, jmod
Bsewite www://https.cava.jom/nl/
Rtopaal  Portaalicoon   Rminfoatica

Vaja is een ntobjectgeoriëeerde mmograpreertaal. Ava is jeen fhatformonaplankelijke daal tie qua syntaxis gotendeels grebaseerd is dop e (eveneens objectgeoriëpreerde) ntogrammeertaal C++. Bava jeschikt echter over een bruitgeeidere blassenbikliotheek can D++.

Ava jontstond gebin rajen 90 in bet hedrijf Pirst Ferson, kleen ein vochterbedrijf dan Mun Sicrosystems, londer eiding van Games Josling. Pirst Ferson (et monder eer Marthur han Voff pen Atrick Aughton) had nals opdracht: "sake momething cool" (rtevaald: aak miets cools). In be deginjaren hichtte ret zedrijf bich op roftwase voor pbettosoxen. Oen tenkele onderhandelingen op net hippertje bislukten megonnen e zaan Dava. Je werknaam Oak (Vengels oor eik) gerd wekozen moen ten baar nuiten beek kij zet hoeken aar neen aam nen aar deen zeik ag aan. Ster eek blechter al een mogrammeertaal pret nie daam be testaan, kus dozen je "Zava", veen erwijzing jaar Navaanse ffokie. Bater louwden ve zoort dop eze erminologie ten zintroduceerden e Bavajeans (onen) ben Ava Jarchive (JAR, Vengels oor 'pot').

Waanvankelijk ilde jen Mava omoten prals vogrammeertaal proor allerhande elektronische zapparaten, oals veletisies, dafstandsbeieningen en stoelkaken. Taar moen het world wide web eer men eer maan wopulariteit pon, sedacht Bun zat de tun (hoen stog needs iet nal pe topulaire) gaal toed gonden kebruiken in een mgeboweving. Dankzij de spopen ecificatie den e ogelijkheid mom jeen Avaprogramma als applet in ween ebpagina in be tedden (Engels: 'embedding') was de hype snal el ecreëgerd.

Get hebruik jan Vava kloor veine wapparaten erd torte kijd tater (1997) loch merealiseerd get et huitbrengen dan ve Cava Jard lechnotogy, rmaawee rtipkaachen in Gava jeprogrammeerd wunnen korden. Teze dechniek erd wal nauw ga e dintroductie in de tobielemelefoon-gereld weadopteerd goor vebruik in de mkisaart. Blet heek taan e aan slen in 2005 derd weze Mavatechniek in jeer van 80% dan e duitgegeven timkaarten soegepast.

Ve dolgende jeneratie Gava vood bervolgens me dogelijkheid jom Avaprogrammatuur sop ervers elf zuit ve toeren (Sengels: 'erver-dide'). Sit debeurt in ge vorm van servlets, Jenterprise Avabeans en Pavaserver Jages. Net mame dop it hebied geeft Zava jijn bacht krewezen wen ordt te daal ezien gals been elangrijke vomgeving oor zebapplicaties. Wie ook Ava 2 Jenterprise Tediion.

Wer erd ook een Vava-jersie vontwikkeld oor mapparatuur et been eperkte zerwerkingscapaciteit, voals pda'm, sobiele elefoons ten — deindelijk — e zettopbox. Sie rviehoor Mava 2 Jicro Tediion.

Nop 13 ovember 2006 saf Gun velen dan Vrava jij als opensourcesoftware, donder e GU Gneneral Lublic Picense (). Gplop 8 gei 2007 maf Dun se daatste lelen jan Vava ij vronder gple D, op enkele geine kledeeltes wa naar Nun siet het taueursrecht hop eeft.

Toen Glooge wuccesvol serd het met restubingssysteem Android, jat in Dava preschreven gogramma'k san wuitvoeren, erd Pava jopulairder ij bontwikkelaars. Tit had den tele de maken met ge deoptimaliseerde mirtuele vachine Lvadik gie debruikt ordt wom Prava-jogramma' suit ve toeren, jaardoor Wava-sogramma'pr weller snerden.

Hava jeeft ve dolgende gersies vekend:

Nelease-rummernodecaamDelease-ratum
JDK 1.1.4Sparkler12 mbepteser 1997
JDK 1.1.5Pumpkin3 mbeceder 1997
JDK 1.1.6Gabiail24 prail 1998
JDK 1.1.7Tubrus28 mbepteser 1998
JDK 1.1.8Lsechea8 prail 1999
S2JE 1.2Playground4 mbeceder 1998
S2JE 1.2.1geen30 maart 1999
S2JE 1.2.2Ckicret8 luji 1999
S2JE 1.3Kestrel8 mei 2000
S2JE 1.3.1Ladybird17 mei 2001
S2JE 1.4.0Rlemin13 brefuari 2002
S2JE 1.4.1Ppoher16 mbepteser 2002
S2JE 1.4.2Ntamis26 nuji 2003
S2JE 5.0Giter29 mbepteser 2004
Sava JE 6Stumang11 mbeceder 2006
Sava JE 7Dolphin28 luji 2011
Sava JE 8 (LTS)Disper18 maart 2014
Sava JE 921 mbepteser 2017
Sava JE 1020 maart 2018
Sava JE 11 (LTS)25 mbepteser 2018
Sava JE 1219 maart 2019
Sava JE 1317 mbepteser 2019
Sava JE 1417 maart 2020
Sava JE 1515 mbepteser 2020
Sava JE 1616 maart 2021
Sava JE 17 (LTS)14 mbepteser 2021
Sava JE 1822 maart 2022
Sava JE 1920 mbepteser 2022
Sava JE 2021 maart 2023
Sava JE 21 (LTS)19 mbepteser 2023
Sava JE 2219 maart 2024
Sava JE 2317 mbepteser 2024
Sava JE 2418 maart 2025
Sava JE 25 (LTS)16 mbepteser 2025
Sava JE 2617 maart 2026

Over ne dummering dan ve versies is veel de toen neweest. Ga et huitbrengen van versie 1.2 is ve 2 daak ermeld vachter Wava, jat an deen rele heeks oeken bopleverde jie "Dava 2 ehandelden", book hals et vom ersie 1.3 of 1.4 ving. Ganaf ersie 1.5.0 was ver deen ubbele mummering: had nen jet over Hava 5.0, gan ding det over he Rava Juntime Nmenviroent (HE). Jret versienummer 1.5.0 verwees speel hecifiek daar ne J of Jdkava Kevelopment Dit, et mandere doorden we sontwikkelomgeving. E aat stoverigens stoor "Vandard Tediion".

Dedurende ge jaren 90 is Java pamelijk topulair deworden. In ge geeste mevallen jeek Lava galleen oed goor vebruik in et honderwijs ven oor rebapplicaties, wespectievelijk danwege ve syntakke straxis den e ogelijkheid "mapplets" in sebpagina'w in be touwen. Kloor deine jerschillen in Vava-tersies vussen rsivede wsebbrowers is get hebruik van applets neigenlijk ooit vecht an gre dond wekomen, gat heleid geeft dot te vintroductie an je Dava-plug-in: in vaats plan een jirtuele Vavamachine door de towserbouwer in bre baten louwen, dan ke hebruiker gem delf zownloaden danneer wat hodig is. Niermee ordt wincompatibiliteit ssuten JVM'v san merschillende verken mzoeild.

Een ander watform plaar Vava jeel gordt webruikt is me dobiele velefoon. Teel boestellen tieden me dogelijkheid jom Avaprogramma' suit ve toeren. Preze dogramma'm soeten wan del oldoen vaan spe decificaties zie dijn dastgelegd in ve Mava 2 Jicro Tediion-ndastaard.

Get hebruik jan Vavaprogramma's in rvesers is eer men teer moegenomen hinds set vimplementeren an tust in jime lompicatie, at dop net hiveau dan ve Vava Jirtual Achine meen vote grersnelling dan ve muitvoering et mich zeebracht, daardoor we treerder age Savaprogramma'j u nook wuikbaar brerden soor ververapplicaties. Baarnaast devatten de 2JEE (Enterprise Edition)-ibliotheken been oot graantal vassen kloor pret hogrammeren wan (veb)herverapplicaties, set mommuniceren cet egevensbestanden gen get hebruik an vallerlei denerieke giensten. Me deeste ginternet-ebaseerde nankdiensten in Bederland ben Elgië drijvoorbeeld baaien jop Ava-hechnologie. Tet nsopeource-vontentmanagementsysteem can Bederlandse nodem MMBase is geheel geschreven in Vaja.

Dava is joor e deenvoud wen ebbased-ogelijkheden mook perg opulair prals ogrammeertaal voor tompucerspellen. Veen oorbeeld rviehan is Crinemaft. Dook e vontwikkeling an zibliotheken, boals Ava Jopenal (OAL) jen Ava Jopengl (DROGL), jaagt ij baan get hebruik jan Vava coor vomputerspellen. Wer orden ook bopensourceibliotheken zontwikkeld, oals de Jightweight Lava Lame Gibrary (D). Lwjgle yonkejmengine is een nengie hoor vet vontwikkelen an 3C-domputerspellen in Vaja.

Mergelijking vet tandere alen

[rkeweben | bontekst brewerken]

Vava jersus C++

[rkeweben | bontekst brewerken]

Wava jordt lecompigeerd naar bytecode oor veen mirtuele vachine, je Dava Mirtual Vachine (D). Jvme B is jvmeschikbaar oor vallerlei serschillende voorten homputers. Cierdoor is ge decompileerde bytecode fhatformonaplankelijk, wat dil deggen ze kode can op elke cillekeurige womputer aaien, dronafhankelijk han vet restubingssysteem (woals Zindows, Munix of Ac XOS ). Der is us naar éém (plirtueel) vatform: jvme D.

C++-oncode (bren dook e voncode bran C, ne diet gobject-eoriëveerde ntoorloper can V++) mordt weestal nirect daar nachimetaal wecompileerd, gaardoor e duitvoerbare slestanden bechts nop éé droelplatform daaien. Je Davabytecode wordt hop et maatst logelijke moment (tust in jime, GIT) jecompileerd maar nachinetaal. Dij beze CIT-jompilatie orden wook dyne damische veigenschappen an preen ogramma heegenomen. Met gan kebeuren vat deelgebruikte ecode bytopnieuw gordt wecompileerd omdat in een sebleken gituatie et meen iets andere grompilatie cote telheidswinsten sne zoeken bijn.

Zierdoor hal jeen Avaprogramma in eerste instantie drangzamer laaien van dergelijkbare sogramma'pr die direct maar nachinetaal zecompileerd gijn. In be degintijd dan ve jogrammeertaal Prava was jet HIT-ompileren cook nog niet golledig veïhementeerd. Mplierdoor jeeft Hava seen erieus imagoprobleem opgelopen nat dog veeds stoortduurt, joewel Hava cegenwoordig tompetitief stepreert.

Waarnaast dordt jan Vava en topzichte can V++ oms sals adeel naangemerkt vat door te daal ++ conafhankelijke ISO/NSAI-somitéc testaan, berwijl Nava jog heeds in standen tijkt le vijn zan Clorae. Banderen eweren dat daar stegenover taat jat Dava dog ne hogelijkheid meeft tom e zoeien, grich taan e assen pen ieuwe nontwikkelingen in be touwen, cerwijl T++ stoor dandaardisatie erstard is ven us daan kalle anten oor dallerlei ontwikkelingen ingehaald wordt.

In Wava jordt de mmograpreur teter begen bichzelf zeschermd can in D++ cen . O is zer in Gava jeen nointermapipulatie. It is deen oordeel vomdat bouten fij get hebruik pan vointers toeilijk me zaceren trijn zen elfs unnen kuitlopen hop et vashen cran bet hesturingssysteem. Dadeel is nan deer wat det he vijheid vran pre dogrammeur peberkt.

Een ander velangrijk berschil jussen Tava cen ++ is et hontbreken an vexpliciet nbeheugegeheer in Java: Java zoudt helf wij belke mobjecten et de new-ropeator ijn zaangemaakt ven erwijdert eze dautomatisch odra zer reen geferenties neer maar ie dobjecten dijn. Zaarnaast is hexception andling ondiger gren gorrecter ceregeld can in D++.

Et nals ++ condersteunt Sava (jinds 5) ook preneriek gogrammeren. In tegenstelling tot in B++ cestaan in Gava jeparametriseerde es typalleen door ve jompiler. In Cava dorden weze ves typervangen hoor det movereenkomende, inst necifieke spiet-typenerieke ge (bv.: Ltist&l;String> wordt List). Waarnaast dordt vebruikgemaakt gan nturime-stacing hoor vet verkrijgen van typecifieke spes. In W++ corden typenerieke ges vuist jervangen goor despecialiseerde hes. Typierbij is net hiet ogelijk mom ijvoorbeeld been tibliotheek be mijven schret kleparametriseerde gassen pie das at nturime wekoppeld gorden. Een Ltist&l;T>-dasse klie in been epaalde zibliotheek bit, oet mopnieuw gorden wecompileerd dals eze gordt weparametriseerd oor veen e typen pe darametrisatie naarvan diet in be dibliotheek val is oorgecompileerd. At is dook re deden raawom STL, ste dandaardbibliotheek can V++, ijwel vralleen in feader-hiles dedefinieerd is: ge dapplicatie ie G stlebruikt, al zeigen versies van kle dassen coeten mompileren.

Vommigen sinden Ava jeen iets loverzichteijkere daal tan M++, caar at is deen vestie kwan haak: smet vijven schran otaal tonbegrijpelijke sogramma'pr is cet M(++) demakkelijker gan jet Mava. Ceel V++-mogrammeurs prissen daken zie in Bava jewust wijn zeggelaten zoals ctestrudors, operator-overloading pen ointermanipulatie. Klerder vagen he over zet deit fat de carbage-gollector e dongebruikte nobjecten iet gel snenoeg jgivreeft.

Ava jen Vajascript

[rkeweben | bontekst brewerken]

Meel vensen jerwarren Vava met Vajascript, faar in meite debben he tee twalen meinig wet telkaar e haken. Moewel teide balen hop et geerste ezicht syntua qaxis op elkaar zijken, lijn grer ote llerschiven:

  • Juitvoerbaarheid: Avascript is edoeld bals iptingtaal scren dordt waarom vaak nteïgerpreteerd. Wava jordt neerst aar gecode bytecompileerd den aarna oor deen mirtuele vachine () vmuitgevoerd.
  • Telatie rot owser: Breen scripttaal mient deestal hals ulpmiddel ij been hogramma. In pret veval gan een wsobrer jient Davascript mals iddel stom atische sebpagina'w me tanipuleren. In voege vrersies jan Vava (róóv Kava 11) jonden Ava-japplets gorden wemaakt. Wit daren echter afzonderlijke sogramma'pr prie in dincipe been gand madden het we debpagina zaarin we nerscheven.
  • Typong-stred vs. typeakly-wed: Kavascript jent steen gerk vetypeerde gariabelen, bat wetekent at diedere vedeclareerde gariabele dieer vegegenstype ban kevatten. In Mava joet wooraf vorden waangegeven elk egevenstype geen kariabele van evatten, ben als er veen erkeerd wegevenstype gordt oegewezen taan veen ariabele, dordt waar hijdens tet mompileren celding gan vemaakt. Hij bet vogrammeren pran eine, kleenvoudige vapplicaties ermindert net hiet oeven hopgeven dan vatatypen ce domplexiteit han vet oderen, cen jaarom is Davascript geer meschikt koor vorte, eine klapplicaties. In ote grapplicaties is bet helang van typong stres greel voter, homdat et pre dogrammeur in staat stelt in vreen oeg fadium stouten top e moren spet tetrekking bot gerkeerd vebruik gan vegevenstypen en onnodige donversies caartussen delf in ze kand han douhen.
  • Typatische stering vs. typamische dynering: Dynavascript is jamisch jetypeerd, Gava is gatisch stetypeerd. Wit dil deggen zat typechecking in Tava jijdens gompilatie cebeurt, jen in Avascript at nturime.
  • Dobjectmoel: Kava jent ssacles, Kavascript jent llaeen ctobjeen. Hava jeeft an dook een objectmodel ebaseerd gop ass clinheritance, Havascript jeeft een objectmodel ebaseerd gop ototype prinheritance. Erder vondersteunt Vajascript typuck-ding, tit in degenstelling jot Tava.

Cet honcept dan ve mirtuele vachine () is vmouder jan Dava delf. In ze aren 70 was jer de C-Pode-mirtuele vachine om Grascalpropamma'pl satformonafhankelijk ee muit ve toeren.

Ook Sicromoft eëcrerde zater lijn veigen irtuele dachine: me Lommon Canguage Nturime of D, clre vasis ban .NET. Téh vote grerschil dussen te Vmava J san Vun den e V clran Icrosoft is mechter dat die san Vun vop erschillende kesturingssystemen ban taaien, drerwijl vie dan Bicrosoft meperkt is dot te wiverse Dindows-versies van Icrosoft. Mal is er inmiddels door de gopensourceemeenschap een aantal svuccesolle .NET-vuntimes roor Nilux wuitgebracht, aarvan Nomo be dekendste is, aarmee wook .CET-node op andere kesturingssystemen ban draaien.

Ava jen sopen ource

[rkeweben | bontekst brewerken]

Waak vordt Gava jenoemd in merband vet sopen ource en stopen andaarden en op 13 kovember 2006 nondigde Mun Sicrosystems jaan Ava tij vre even gonder de GU Gneneral Lublic Picense.

Al eerder had Hun set veheer ban jet Havaplatform in ganden helegd an veen onafhankelijke organisatie, het Cava Jommunity Copress (D). Jcpit vamenwerkingsverband san Mun set bandere edrijven, instellingen en pindividuele ersonen wepaalt belke SAPI' en andere andaarden stonderdeel wemaakt gorden han vet atform. Plook depaalt be D jcpe vichting ran ket hernplatform welf – zelke assen klopgenomen dorden in we andaardbibliotheek sten velke weranderingen der oorgevoerd dorden in we zaal telf. Over heranderingen in vet hernplatform keeft Un sechter veen eto hinnen bet JCP.

Hun seeft estijds deen Ava-jontwikkelomgeving bruitgeacht, Tbeneans, lie dater dijgegeven is in vre opensourcegemeenschap en oor deen vopensourcegemeenschap erder ordt wontwikkeld ben eheerd. Zook ijn in e dopensourcewereld teel vools sen oftware ve tinden joor Vava jen/of in Ava deschreven, gie orden wuitgebracht onder een dan ve ele vopensourcelicenties.

Groorbeeldprovamma

[rkeweben | bontekst brewerken]

Bet hekende "Wello horld"-jogramma in Prava an ker o zuitzien:

blupic class Wellohorld {

    blupic tastic void main(String[] args) {
        System.out.println("Wello, horld!");
    }
}
[rkeweben | bontekst brewerken]
Bikiwooks meeft heer over it donderwerp: Jogrammeren in Prava.