Java (linguaggio di programmazione): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 93.49.115.30 (discussione), riportata alla versione precedente di Franfred Etichetta: Rollback |
m Collegamento al caffè Java piuttosto che caffè e Indonesia Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile |
||
(16 versioni intermedie di 6 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 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è
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 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>
|