Java (limbaj de programare)

Acest articol se referă la un limbaj de programare. Pentru alte sensuri, vedeți Java (dezambiguizare).
Java
Java
Extensii fișierejava
class
jar
jad
jmod  Modificați la Wikidata
Paradigmămulti-paradigmă: obiect-orientat, structured, imperative, generic, reflective, concurrent
Apărut în1995  (1995)[1]
Proiectat deJames Gosling and
Sun Microsystems
DezvoltatorOracle
Ultima versiuneJava SE 21[2]  Modificați la Wikidata
TipareStatic, strong, safe, nominative, manifest
Implementări majoreOpenJDK, many others
DialecteGeneric Java, Pizza
Influențat deAda 83, C++, C#,[3] Eiffel,[4] Generic Java, Mesa,[5] Modula-3,[6] Oberon,[7] Objective-C,[8] UCSD Pascal,[9][10] Smalltalk
InfluențeAda 2005, BeanShell, C#, Clojure, D, ECMAScript, Groovy, J#, JavaScript, Kotlin, PHP, Python, Scala, Seed7, Vala
Sistem de operareMultiplatformă
LicențăLicența Publică Generală GNU[11]  Modificați la Wikidata
Prezență onlinesite web oficial
cont Twitter
Wikibooks logo Java Programming la Wikibooks
Modifică date / text Consultați documentația formatului

Java este un limbaj de programare orientat-obiect, puternic tipizat, conceput de către James Gosling la Sun Microsystems (acum filială Oracle) la începutul anilor ʼ90, fiind lansat în 1995. Cele mai multe aplicații distribuite sunt scrise în Java, iar noile evoluții tehnologice permit utilizarea sa și pe dispozitive mobile, spre exemplu telefon, agenda electronică, palmtop etc. În felul acesta se creează o platformă unică, la nivelul programatorului, deasupra unui mediu eterogen extrem de diversificat. Acesta este utilizat în prezent cu succes și pentru programarea aplicațiilor destinate intranet-urilor.[12]

Limbajul împrumută o mare parte din sintaxă de la C și C++, dar are un model al obiectelor mai simplu și prezintă mai puține facilități de nivel jos. Un program Java compilat, corect scris, poate fi rulat fără modificări pe orice platformă care e instalată o mașină virtuală Java (engleză Java Virtual Machine, prescurtat JVM). Acest nivel de portabilitate (inexistent pentru limbaje mai vechi cum ar fi C) este posibil deoarece sursele Java sunt compilate într-un format standard numit cod de octeți (engleză byte-code) care este intermediar între codul mașină (dependent de tipul calculatorului) și codul sursă.

Mașina virtuală Java este mediul în care se execută programele Java. În prezent, există mai mulți furnizori de JVM, printre care Oracle, IBM, Bea, FSF. În 2006, Sun a anunțat că face disponibilă varianta sa de JVM ca open-source.

Există 4 platforme Java furnizate de Oracle:

  • Java Card - pentru smartcard-uri (carduri cu cip);
  • Java Platform, Micro Edition (Java ME) — pentru hardware cu resurse limitate, gen PDA sau telefoane mobile;
  • Java Platform, Standard Edition (Java SE) — pentru sisteme gen workstation, este ceea ce se găsește pe PC-uri;
  • Java Platform, Enterprise Edition (Java EE) — pentru sisteme de calcul mari (ex. servere ), eventual distribuite.

Istoric al versiunilor

  • 23 ianuarie 1996, JDK 1.0 - versiunea inițială[13]
  • 19 februarie 1997, JDK 1.1[14]
  • 8 decembrie 1998, J2SE 1.2[15]
  • 8 mai 2000, J2SE 1.3[14]
  • 6 februarie 2002, J2SE 1.4[16]
  • 30 septembrie 2004, J2SE 5.0[17], numărul de versiune 1.5 este păstrat ca număr intern de versiune[18]
  • 11 decembrie 2006, Java SE 6[19]
  • 14 februarie 2012, Java SE 7[20]
  • 18 martie 2014, Java SE 8[21]
  • 21 septembrie 2017, Java SE 9
  • 20 martie 2018, Java SE 10
  • 25 septembrie 2018, Java SE 11[22]
  • 19 martie 2019, Java SE 12
  • 17 septembrie 2019, Java SE 13
  • 17 martie 2020, Java SE 14

Medii de dezvoltare integrate

Un IDE (engleză integrated development environment) este un mediu de lucru care permite dezvoltarea de aplicații folosind anumite limbaje de programare (cele suportate de IDE, adică cele pentru care a fost creat acel IDE). Pentru Java sunt folosite următoarele:

  • JCreator Arhivat în , la Wayback Machine. - gratuit JCreator LE
  • Eclipse - gratuit
  • NetBeans - gratuit
  • BEA Workshop
  • BlueJ - gratuit
  • CodeGuide Arhivat în , la Wayback Machine. - comercial
  • DrJava - gratuit
  • IntelliJ IDEA - gratuit Idea Community Edition
  • JBuilder Arhivat în , la Wayback Machine. - comercial
  • JDeveloper - comercial, platformă multiplă
  • KDevelop - gratuit (platformă GNU/Linux, Cygwin)

Note

  1. ^ Eroare la citare: Etichetă <ref> invalidă; niciun text nu a fost furnizat pentru referințele numite oraclejavahistory
  2. ^ JDK 21 (în engleză) 
  3. ^ 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] [2]
  4. ^ Gosling, James; and McGilton, Henry (mai 1996). „The Java Language Environment”. Mentenanță CS1: Nume multiple: lista autorilor (link)
  5. ^ Gosling, James; Joy, Bill; Steele, Guy; and Bracha, Gilad. „The Java Language Specification, 2nd Edition”. Mentenanță CS1: Nume multiple: lista autorilor (link)
  6. ^ „The A-Z of Programming Languages: Modula-3”. Computerworld.com.au. Accesat în . 
  7. ^ 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 (). „Niklaus Wirth's lecture at the Polytechnic Museum in Moscow”. ), that the Sun Java design team licenced 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.
  8. ^ 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]
  9. ^ TechMetrix Research (). „History of Java” (PDF). Java Application Servers Report. Arhivat din original (PDF) la . Accesat în . 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 
  10. ^ „A Conversation with James Gosling – ACM Queue”. Queue.acm.org. . Accesat în . 
  11. ^ https://www.lemondeinformatique.fr/actualites/lire-java-open-source-c-est-fait-et-c-est-en-gpl-21350.html  Lipsește sau este vid: |title= (ajutor)
  12. ^ Ștefan Tanasa, Cristian Olaru, Stefan Andrei, "Java de la 0 la expert", Polirom, 2003.
  13. ^ Declarație pentru presă, Sun.
  14. ^ a b Declarație pentru presă, Sun.
  15. ^ Declarație pentru presă, Sun.
  16. ^ Declarație pentru presă, Sun.
  17. ^ Declarație pentru presă, Sun.
  18. ^ Versiunea 1.5.0 sau 5.0
  19. ^ Declarație pentru presă, Sun.
  20. ^ Declarație pentru presă, Oracle.
  21. ^ Proposed new schedule for JDK 8
  22. ^ Chander, Sharat. „Introducing Java SE 11”. oracle.com. Arhivat din original la . Accesat în . 

Bibliografie

  • Ștefan Tanasă, Cristian Olaru, Ștefan Andrei, "Java de la 0 la expert", Polirom, 2003.
  • Computer-Books.us O colecție de cărți Java disponibile pentru descărcare liberă (free download)
  • David Flanagan, Java in a Nutshell, Third Edition. O'Reilly & Associates, 1999. ISBN 1-56592-487-8
  • Thinking in Java, de Bruce Eckel
  • Java Course Binecunoscuta carte a lui A.B. Downey ca și un fișier CHM
  • Doina Logofătu: Algoritmi fundamentali in Java. Aplicații, Ed. 1, Editura Polirom, Iași, 2007, ISBN 9734608157.
  • Curs practic de Java Arhivat în , la Wayback Machine. - de Cristian Frăsinaru
  • Java Tutorial
  • Java Tutorial full Arhivat în , la Wayback Machine.
  • Java Tutorial
  • Gosling, James, A brief history of the Green project. Arhivat în , la Wayback Machine. Java.net, no date [ca. Q1/1998]. Retrieved 29 aprilie 2007.
  • Gosling, James, A brief history of the Green project[nefuncțională]. anonymous-insider.net, no date [ca. Q1/1998]. Retrieved 4 septembrie 2013.
  • Gosling, James; Joy, Bill; Steele, Guy L., Jr.; Bracha, Gilad (). The Java Language Specification (ed. 3rd). Addison-Wesley. ISBN 0-321-24678-0. 
  • Lindholm, Tim; Yellin, Frank (). The Java Virtual Machine Specification (ed. 2nd). Addison-Wesley. ISBN 0-201-43294-3. 

Legături externe

Puteți găsi mai multe informații despre Java (limbaj de programare) prin căutarea în proiectele similare ale Wikipediei, grupate sub denumirea generică de „proiecte surori”:
Definiții și traduceri în Wikționar
Imagini și media la Commons
Citate la Wikicitat
Wikiversity are materiale didactice despre Java (limbaj de programare)
  • java.com: Main website
  • java.sun.com
  • Tutorial Java de la Sun
  • v
  • d
  • m
Aplicații web frameworks
ASP.NET
  • ASP.NET Dynamic Data
  • ASP.NET MVC
  • ASP.NET Web Forms
  • BFC
  • DotNetNuke
  • MonoRail
  • OpenRasta
  • Umbraco
ColdFusion
  • CFWheels
  • ColdBox Platform
  • ColdSpring
  • Fusebox
  • Mach-II
  • Model-Glue
Common Lisp
  • Caveman2
  • CL-HTTP
  • UnCommon Web
  • Weblocks
C++
  • CppCMS
  • Wt
Haskell
  • Happstack
  • Yesod
  • Snap
Java
  • AppFuse
  • Flexive
  • Grails
  • GWT
  • ICEfaces
  • ItsNat
  • JavaServer Faces
  • JHipster
  • Jspx
  • OpenXava
  • Play
  • Reasonable Server Faces
  • Remote Application Platform
  • RIFE
  • Seam
  • Spring Framework
  • Stripes
  • Struts
  • Tapestry
  • Vaadin
  • WebWork
  • Wicket
  • WaveMaker
  • ZK
JavaScript
  • Ample SDK
  • AngularJS
  • Backbone.js
  • Chaplin.js
  • Closure
  • Dojo Toolkit
  • Ember.js
  • Express.js
  • Ext JS
  • jQuery
  • Meteor
  • MooTools
  • Node.js
  • Prototype
  • Rico
  • script.aculo.us
  • Sencha Touch
  • SproutCore
  • Wakanda
Perl
  • Catalyst
  • Dancer
  • Mason
  • Maypole
  • Mojolicious
  • WebGUI
PHP
  • CakePHP
  • CodeIgniter
  • Drupal
  • eZ Publish
  • Fat-Free
  • FuelPHP
  • Horde
  • Joomla!
  • Kohana
  • Laravel
  • Lithium
  • Midgard
  • MODX
  • Nette Framework
  • Phalcon
  • PRADO
  • Qcodo
  • Silex
  • SilverStripe
  • Symfony
  • TYPO3
  • WordPress
  • Xaraya
  • XOOPS
  • Yii
  • Zend Framework
Python
  • BlueBream
  • CherryPy
  • Django
  • Flask
  • Grok
  • Nevow
  • Pyjamas
  • Pylons
  • Pyramid
  • Quixote
  • TACTIC
  • Tornado
  • TurboGears
  • web2py
  • Webware
  • Zope 2
Ruby
Scala
  • Lift
  • Play
  • Scalatra
Smalltalk
  • AIDA/Web
  • Seaside
Alte limbaje
  • Application Express (PL/SQL)
  • COBOL on Wheelchair (COBOL)
  • Grails (Groovy)
  • Kepler (Lua)
  • OpenACS (Tcl)
  • SproutCore (JavaScript/Ruby)
  • SymbolicWeb (Clojure)
  • Yaws (Erlang)
Control de autoritate
  • BNE: XX540033
  • BNF: cb12533207m (data)
  • GND: 4401313-9
  • LCCN: sh95008574
  • NKC: ph117027