Eléments de comparaison Java/Hotjava contre Caml/MMM

Note préliminaire: cette comparaison n'est pas complètement objective. J'apprécierais tout commentaire

Java and HotJava sont des marques déposées de Sun Microsystems, Inc.

Introduction

HotJava est à Java ce que MMM est à Caml, c'est-à-dire:

Les applets Java sont également supportées par d'autres navigateurs. Les applets Caml sont supportées dans Netscape Navigator 3.0 grâce au plugin Calves.

Ce document présente brièvement les points suivants:

  1. Les langages Java et Caml
  2. Le typage de ces langages
  3. La sécurité des systèmes d'applets
  4. Portabilité
  5. Bibliothèques accessibles par l'API des applets
  6. Disponibilité

Les langages: Java et Caml

Java
Caml (Objective Caml)

Typage

Les deux langages sont typés au sens où aucune erreur de type ne peut rester indétectée.
Java
Caml

Sécurité

Les deux langages font un usage intensif du typage pour garantir la sécurité. La principale différence est que Java utilise le typage au niveau bytecode, alors que Caml utilise le typage au niveau de la compilation, complété par un système d'authentification cryptographique.
Applets Java
Applets Caml
Les instructions de la machine abstraite ne contiennent pas d'information de type. Par contre:

Portabilité

Les applets elle-mêmes sont portables. Le point discuté ici est la portabilité de l'environnement d'exécution.
Applets Java
Actuellement disponibles pour: Solaris, Windows NT, Windows 95. Portages en cours par Sun pour Mac OS 7.5. OSF a annoncé un projet de portage de Java pour les principales plateformes Unix. A ma connaissance, la principale difficulté est liée à l'implantation des threads. Il faut également noter que Netscape Comm. a apparemment porté le runtime Java sur plusieurs plateformes Unix, puisque Java est supporté (ou sera supporté) par Mozilla sur la plupart des plateformes.
Applets Caml
Objective Caml est disponible sur (ou portable sur) toute plateforme Unix (testé sur DEC/OSF (alpha), SunOS 4.1.x (sparc), Linux a.out et ELF (486, Pentium), Solaris (sparc); tourne également sur SGI/IRIX, HPUX, FreeBSD). Les portages sur Windows et Mac OS sont en principe possibles (puisque Tcl/Tk est maintenant disponible sur ces plateformes).

Bibliothèques

Cette section présente les bibliothèques disponibles pour l'auteur d'applets.
Applets Java
Applets Caml

Disponibilité

Java, Hotjava, Netscape
Hotjava est disponible gratuitement, mais supporte seulement une version obsolète de l'API Java (alpha). La politique de distribution de Netscape dépend sur statut de l'utilistaeur. La spécification de Java est propriétaire mais disponible gratuitement. Les sources du système sont disponibles sous license. Un compilateur Java est disponible gratuitement.
Caml Special Light, MMM.
Tous les sources sont disponibles gratuitement. Les deux systèmes sont utilisables librement, mais les travaux dérivatifs sont soumis à autorisation.