Here naverokê

Java (zimanê bernamesaziyê)

Ji Wîkîpediya, ensîklopediya azad.
(Ji Java hat beralîkirin)
Java
ParadîgmaMulti-paradigm: generic, object-oriented (class-based), imperative, reflective
Designed byJames Gosling
DeveloperOracle Corporation et al.
Herî pêşî derket23 gulanê 1995 (berî 29 salan) (1995-05-23)[1]
Versiyona herî nû
Java SE 19 / 20 îlonê 2022 (berî 2 salan) (2022-09-20)
Sîstema cûreyanDi cihê xwe de, biqewet, safe, nominative, manifest
Xilasiyên fayl.java, .class, .jar
Malperoracle.com/java/
Fikir stand ji
CLU,[2] Simula67,[2] LISP,[2] SmallTalk,[2] Ada 83, C++,[3] C#,[4] Eiffel,[5] Mesa,[6] Modula-3,[7] Oberon,[8] Objective-C,[9] UCSD Pascal,[10][11] Object Pascal[12]
Fikir da
Ada 2005, BeanShell, C#, Chapel,[13] Clojure, ECMAScript, Fantom, Gambas,[14] Groovy, Hack,[15] Haxe, J#, Kotlin, PHP, Python, Scala, Seed7, Vala, JavaScript
biguhêreBelge

Java zimanekî bernamekirinê ye ku di 25ê gulana sala 1995an de hate çêkirin. Bernameyên ku bi Java hatine nivîsandin karin li gelek deveran bê guhartin bişuxilin. Gelek tiştên di Java de ji C hatine deqene însan karibin hêsanîtir wê bi'elimin. Java di dinyayê de zimanê bernamekirinê yê herî naskirî ye.

Duke
James Gosling, ê ku Java çêkiriye (sala 2008)

James Gosling, Mike Sheridan û Patrick Naughton di hezîrana 1991 de projeya zimanê Java dest pê kirin.[16] Di pêşiyê de Java ji bo televizyonên înteraktîv hatibû çêkirin, lê ji bo televizyonên wî wextî gelekî pêşketî bû.[17] Navê Java ji qehwa Javayê tê, qehwa ji Îndonezya.[18] Gosling Java bi sentaksek şêweya C/C ++ dîzayn kir deqena bernamekerên pergal û sepanan kodê nas bikin.

Sun Microsystems di sala 1996an de versiyona pêşî ya gelemperî wekî Java 1.0 derxist. Java bi sûnda "carekê binivîse, li her deverî bişuxilîne" (WORA) hat, û bi programên belaş ji bonî platformên popûler jî hat. Di gerokên webê yên mezin di wextekî nêzîk de xebitandina appletên Javayê di rûpelên webê de mimkin bû û Java zûka popûler bû. Kompîlera Java 1.0 ji bo ku li gorî taybetmendiya zimanê Java 1.0 bi cih bîne ji aliyê Arthur van Hoff ve bi Java dîsa hate nivîsandin. Bi hatina Java 2yê (di kanûna pêşîn a 1998-1999an de wek J2SE 1.2 hat weşandin), di versionyên nû de ji bo platformên cuda gelek konfîgurasyon hebûn. J2EE, ji bo sepanên saziyan teknolojî û APIyên ku bi gelemperî di hawirên rajekar de dixebitin jî di nav xwe de dihewîne, J2ME jî ji bo sepanên mobîlê hatibû optîmîzekirin. Guhertoya sermaseyê navê J2SEyê guherand. Di sala 2006an da, ji bo armancên bazarkariyê, Sunê guhertoyên J2yê yên nû wek Java EE, Java ME û Java SE bi nav kir.

Di sala 1997an da, Sun Microsystems ji bo fermîkirina Javayê, beşdarî standartên ISO/IEC JTC 1ê û paşê jî Egma Înternatîonal bû, lê di demeke kurt de ji van beşdarî yan vekişî. Java wek standardeke de facto ma û bi pêvajoya Civata Javayê hate kontrolkirin. Di carekê da, tevî rewşa nermalavê ya xwediyê wê, Sun piraniya sepanên Javayê belaş peyda kir. Sun bi firotina lîsansên ji bo berhemên taybet ên wekî Java Enterprise System, ji Javayê dahata xwe bidest dixist.

Sun, di 13ê mijdara 2006an de, di çarçoveya lîsansa GPL-2.0ê de, gelek makîneya xwe ya ferazî ya Javayê (JVM) wek nermalava bêpere û çavkaniya vekirî (FOSS) derxist. Di 8ê gulana 2007an de ev pêvajo qeda, ji xeynî pareke biçûk a kodê ya ku Sunê mafê wê nedigirt, hemû kodên bingehîn ên JVMyê di bin şertên belavkirina nermalava serbest û çavkaniya vekirî de hatin derxistin.[19]

Ji Java 9 pêve, her sal 2 versiyon têne derxistin. Yek di adarê de û yek di îlonê de. Piştevaniya versiyonê li gora şîrketa ku wê derdixê tê guhertin. Li xwar me ên OpenJDKê lîste kirine. Piştî ku piştevanî xilas dibê (6 heyv ji xeynî ên bi piştevaniya dirêj), nûkirin hew ji wê versiyonê re tên û problem hew têne edilandin. Lê ferqên di neqeba versiyonan de hingî kêm in, gelekî hêsanî ye yek Javaya xwe nû bike. Ên ku li ser Javayê dişuxilin nûkirinê gelekî pêşniyar dikin û ji xeynî şîrketên mezin, gelek kes ne hewce ne eleqê xwe ji piştevaniya dirêj bînin.

Versiyon Dîrok Rewşa rojane
JDK Beta 1995  Versiyona bê piştevanî
JDK 1.0 23ê kanûna paşîna 1996  Versiyona bê piştevanî
JDK 1.1 19ê sibata 1997  Versiyona bê piştevanî
J2SE 1.2 8ê kanûna pêşîna 1998  Versiyona bê piştevanî
J2SE 1.3 8ê gulana 2000  Versiyona bê piştevanî
J2SE 1.4 6ê sibata 2002  Versiyona bê piştevanî
J2SE 5.0 30ê îlona 2004  Versiyona bê piştevanî
Java SE 6 11ê kanûna pêşîna 2006  Versiyona bê piştevanî
Java SE 7 28ê temûza 2011  Versiyona bê piştevanî
Java SE 8 18ê adara 2014  Versiyona bi piştevaniya dirêj
Java SE 9 21ê îlona 2017  Versiyona bê piştevanî
Java SE 10 20ê adara 2018  Versiyona bê piştevanî
Java SE 11 25ê îlona 2018  Versiyona bi piştevaniya dirêj
Java SE 12 19ê adara 2019  Versiyona bê piştevanî
Java SE 13 17ê îlona 2019  Versiyona bê piştevanî
Java SE 14 17ê adara 2020  Versiyona bê piştevanî
Java SE 15 15ê îlona 2020  Versiyona bê piştevanî
Java SE 16 16ê adara 2021  Versiyona bê piştevanî
Java SE 17 14ê êlûna 2021  Versiyona bi piştevaniya dirêj
Java SE 18 22ê adara 2022  Versiyona bê piştevanî
Java SE 19 20ê îlona 2022  Versiyona bê piştevanî
Java SE 20 21ê adara 2023  Versiyona bê piştevanî
Java SE 21 19ê êlûna 2023  Versiyona bi piştevanî
  • Java Card - Ji bonî qertên jêhatî. Ev di milyaran qertên SIM, qertên benqê û tiştên bi wî şiklî de heye.[20]
  • Java ME - Ji bonî telefonên berê. Hew tê bikaranîn, lê di wextê xwe de di hema bêje hemû telefonan de hebû.[21]
  • Java SE - Javaya normal ku di hema bêje hemû programên Javayê de tê şuxilandin.[22]
  • Jakarta EE - Kitêbxanên "ji bonî şîrketan" ji bonî Javayê. Berê navê wê Java EE bû û weşaneke bixwe bû. Lê vêce tenê komeke kitêbxanan e û derveyî Java bixwe tê weşandin.[23]

Di Blu-rayê de jî Java tê bikaranîn, jê re "BD-J" (Blu-ray Disc Java) tê gotin û ew şiklekî Java MEyê ye. Ji bernameyên BD-Jyê re "Xlet" tê gotin, di wana de gelek tiştên weke menûyên neqandinê, pişkok û nivîs karin hebin.

Şiklê şuxilandinê

[biguhêre | çavkaniyê biguhêre]

Java Virtual Machine (JVM) û bytecode

[biguhêre | çavkaniyê biguhêre]

Yek ji hedefên Javayê ew e ko bihêle bername di hemû sîsteman de bişuxilin, yanî divê bernameke Javayê di her sîstemî de bi eynî şiklî û xurt bişuxilê. Şiklê ku ev pê çêdibe ew e bê pêşî koda bernameyê tê xistin bytecode, ev şiklekî weke bernamekê ku tenê programa Java dikare bixwêne ye. Dûvre jî programa Javayê ji bonî her sîstemî tê çêkirin, û program bytecodê dixwêne û dixe koda ji bonî wê kompûterê û dişuxilîne.

Gelek tiştên rêzimana Java ji C++ û C tên, ji vê malbata zimanên programkirinê re "C-family" tê gotin.

Nimûna "Merheba, dinya!"

[biguhêre | çavkaniyê biguhêre]
public class Bername {
	public static void main(String[] args) {
		System.out.println("Merheba, dinya!");
	}
}

Divê navê hemû faylên çavkaniyê (source code) eynî weke navê klasa xuyakirî (public class) be û nav bi ".java" re xilas bibe. Wextê ku programek tê xistin bytecode, navê wê bi ".class" xilas dibê. Di her fayla Javayê de tenê yek klasa xuyakirî çêdibe hebê, lê tê de gelek klasên veşartî yan jî klasên di bin ya xuyakirî de çêdibin hebin.

  1. ^ Binstock, Andrew (20 gulan 2015). "Java's 20 Years of Innovation". Forbes. Ji orîjînalê di 14 adar 2016 de hat arşîvkirin. Roja gihiştinê 18 adar 2016.
  2. ^ a b c d Barbara Liskov with John Guttag (2000). Program Development in Java - Abstraction, Specification, and Object-Oriented Design. USA, Addison Wesley. ISBN 9780201657685.
  3. ^ Chaudhary, Harry H. (28 tîrmeh 2014). "Cracking The Java Programming Interview :: 2000+ Java Interview Que/Ans". Roja gihiştinê 29 gulan 2016.
  4. ^ Java 5.0 added several new language features (the enhanced for loop, autoboxing, varargs and annotations), after they were introduced in the similar (and competing) C# language. [1] Girêdana arşîvê adar 19, 2011, li ser Wayback Machine [2] Girêdana arşîvê kanûna paşîn 7, 2006, li ser Wayback Machine
  5. ^ Gosling, James; McGilton, Henry (gulan 1996). "The Java Language Environment". Ji orîjînalê di 6 gulan 2014 de hat arşîvkirin. Roja gihiştinê 6 gulan 2014.
  6. ^ Gosling, James; Joy, Bill; Steele, Guy; Bracha, Gilad. "The Java Language Specification, 2nd Edition". Ji orîjînalê di 5 tebax 2011 de hat arşîvkirin. Roja gihiştinê 8 sibat 2008.
  7. ^ "The A-Z of Programming Languages: Modula-3". Computerworld.com.au. Ji orîjînalê di 5 kanûna paşîn 2009 de hat arşîvkirin. Roja gihiştinê 9 hezîran 2010.
  8. ^ Niklaus Wirth stated on a number of public occasions, e.g. in a lecture at the Polytechnic Museum, Moscow in September 2005 (several independent first-hand accounts in Russian exist, e.g. one with an audio recording: Filippova, Elena (22 îlon 2005). "Niklaus Wirth's lecture at the Polytechnic Museum in Moscow". Ji orîjînalê di 1 kanûna pêşîn 2020 de hat arşîvkirin. Roja gihiştinê 7 hezîran 2020.), that the Sun Java design team licensed the Oberon compiler sources a number of years prior to the release of Java and examined it: a (relative) compactness, type safety, garbage collection, no multiple inheritance for classes – all these key overall design features are shared by Java and Oberon.
  9. ^ Patrick Naughton cites Objective-C as a strong influence on the design of the Java programming language, stating that notable direct derivatives include Java interfaces (derived from Objective-C's protocol) and primitive wrapper classes. [3] Girêdana arşîvê tîrmeh 13, 2011, li ser Wayback Machine
  10. ^ TechMetrix Research (1999). "History of Java" (PDF). Java Application Servers Report. Ji orîjînalê (PDF) di 29 kanûna pêşîn 2010 de hat arşîvkirin. The project went ahead under the name green and the language was based on an old model of UCSD Pascal, which makes it possible to generate interpretive code.
  11. ^ "A Conversation with James Gosling – ACM Queue". Queue.acm.org. 31 tebax 2004. Ji orîjînalê di 16 tîrmeh 2015 de hat arşîvkirin. Roja gihiştinê 9 hezîran 2010.
  12. ^ In the summer of 1996, Sun was designing the precursor to what is now the event model of the AWT and the JavaBeans component architecture. Borland contributed greatly to this process. We looked very carefully at Delphi Object Pascal and built a working prototype of bound method references in order to understand their interaction with the Java programming language and its APIs.White Paper About Microsoft's Delegates
  13. ^ "Chapel spec (Acknowledgements)" (PDF). Cray Inc. 1 çiriya pêşîn 2015. Ji orîjînalê di 5 sibat 2016 de hat arşîvkirin (PDF). Roja gihiştinê 14 kanûna paşîn 2016.
  14. ^ "Gambas Documentation Introduction". Gambas Website. Ji orîjînalê di 9 çiriya pêşîn 2017 de hat arşîvkirin. Roja gihiştinê 9 çiriya pêşîn 2017.
  15. ^ "Facebook Q&A: Hack brings static typing to PHP world". InfoWorld. 26 adar 2014. Ji orîjînalê di 13 sibat 2015 de hat arşîvkirin. Roja gihiştinê 11 kanûna paşîn 2015.
  16. ^ Byous, Jon (c. 1998). "Java technology: The early years". Sun Developer Network. Sun Microsystems. Ji orîjînalê di 20 nîsan 2005 de hat arşîvkirin. Roja gihiştinê 22 nîsan 2005.
  17. ^ Object-oriented programming "The History of Java Technology". Sun Developer Network. c. 1995. Ji orîjînalê di 10 sibat 2010 de hat arşîvkirin. Roja gihiştinê 30 nîsan 2010.
  18. ^ Murphy, Kieron (4 çiriya pêşîn 1996). "So why did they decide to call it Java?". JavaWorld. Roja gihiştinê 13 tîrmeh 2020.
  19. ^ "GrnLight.net - JAVAONE : Sun: The bulk of Java is open sourced". web.archive.org. 27 gulan 2014. Ji orîjînalê hat arşîvkirin. Roja arşîvkirinê: 27 gulan 2014. Roja gihiştinê 20 çiriya pêşîn 2021.{{cite web}}: CS1 maint: bot: original URL status unknown (lînk)
  20. ^ "Java Card Overview". Oracle Technology Network. Oracle. Ji orîjînalê di 7 kanûna paşîn 2015 de hat arşîvkirin. Roja gihiştinê 18 kanûna pêşîn 2014.
  21. ^ "Java Platform, Micro Edition (Java ME)". Oracle Technology Network. Oracle. Ji orîjînalê di 4 kanûna paşîn 2015 de hat arşîvkirin. Roja gihiştinê 18 kanûna pêşîn 2014.
  22. ^ "Java SE". Oracle Technology Network. Oracle. Ji orîjînalê di 24 kanûna pêşîn 2014 de hat arşîvkirin. Roja gihiştinê 18 kanûna pêşîn 2014.
  23. ^ "Java Platform, Enterprise Edition (Java EE)". Oracle Technology Network. Oracle. Ji orîjînalê di 17 kanûna pêşîn 2014 de hat arşîvkirin. Roja gihiştinê 18 kanûna pêşîn 2014.