Applet JavaUn applet Java est un applet, fournie aux utilisateurs sous la forme de bytecode Java. Un applet Java peut fonctionner dans un navigateur web, grâce à une machine virtuelle Java (JVM), ou dans l'AppletViewer de Sun, un outil permettant de tester les applets Java. Les applets Java ont été introduits dans la première version du langage, de 1995. Les applets Java sont la plupart du temps écrits en langage Java, mais ils peuvent également être écrits dans n'importe quel langage qui se compile en bytecode, comme Jython, Groovy ou encore Scala.
Java (technique)Java est une technique informatique développée initialement par Sun Microsystems puis acquise par Oracle à la suite du rachat de l'entreprise. Défini à l'origine comme un langage de programmation, Java a évolué pour devenir un ensemble cohérent d'éléments techniques et non techniques.
Java version historyThe Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901.
Bytecode JavaLe bytecode Java est un bytecode destiné à regrouper des instructions exécutables par une machine virtuelle Java. Par extension, il désigne un flux d'octets binaire au format d'une classe Java. Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.
Compatibilité ascendante et descendantevignette|La Wii, qui a succédé à la Gamecube, est compatible avec cette dernière, ce qui en fait un exemple de compatibilité descendante. La rétrocompatibilité, ou compatibilité descendante, est la compatibilité d'un produit vis-à-vis de ses anciennes ou précédentes versions ; la compatibilité ascendante ou postcompatibilité est la compatibilité d'un produit vis-à-vis des versions plus récentes, voire encore en phase de conception.
Machine virtuelle Javavignette|Machine virtuelle Java - Spécification Java 7 La machine virtuelle Java (en anglais Java virtual machine, abr. JVM) est un appareil informatique fictif qui exécute des programmes compilés sous forme de bytecode Java. L'appareil est simulé par un logiciel spécifique à chaque plateforme ou couple (machine/système d’exploitation) et permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate.
Java syntaxThe syntax of Java is the set of rules defining how a Java program is written and interpreted. The syntax is mostly derived from C and C++. Unlike in C++, in Java there are no global functions or variables, but there are data members which are also regarded as global variables. All code belongs to classes and all values are objects. The only exception is the primitive types, which are not represented by a class instance for performance reasons (though can be automatically converted to objects and vice versa via autoboxing).
Computer compatibilityA family of computer models is said to be compatible if certain software that runs on one of the models can also be run on all other models of the family. The computer models may differ in performance, reliability or some other characteristic. These differences may affect the outcome of the running of the software. Software compatibility can refer to the compatibility that a particular software has running on a particular CPU architecture such as Intel or PowerPC.
Java (langage)Java est un langage de programmation de haut niveau orienté objet créé par James Gosling et Patrick Naughton, employés de Sun Microsystems, avec le soutien de Bill Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement le au SunWorld. La société Sun est rachetée en 2009 par la société Oracle qui détient et maintient désormais Java. Un logiciel écrit en language Java a pour particularité d'être compilé vers un code intermédiaire formé de bytecodes qui peut être exécutée dans une machine virtuelle Java (JVM) en faisant abstraction du système d'exploitation.
C SharpC# (C sharp en anglais britannique) est un langage de programmation orientée objet, commercialisé par Microsoft depuis 2002 et destiné à développer sur la plateforme Microsoft .NET. Il est dérivé du C++ et très proche du Java dont il reprend la syntaxe générale ainsi que les concepts, y ajoutant des notions telles que la surcharge des opérateurs, les et les délégués. Il est utilisé notamment pour développer des applications web sur la plateforme ASP.NET, ainsi que des jeux vidéo avec le moteur de jeux Unity.
Scala (langage)Scala est un langage de programmation multi-paradigme conçu à l'École polytechnique fédérale de Lausanne (EPFL) pour exprimer les modèles de programmation courants dans une forme concise et élégante. Son nom vient de l'anglais Scalable language qui signifie à peu près « langage adaptable » ou « langage qui peut être mis à l'échelle ». Il peut en effet être vu comme un métalangage. Scala intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle, avec un typage statique.
Oxygene (programming language)Oxygene (formerly known as Chrome) is a programming language developed by RemObjects Software for Microsoft's Common Language Infrastructure, the Java Platform and Cocoa. Oxygene is based on Delphi's Object Pascal, but also has influences from C#, Eiffel, Java, F# and other languages. Compared to the now deprecated Delphi.NET, Oxygene does not emphasize total backward compatibility, but is designed to be a "reinvention" of the language, be a good citizen on the managed development platforms, and leverage all the features and technologies provided by the .
Binary-code compatibilityBinary-code compatibility (binary compatible or object-code-compatible) is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer CPU, that another computer system can run. Source-code compatibility, on the other hand, means that recompilation or interpretation is necessary before the program can be run on the compatible system.
Arbre bicoloreUn arbre bicolore, ou arbre rouge-noir ou arbre rouge et noir est un type particulier d'arbre binaire de recherche équilibré, qui est une structure de données utilisée en informatique théorique. Les arbres bicolores ont été inventés en 1972 par Rudolf Bayer qui les nomme symmetric binary B-trees (littéralement « arbres B binaires symétriques »). Chaque nœud de l'arbre possède en plus de ses données propres un attribut binaire qui est souvent interprété comme sa « couleur » (rouge ou noir).
Fonction de hachageQuand il s'agit de mettre dans un tableau de taille raisonnable (typiquement résidant dans la mémoire principale de l'ordinateur) un ensemble de données de taille variable et arbitraire, on utilise une fonction de hachage pour attribuer à ces données des indices de ce tableau. Par conséquent, une fonction de hachage est une fonction qui associe des valeurs de taille fixe à des données de taille quelconque. Les valeurs renvoyées par une fonction de hachage sont appelées valeurs de hachage, codes de hachage, résumés, signatures ou simplement hachages.
Source-code compatibilitySource-code compatibility (source-compatible) means that a program can run on computers (or operating systems), independently of binary-code compatibility and that the source code is needed for portability. The source code must be compiled before running, unless the computer used has an interpreter for the language at hand. The term is also used for assembly language compatibility, where the source is a human-readable form of machine code that must be converted into numerical (i.e. executable) machine code by an assembler.
Kotlin (langage)Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage dynamique qui permet de compiler pour la machine virtuelle Java, JavaScript, et vers plusieurs plateformes en natif (grâce à LLVM). Son développement provient principalement d'une équipe de programmeurs chez JetBrains basée à Saint-Pétersbourg en Russie (son nom vient de l'île de Kotline, près de St. Pétersbourg). Google annonce pendant la conférence Google I/O 2017 que Kotlin devient le second langage de programmation officiellement pris en charge par Android après Java.
Collision (informatique)vignette|Schéma d'une collision entre deux résultats d'une fonction de hachage En informatique, une collision désigne une situation dans laquelle deux données ont un résultat identique avec la même fonction de hachage. Les collisions sont inévitables dès lors que l'ensemble de départ (données fournies) de la fonction de hachage est d'un cardinal strictement supérieur à l'ensemble d'arrivée (empreintes). Ce problème est une déclinaison du principe des tiroirs. La conséquence de ces collisions dépend de leurs applications.
Composition (programmation)En programmation informatique, la composition est une technique qui permet de combiner plusieurs éléments de programmation entre eux pour obtenir un élément ayant une fonctionnalité plus complexe. On distingue la composition de fonctions, la composition d'objets, et la composition dans les modèles. La composition de fonctions consiste à définir une nouvelle fonction en combinant plusieurs fonctions entre elles. Ce procédé s'inspire directement de la composition de fonctions en mathématiques, où le résultat d'une fonction est utilisé comme paramètre d'une autre.
Objet détachéright|thumb|400px|Des objets Trans-neptuniens ayant des demi-grands axes supérieurs à 100 unités astronomiques : les objets épars (en anglais : SDO scattered-disk objects) (en gris) et les objets détachés (en blanc). Un objet détaché est un objet transneptunien du Système solaire dont le périhélie est suffisamment distant de l'influence gravitationnelle des planètes géantes, en particulier de Neptune, la plus externe, pour qu'il ait un comportement détaché (de leurs influences).