Utilisateur:Fasten/Java tutorial/Introduction

Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Introduction
Icône de la faculté
Chapitre no 1
Leçon : Java tutorial
Retour auSommaire
Chap. suiv. :Variables et types
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Java tutorial : Introduction
Fasten/Java tutorial/Introduction
 », n'a pu être restituée correctement ci-dessus.

Introduction à Java[modifier | modifier le wikicode]

Java est le langage phare de la société Sun Microsystems. Il a été créé en 1991, à l’époque dans le but d’intégrer des appareils domestiques pour un projet de domotique, dont le nom de code était « Green ». Il fallait donc que le langage soit léger et portable sur toute configuration. Baptisé dans un premier temps « Oak », il changea rapidement de nom, Oak étant déjà utilisé, pour devenir « Java », terme de l’argot en anglais qui signifie café. Les versions suivantes, avec l’ajout notamment de Swing permettant de créer des interfaces graphiques stables, rendront le langage de plus en plus populaire pour la création de nombreux types d’application, avec comme atout principal : sa portabilité. La version actuelle de Java est la version 1.8.

Java se décline en de nombreuses versions, pour ordinateurs (avec une version de la machine virtuelle par système d’exploitation), pour téléphones mobiles, pour la programmation d’applications commerciales… Chacune des versions possède certaines bibliothèques en commun et certaines autres spécifiques, écrites différemment ou absentes. Certains systèmes d’exploitation possèdent la machine virtuelle dans leur configuration de base (Mac OS X…), tandis qu’elle doit être installée séparément sur d’autres (Windows, Mac OS 9…)

Java ressemble en plusieurs points au C++, langage très célèbre et très répandu, considéré souvent comme son grand-frère. Java est donc un langage objet ; toutefois, étant prévu pour tourner sur des petites configurations (souvenons-nous qu’il est prévu à la base pour les appareils ménagers), il est aussi utilisé à la manière d’un langage procédural. Il possède plusieurs autres caractéristiques, dont le fait d’être fortement typé (le type des variables en détermine strictement le type de contenu).

Il est aussi, et c’est là une de ses grandes forces, portable (quasiment) sans modifier une seule ligne de code. En effet, Java est un langage interprété, et cette caractéristique est suffisamment importante pour que nous la développions ici un peu plus. À la différence d’un langage comme son proche parent le C++, il n’est pas compilé pour un type de processeur mais pour une machine virtuelle. C’est cette machine virtuelle (la JVM) qui interprète en temps réel le code précompilé. Ci-dessous, un schéma très simpliste permettant de se représenter la différence entre les deux principes :

On constate clairement ici qu’à la différence d’un langage dit « exécuté », le langage Java nécessite une étape de plus pour être exécuté. La machine virtuelle doit d’abord transformer le « Bytecode » (une sorte semi-code machine) en instructions réelles pour le processeur. Ce dernier doit donc effectuer une opération préalable au lieu de pouvoir immédiatement exécuter le code, d’où une plus grande lenteur d’exécution. C’est à ce prix-là que le langage peut être exécuté sur n’importe quelle machine : c’est en effet la machine virtuelle (qui elle, est programmée pour une architecture bien précise) qui va traduire le code spécialement pour la configuration en question. C’est donc d’une certaine manière la grande force du Java qui fait sa principale faiblesse : sa lenteur d'exécution. Puisque le code doit être traduit en temps réel avant de pouvoir être exécuté, le Java est naturellement plus lourd qu’un autre langage. Son utilisation pour des applications gourmandes telles que les jeux 3D ou les applications de calcul intensif reste donc anecdotique. Il est par contre parfaitement adapté à des applications plus modestes en ressources, et la puissance actuelle des processeurs tend à minimiser cette faiblesse encore flagrante il y a de cela quelques années.

Une autre particularité de Java est de proposer dans son kit de développement, le JDK (Java Developement Kit), un grand nombre (en fonction du type choisi : standard, pour téléphones mobiles…) de bibliothèques prêtes à l’emploi pour tous les domaines utilitaires : gestion des fichiers, classement, recherche, tri… La documentation fournie avec l’API est très complète et très bien organisée ce qui permet de trouver facilement la fonctionnalité dont on a besoin. Ainsi, le programmeur n’a pas à réinventer la roue à chaque nouveau projet, mais peut se concentrer directement sur la partie fonctionnelle de son produit.

Pour commencer à programmer en Java, il suffit de télécharger le JDK, sous Unix :
sudo apt-get install openjdk-6-jdk

Celui-ci contient la machine virtuelle ainsi que les outils nécessaires à la compilation d’un projet. Comme dans beaucoup de langage, il est tout à fait possible de programmer au bloc-notes ou gedit ; toutefois, un environnement de développement digne de ce nom se révélera rapidement nécessaire. Il en existe beaucoup ; JBuilder chez Borland, intégrant un système de modélisation UML performant, XCode chez Apple, bien que peu orienté Java, et bien d’autres encore. Eclipse bénéficie d’une communauté d’utilisateurs très nombreuse. L’important est bien évidemment de trouver un environnement de développement où vous soyez à l’aise et qui vous convienne.

Lancer un programme[modifier | modifier le wikicode]

Image logo représentative de la faculté Faculté d'Informatique Faites ces exercices : Exercices/Commencer à programmer.


Une fois le JDK installé, créer un fichier bonjour.java contenant le code :

class salut {
    public static void main(String[] args) {
        System.out.println("Bonjour le monde !");
    }
}

Le compiler ensuite en lançant (sous UNIX ou DOS) :

javac bonjour.java

Lancer ensuite le fichier salut.class ainsi généré :

java salut

Liens externes[modifier | modifier le wikicode]


Java is the language flagship of Sun Microsystems. It was created in 1991, at the time in order to integrate household appliances for a home automation project, whose code name was "Green." It was therefore necessary that the language is light and portable to any configuration. Called at first "Oak", it soon changed its name Oak is already in use, to become "Java", the slang term in English that means coffee. Later versions, including the addition of Swing to create GUIs stable, make the language more and more popular for the creation of many types of applications, with the main strength: its portability. The current version of Java is version 1.6.

Java comes in many versions, computer (with a version of Virtual Machine Operating System) for mobile phones, for programming commercial applications ... Each version has some shared libraries and some other specific written differently or absent. Some operating systems have the virtual machine in its basic configuration (Mac OS X ...), while it must be installed separately on other (Windows, Mac OS 9 ...)

Java in many ways similar to C + + language very famous and widespread, often regarded as its big brother. Java is an object language, but is expected to run on small configurations (remember that it is provided at the base for appliances), it is also used in the manner of a procedural language. He has several other features, including being strongly typed (the type of variables strictly determines the type of content).

It is also, and this is one of its great strengths, portable (almost) without changing a single line of code. Indeed, Java is an interpreted language, and this feature is important enough that we developed here a little more. Unlike a language like its close relative the C + +, it is not compiled for one type of processor but a virtual machine. It is this virtual machine (the JVM) that interprets in real time the precompiled code. Below, a diagram is very simplistic to represent the difference between the two principles:





It can be seen clearly here that, unlike language says "executed", the Java language requires one more step to be executed. The virtual machine must first transform the "Bytecode" (a kind semi-code machine) in real instructions for the processor. It must perform a pre-rather than to immediately execute the code, resulting in a greater slow implementation. This is the price point that language can be run on any machine: it is indeed the virtual machine (which it is programmed for a very specific architecture) that will translate the code specifically for the configuration question. So in a sense the great strength of Java is its main weakness: its slow implementation. Since the code must be translated in real time before being executed, the Java is naturally heavier than another language. Its use for intensive applications such as 3D games or compute-intensive applications remains anecdotal. It is against perfectly suited to applications with more modest resources, current and power processors tends to minimize this weakness still evident there are a few years.

Another feature of Java is to propose in its development kit, the JDK (Java Developer Kit), a large number (depending on the type chosen: standard for mobile phones ...) library ready for all areas Utilities: file management, filing, search, sort ... The documentation for the API is very complete and very well organized which makes it easy to find the functionality you need. Thus, the programmer does not have to reinvent the wheel with each new project, but can focus directly on the functional part of its product.

To start programming in Java, just download the JDK Unix:



 sudo apt-get install openjdk-6-jdk



It contains the virtual machine and the tools necessary to compile a project. As in many language, it is quite possible to program in notepad or gedit, but a development environment worthy of the name will be revealed soon needed. There are many, JBuilder at Borland, integrating a powerful UML modeling, Apple XCode, though few oriented Java, and many others. Eclipse has a very large user community. The important thing is obviously to find a development environment where you feel comfortable and that suits you.


Launch a program[modifier | modifier le wikicode]

Once the JDK is installed, create a filecontainingbonjour.java Code:

class hello {
     public static void main (String [] args) {
         System.out.println ("Hello World");
     }
}

Then compile it by running (as UNIX or DOS):

javac bonjour.java

Then launch the fileandsalut.class generated:

java hello