Je ne suis pas complètement d'accord avec toi sur plusieurs points. Au niveau des perfs d'abord. Dire que java bouffe plus qu'un process natif, on est d'accord. De là à dire que tout doit être fait en natif... c'est pas tout à fait mon avis. Un exemple simple, dans ma société (non... on a pas 54387 employés avec des SUSE Boxes :) une appli a été faite pour lire des espèces de gros fichiers dégueulasses. Un programme C existait, avit été codé "à la barbare" par manque de temps, mais manquait relativement d'efficacité (pas loin d'une minute et un max de RAM occupée). Je l'ai reprogrammé (plus vite qu'il n'a été fait) en java, le résultat : il occupe moins de place en mémoire, ne plante pas et met 7 secondes à s'éxécuter sur la même machine (au lieu de pas loin d'une minute).
Ce qui est vrai, c'est qu'un prog bien optimisé en C est plus rapide, le prob, c'est qu'on a pas toujours le temps d'optimiser, et que quant il faut faire vite et bien, java est un des meilleurs langages pour ça (je sais, y'a PERL aussi:), car au lieu de s'emmerder avec une fuite de mémoire introuvable, tu diminues la complexité de ton algorithme, ce qui est nettement plus efficace. Et que compte tenu de sa nature, le programmeur a plus de temps pour s'occuper de réfléchir à la structure du code qu'en C par exemple, d'où des coûts de maintenance diminués d'autant. En fait, à mon avis, java est un langege qui demande plus d'imagination que le C et contrairement aux idées reçues, c'est un langage difficile, à mon sens, plus dur que le C.
Celà dit, je n'ai jamais utilisé Java comme serveur d'applications et tu n'as pas sans doute en partie raison. Là où je ne suis pas d'accord, c'est de dire qu'il faut programmer en C. Surtout pas !!!
Tu veux faire quoi : amener ton lot de buffers overflow et de saloperies en tous genre ?
Pour cela, java est pratique car ses failles sont corrigées par la VM et non le programmeur.
Quant à l'argument de la puissance des machines, c'est vite ratrappé par les coûts de développement et maintenance, bien plus faibles sur un prog java qu'un même programme en C.
[^] # Hum... Voilà un point de vue tranché.
Posté par bad sheep . En réponse à la dépêche Java J2EE vs .Net. Évalué à 1.
Ce qui est vrai, c'est qu'un prog bien optimisé en C est plus rapide, le prob, c'est qu'on a pas toujours le temps d'optimiser, et que quant il faut faire vite et bien, java est un des meilleurs langages pour ça (je sais, y'a PERL aussi:), car au lieu de s'emmerder avec une fuite de mémoire introuvable, tu diminues la complexité de ton algorithme, ce qui est nettement plus efficace. Et que compte tenu de sa nature, le programmeur a plus de temps pour s'occuper de réfléchir à la structure du code qu'en C par exemple, d'où des coûts de maintenance diminués d'autant. En fait, à mon avis, java est un langege qui demande plus d'imagination que le C et contrairement aux idées reçues, c'est un langage difficile, à mon sens, plus dur que le C.
Celà dit, je n'ai jamais utilisé Java comme serveur d'applications et tu n'as pas sans doute en partie raison. Là où je ne suis pas d'accord, c'est de dire qu'il faut programmer en C. Surtout pas !!!
Tu veux faire quoi : amener ton lot de buffers overflow et de saloperies en tous genre ?
Pour cela, java est pratique car ses failles sont corrigées par la VM et non le programmeur.
Quant à l'argument de la puissance des machines, c'est vite ratrappé par les coûts de développement et maintenance, bien plus faibles sur un prog java qu'un même programme en C.