Java (zimanê bernamesaziyê)
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.
Paradîgma | Multi-paradigm: generic, object-oriented (class-based), imperative, reflective |
---|---|
Designed by | James Gosling |
Developer | Oracle Corporation et al. |
Herî pêşî derket | 23 gulanê 1995[1] | )
Versiyona herî nû | Java SE 19
/ 20 îlonê 2022 ) |
Sîstema cûreyan | Di cihê xwe de, biqewet, safe, nominative, manifest |
Xilasiyên fayl | .java, .class, .jar |
Malper | oracle |
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êre |
Dîrok
biguhêreJames 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]
Versiyon
biguhêreJi 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î |
Weşan
biguhêre- 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êreJava Virtual Machine (JVM) û bytecode
biguhêreYek 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.
Rêziman
biguhêreGelek 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êrepublic 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.
Çavkanî
biguhêre- ^ 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.
- ^ 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.
- ^ Chaudhary, Harry H. (28 tîrmeh 2014). "Cracking The Java Programming Interview :: 2000+ Java Interview Que/Ans". Roja gihiştinê 29 gulan 2016.
- ^ 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
- ^ 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.
- ^ 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.
- ^ "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.
- ^ 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.
- ^ 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
- ^ 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.
- ^ "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.
- ^ 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
- ^ "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.
- ^ "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.
- ^ "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.
- ^ 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.
- ^ 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.
- ^ Murphy, Kieron (4 çiriya pêşîn 1996). "So why did they decide to call it Java?". JavaWorld. Roja gihiştinê 13 tîrmeh 2020.
- ^ "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) - ^ "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.
- ^ "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.
- ^ "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.
- ^ "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.