Java (linguaggio di programmazione): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Annullata la modifica 143762071 di 2001:B07:645F:B04C:CA81:2EBE:1E1A:7F5 (discussione) 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
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 {
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>
|