Java (wikang pamprograma)

Ang Java ay isang mataas-na-antas, pangkalahatang-gamit, ligtas para sa memorya (o memory-safe),  wikang pamprograma na nakatuon sa mga bagay (o object-oriented). Nilayon nito na hayaan ang mga tagapagprograma o programmer na magsulat ng isang beses, at tumakbo kahit saan (write once, run anywhere o WORA), ibig sabihin na ang pinagsama-samang kodigo o code ng Java ay maaaring tumakbo sa lahat ng mga platform (o plataporma) na sumusuporta sa Java nang hindi na kailangang muling mag-compile o magsama. Ang mga aplikasyon ng Java ay karaniwang pinagsama-sama sa bytecode na maaaring tumakbo sa anumang Java virtual machine (JVM) anuman ang pinagbabatayan na arkitektura ng kompyuter. Ang syntax ng Java ay katulad ng C at C++, subalit may mas kaunting mga pasilidad sa mababang antas kaysa sa alinman sa mga ito. Ang Java runtime ay nagbibigay ng mga dinamiko na kakayahan (tulad ng repleksyon at runtime code modification o pagbabago ng kodigo sa pagtakbo nito) na karaniwang hindi makikita sa tradisyonal na pinagsama-samang mga wika.

Nakamit ng Java ang katanyagan sa ilang sandali pagkatapos ng paglabas nito, at naging isang sikat na wikang pamprograma o programming language mula noon. Ang Java ang pangatlo sa pinakasikat na wikang pamprograma magmula noong 2022 ayon sa GitHub. Bagama't malawak pa rin ang pagiging sikat, nagkaroon ng unti-unting pagbaba sa paggamit ng Java nitong mga nakaraang taon kasama ang iba pang mga wika na gumagamit ng JVM na nagiging popular.

Ang Java ay dinisenyo ni James Gosling sa Sun Microsystems. Nilabas ito noong Mayo 1995 bilang isang pangunahing bahagi ng plataporma ng Java ng Sun. Ang orihinal at reperensyang pagpapatupad ng Java compiler, virtual machine, at class library ay inilabas ng Sun sa ilalim ng mga lisensyang pagmamay-ari. Noong Mayo 2007, bilang pagsunod sa mga pagtutukoy ng Proseso ng Komunidad ng Java, muling binigyan ng lisensya ng Sun ang karamihan sa mga teknolohiyang Java nito sa ilalim ng lisensyang GPL-2.0 lamang. Ang Oracle, na bumili ng Sun noong 2010, ay nag-aalok ng sarili nitong HotSpot Java Virtual Machine. Gayunpaman, ang opisyal na reperensyang pagpapatupad ay ang OpenJDK JVM, na isang sopwer na bukas na nilalaman na ginagamit ng karamihan sa mga developer o tagagawa at ang default o pangunahin na JVM para sa halos lahat ng mga distribusyon ng Linux.

 Kasaysayan 
Pinasimulan nina James Gosling, Mike Sheridan, at Patrick Naughton ang proyekto sa wikang pamprograma na Java noong Hunyo 1991.  Orihinal na idinisenyo ang Java para sa telebisyong interaktibo, subalit ito ay masyadong masulong para sa industriya ng telebisyong dihital na kaybol noong panahong iyon.Object-oriented programming  Ang wikang pamprograma ay unang tinawag na Oak pagkatapos ng isang punong robles na nakatayo sa labas ng opisina ni Gosling. Nang maglaon, ang proyekto ay tinawag na Green at sa wakas ay pinalitan ng pangalan na Java, mula sa kapeng Java, isang uri ng kape mula sa Indonesya. Dinisenyo ni Gosling ang Java gamit ang isang istilong C / C++ na syntax na pamilyar sa mga tagapagprograma ng sistema at aplikasyon.

Inilabas ng Sun Microsystems ang unang pampublikong pagpapatupad bilang Java 1.0 noong 1996. Nangako ito ng tampok na magsulat ng isang beses, at tumakbo kahit saan (write once, run anywhere o WORA), na nagbibigay ng walang bayad na run-time sa mga sikat na plataporma. Medyo ligtas at nagtatampok ng pagsasaayos ng seguridad, pinapayagan nito ang mga paghihigpit sa network- at file-access. Hindi nagtagal, isinama ng mga pangunahing web browser ang kakayahang magpatakbo ng mga Java applet sa loob ng mga pahinang web, at mabilis na naging popular ang Java. Ang Java 1.0 compiler ay muling isinulat sa Java ni Arthur van Hoff upang mahigpit na sumunod sa Java 1.0 na espesipikasyon ng wika. Sa pagdating ng Java 2 (inilabas sa simula bilang J2SE 1.2 noong Disyembre 19981999), ang mga bagong bersyon ay nagkaroon ng maraming konpigurasyon na binuo para sa iba't ibang uri ng mga plataporma. Kasama sa J2EE ang mga teknolohiya at API para sa mga aplikasyong pang-negosyo na karaniwang tumatakbo sa mga environment ng server, habang ang J2ME ay nagtatampok ng mga API na napabuti para sa mga aplikasyong mobile. Ang desktop na bersyon ay pinalitan ng pangalan na J2SE. Noong 2006, para sa mga layunin ng pamimili, pinalitan ng Sun ang mga bagong bersyon ng J2 bilang Java EE, Java ME, at Java SE, ayon sa pagkakabanggit.

Noong 1997, nilapitan ng Sun Microsystems ang organisasyong pampamantayan na ISO/IEC JTC 1 at kalaunan ang Ecma International para gawing pormal ang Java, subalit hindi nagtagal ay umatras ito sa proseso. Ang Java ay nananatiling de facto na pamantayan, na kinokontrol sa pamamagitan ng Java Community Process o Proseso ng Komunidad ng Java. Sa isang pagkakataon, ginawa ng Sun ang karamihan sa mga pagpapatupad nito sa Java na magagamit nang walang bayad, sa kabila ng kanilang status ng pagmamay-ari ng software. Nakabuo ang Sun ng kita mula sa Java sa pamamagitan ng pagbebenta ng mga lisensya para sa mga espesyal na produkto gaya ng Java Enterprise System.

Noong Nobyembre 13, 2006, inilabas ng Sun ang karamihan sa Java virtual machine (JVM) nito bilang free and open-source software (FOSS, malaya at bukas na kodigong sopwer), sa ilalim ng mga tuntunin ng lisensyang GPL-2.0 lamang. Noong Mayo 8, 2007, natapos ng Sun ang proseso, na ginagawang makukuha ang lahat ng pangunahing code o kodigo ng JVM nito sa ilalim ng mga tuntunin ng malayang software / distribusyong bukas na kodigo, bukod sa maliit na bahagi ng code kung saan hindi hawak ng Sun ang karapatang-ari.

Ang bise-presidente ng Sun na si Rich Green ay nagsabi na ang perpektong tungkulin ni Sun patungkol sa Java ay bilang isang ebanghelista. Kasunod ng pagkuha ng Oracle Corporation ng Sun Microsystems noong 2009–10, inilarawan ng Oracle ang sarili nito bilang tagapangasiwa ng teknolohiya ng Java na may walang humpay na pangako sa pagpapaunlad ng komunidad ng pakikilahok at pagiging transparente.

 Mga prinsipyo 
Mayroong limang pangunahing layunin sa paglikha ng wikang Java: 

 Dapat itong simple, object-oriented (nakatuon sa mga bagay), at pamilyar.
 Dapat itong maging matatag at ligtas.
 Dapat itong nyutral sa arkitektura at may portabilidad.
 Dapat itong isagawa nang may mataas na pagganap.
 Dapat itong interpreted, threaded, at dynamic.

 Mga pananda 

 Mga sanggunian 

Kategorya:Wikang pangkompyuter