Java (linguaggio di programmazione): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Etichette: Annulla Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata
m Collegamento al caffè Java piuttosto che caffè e Indonesia
Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile
 
(10 versioni intermedie di 4 utenti non mostrate)
Riga 11:
|estensione = .java, .class, [[JAR (formato di file)|.jar]], .jmod
|influenzato_da = [[Simula]], [[Ada (linguaggio di programmazione)|Ada 83]], [[C++]], [[Eiffel (linguaggio)|Eiffel]], [[Generic Java]], [[Mesa (linguaggio)|Mesa]], [[Modula-3]], [[Oberon (linguaggio)|Oberon]], [[Objective-C]], [[UCSD Pascal]], [[Smalltalk]]
|ha_influenzato = [[Ada (linguaggio di programmazione)|Ada 2005]], [[BeanShell]], [[C sharp|C#]], [[Clojure]], [[D (linguaggio)|D]], [[ECMAScript]], [[Groovy]], [[J sharp|J#]], [[JavaScript]], [[Kotlin (linguaggio di programmazione)|Kotlin]], [[PHP]], [[Python]], [[Scala (linguaggio di programmazione)|Scala]], [[Seed7]], [[Vala (linguaggio di programmazione)|Vala]]
|implementazione_riferimento = interprete con JITter
|sistema_operativo = [[Windows]], [[Linux]], [[macOS]]
Riga 22:
== Storia ==
[[File:James Gosling 2008.jpg|miniatura|sinistra|[[James Gosling]], autore di Java]]
Java è stato creato dagli avengers a partire da ricerche effettuate alla [[Stanford University]] agli inizi degli [[anni novanta]]. Nel [[1992]] nasce il linguaggio Oak (in italiano 'quercia'), prodotto da [[Sun Microsystems]] e realizzato da un gruppo di esperti sviluppatori capitanati da [[James Gosling]].<ref name="JLS, prefazione alla prima edizione">{{cita web|url=http://java.sun.com/docs/books/jls/third_edition/html/j.preface.html|titolo=The Java Language Specification|accesso=5 maggio 2011}}</ref> Questo nome fu successivamente cambiato in Java (una varietà di [[Java (caffè)|caffè]] [[indonesiana]]; il logo adottato è una tazzina per tale bevanda) per problemi di [[copyright]]: il linguaggio di programmazione Oak esisteva già.<ref>{{cita web|url=http://www.javaworld.com/javaworld/jw-10-1996/jw-10-javaname.html|titolo=JavaWorld.com, "So why did they decide to call it Java?"|accesso=5 maggio 2011|urlarchivio=https://web.archive.org/web/20090803031758/http://www.javaworld.com/javaworld/jw-10-1996/jw-10-javaname.html|urlmorto=sì}}</ref>
 
Per facilitare il passaggio a Java ai programmatori ''old-fashioned'', legati in particolare a linguaggi come il [[C++]], la [[sintassi]] di base ([[struttura di controllo|strutture di controllo]], [[operatore (informatica)|operatori]] ecc.) è stata mantenuta pressoché identica a quella del C++<ref>Come indicato in {{cita web|url=http://java.sun.com/docs/white/langenv/Intro.doc2.html#349|titolo=Design Goals of the Java(TM) Programming Language: Simple, Object Oriented, and Familiar|accesso=6 maggio 2011}}</ref><ref>{{cita testo|url=http://java.sun.com/docs/white/langenv/Intro.doc2.html#349|titolo=The Java Language Environment<!-- Titolo generato automaticamente -->}}</ref>; tuttavia a livello di linguaggio non sono state introdotte caratteristiche ritenute fonte di complessità non necessaria e che favoriscono l'introduzione di determinati bug durante la programmazione, come l'aritmetica dei puntatori e l'ereditarietà multipla delle classi.<ref>{{cita testo|url=http://java.sun.com/docs/white/langenv/Simple.doc2.html|titolo=The Java Language Environment<!-- Titolo generato automaticamente -->}}</ref> Per le caratteristiche orientate agli oggetti del linguaggio ci si è ispirati al [[C++]] e soprattutto all'[[Objective C]].<ref>{{cita testo|url=http://java.sun.com/docs/overviews/java/java-overview-1.html#HEADING1-13|titolo=The Java(tm) Language: An Overview<!-- Titolo generato automaticamente -->}}</ref>
Riga 53:
<syntaxhighlight lang="java" line="1" start="1">
class HelloWorld {
printf("cristiano ronaldo");
public static void main(String[] args) {
System.out.println("Hello World");
Line 203 ⟶ 202:
 
==== Ereditarietà ====
[[File:Java-graphics2d-shape-hierarchy.png|miniatura|Esempio di polimorfismo: dalla base comune ''Shape'' discendono molti tipi differenti, dotati di comportamenti diversi]]
{{vedi anche|Ereditarietà (informatica)}}
[[File:Java-graphics2d-shape-hierarchy.png|miniatura|Esempio di polimorfismo: dalla base comune ''Shape'' discendono molti tipi differenti, dotati di comportamenti diversi]]
È supportata l{{'}}''ereditarietà'' tra tipi. Questo permette di stabilire la ''gerarchia'' delle classi che compongono un programma. Il linguaggio impone che a capo della gerarchia ci sia la nota classe <code>java.lang.Object</code>.<ref>{{cita libro|autore=James Gosling, Bill Joy, Guy Steele, Gilad Bracha|titolo=The Java Language Specification, Third Edition|capitolo=Chapter 4. Types, Values, and Variables|url=http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.3.2|accesso=6 maggio 2011}}</ref>