C vers Java

Le Java a emprunté une grande partie de sa syntaxe de base au C, ce qui fait qu'il est relativement facile de traduire un programme simple de C en Java. Cela n'en fait évidemment pas un programme orienté objet, mais au moins il marche.

La recette de base est simple: on remplace le tout début du programme et de la fonction main, et le tour est (presque) joué. Comparez les deux programmes suivants:

// version C
// compiler: "gcc test.c -lm -o test"
// executer: "./test"

#include <stdio.h>
#include <math.h>

double cube(double x) {
  return x*x*x;
}

int main(void) {
  double y,z;
  y=cube(3);
  z=sqrt(1+sin(y));
  printf("z=%f\n",z);
  return 0;
}
// version Java
// compiler: "javac Test.java"
// executer: "java Test"

import static java.lang.Math.*;

public class Test {
  static double cube(double x) {
    return x*x*x;
  }

  public static void main(String args[]) {
    double y,z;
    y=cube(3);
    z=sqrt(1+sin(y));
    System.out.println("z="+z);
  }
}

Vous pouvez remarquer que le printf() a également été échangé contre une nouvelle instruction. C'est normal, printf n'est pas une instruction C, c'est une fonction de la librairie C standard (d'où le #include <stdio.h> obligatoire au début du programme). Or la librairie standard Java n'est pas la même (elle est organisée différement, et beaucoup plus vaste). Vous pouvez essayer de trouver la classe System dans la documentation de la bibliothèque Java (API). Cherchez dans la colonne de gauche en bas.

Auteur(s) : A. Daerr. Dernière modification : Fri Sep 28 07:26:02 2007. [validate XHTML]