Réflexion sur les langages à VM

Fermé
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 10 févr. 2003 à 17:06
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 12 févr. 2003 à 09:40
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 !
A voir également:

3 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
10 févr. 2003 à 19:47
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 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
12 févr. 2003 à 09:11
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 39402 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 28 octobre 2024 2 102
10 févr. 2003 à 20:17
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 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
12 févr. 2003 à 01:19
Choubi :-)

2 questions... Enfin plus qu'une, j'ai vu ce qu'était Squeak :)
Qu'est-ce que "RAD" ?
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
12 févr. 2003 à 09:40
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