Réflexion sur les langages à VM

sebsauvage Messages postés 33415 Statut Modérateur -  
sebsauvage Messages postés 33415 Statut Modérateur -
Petite réflexion sur les langages à machines virtuelles et retour d'expérience:
(Attention je vais encore prêcher mon mon église :)

Microsoft .Net
Taile de la machine virtuelle: 21 Mo
Ne fonctionne que sous Windows 2000/XP.
Expérience: en ce moment on en chie des ronds de chapeau pour mettre ça en place sur un site de commerce électronique. Problèmes d'interopérabilité avec l'existant. Problèmes d'intégration.
On a pas encore eu le temps d'être confrontés aux problèmes de perfs, mais ça ne saurait tarder. J'attend de fameux problèmes.

Java
Taile de la machine virtuelle: environ 20 Mo
Multiplateformes, mais problème de compatibilité entre les différentes VM. Manque d'abstraction de certaines fonctionnalités de l'OS (système de fichiers par exemple).
Expérience: lent (même avec du Just-In-Time) et gros consommateur de mémoire, fuites mémoire trop nombreuses. Même Sun ne veut plus que Java soit utilisé pour ses développements internes !
http://www.advogato.org/article/624.html

Python
Taile de la machine virtuelle: moins de 9 Mo avec toutes les libraires.
Multiplatformes.
Expérience: ben... aucun problème pour le moment. Excellente inter-opérabilité (avec protocoles ou code existant).
Facilement extensible dans d'autres langage (C, C++...) (beaucoup plus facilement que Java ou .Net).
Les perfs ? Un chouille plus lent que Java, sauf quand on utilise psycho (accélération x2 à x100). Je n'ai pas encore réussi à ressentir le besoin de convertir une librairie en C++.
Consommation mémoire minime par rapport à Java. Quasiment aucune fuite de mémoire.

Alors bien sûr les RAD pour Python sont moins performants que les RAD pour Java ou surtout .Net, mais ce n'est pas un critère pour moi.

Conclusion: je suis infiniment moins emmerdé avec Python qu'avec les 2 autres. Trop d'espoirs déçus avec Java et .Net.

Mais ça ne s'arrête pas là, il y aura encore de bonnes et mauvaises suprises dans les 3...

Et il faudra un jour que je prenne le temps de me mettre à Squeak !

3 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Pour compléter:
http://www.internalmemos.com/memos/memodetails.php?memo_id=1321

"Hello World written in Java2 requires 9M [...] The Python runtime required to execute Hello World is roughly 1.6M."

Et encore, je vous le fait en 500 ko sans problème. :-)
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
L'image squeak minimale pour un hello world, a vu de nez et selon mon experience passee (je me bat toujours pour l'installer :-( ) ca tourne a 200 ou 300ko, mais le probleme avec Squeak c'est que netooyer l'image, c'est un boulot a temps plein :-S

.  .
\_/
0
choubaka Messages postés 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 106
 
en effet, t'as l'air déçu

si tu veux on peut réécrire une VM autour de quelques chopinettes au café, la japyth.net

Choubanimal : 
Recherche producteur pour superproduction ou + si affinités
0
Bobinours Messages postés 2903 Statut Membre 504
 
Choubi :-)

2 questions... Enfin plus qu'une, j'ai vu ce qu'était Squeak :)
Qu'est-ce que "RAD" ?
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
RAD = Rapid Application Development.

C'est un concept inventé et breveté par un français, mais il a été repiqué sans vergogne par tous les éditeurs de logiciels (Borland, Symantec, Microsoft...) sans payer les royalties.

Un RAD une interface de développement à la Delphi ou Visual Basic: génération automatique du code par glisser-déposer de composants visuels.
0