> Ah Bon? Une allocation en java, c'est 10 instructions assembleurs pourtant.
10 instructions d'une machine virtuelle qui va comporter plusieurs couches jusqu'à ce qu'on atteigne le code natif du CPU. Donc, à moins de tourner sur un processeur natif Java –il y en a eu– ce n'est pas 10 instructions mais plusieurs milliers.
On pourra toujours targuer qu'il y a le JIT. Ok, cela augmente les performance mais ce n'est pas gratuit.
Ensuite, l'allocation n'est pas qu'un pauvre malloc(size of(Myobject_t)), il y a tout les mécanismes autour de l'objet à instancier qui doit être gérer. N'ayant pas fait d'études d' info, je ne vais pas détailler tout ça de peur de me fourvoyer mais ça m'étonnerait pas qu'il n'y ait à gérer l'héritage, le polymorphisme et autres joyeusetés qui peuvent faire partie de l'objet à allouer, cela même si le développeur pense qu'il s'agit d'un objet tout con.
Un HLL cache beaucoup de choses.
Oui les langages de haut niveau sont d'un confort indéniable. Pour ma part je fais de plus en plus de genie (une sorte de python qui fonctionne comme Vala) pour mes programmes à deux balles parce que ça me gave d'écrire trop de signes superflus. Mais un langage plus bas niveau permet d'avoir une meilleure approche et une meilleure compréhension.
Je pense qu'il est nécessaire de connaître quelques fondamentaux (C/C++ en fait partie, l'avenir nous le dira pour C#). Ayant une formation d'électronicien, je sera presque pour qu'on fasse de l'électronique avant de commencer la programmation. :)
> De plus de nos jours les machines sont assez performantes pour que je puisse coder mes applis dans le langage de mon choix sans qu'il n'y ai un quelconque problème de performance.
Cela fait plusieurs années que l'on entend ça. Depuis, les machines font à peine plus mais nécessitent 4 fois plus de puissance CPU et 6 fois plus de mémoire.
The capacity of the human mind for swallowing nonsense and spewing it forth in violent and repressive action has never yet been plumbed. -- Robert A. Heinlein
[^] # Re: de quoi tu te plaint ?
Posté par téthis . En réponse au journal la Geste de l'Estudiant.. Évalué à 3.
10 instructions d'une machine virtuelle qui va comporter plusieurs couches jusqu'à ce qu'on atteigne le code natif du CPU. Donc, à moins de tourner sur un processeur natif Java –il y en a eu– ce n'est pas 10 instructions mais plusieurs milliers.
On pourra toujours targuer qu'il y a le JIT. Ok, cela augmente les performance mais ce n'est pas gratuit.
Ensuite, l'allocation n'est pas qu'un pauvre malloc(size of(Myobject_t)), il y a tout les mécanismes autour de l'objet à instancier qui doit être gérer. N'ayant pas fait d'études d' info, je ne vais pas détailler tout ça de peur de me fourvoyer mais ça m'étonnerait pas qu'il n'y ait à gérer l'héritage, le polymorphisme et autres joyeusetés qui peuvent faire partie de l'objet à allouer, cela même si le développeur pense qu'il s'agit d'un objet tout con.
Un HLL cache beaucoup de choses.
Oui les langages de haut niveau sont d'un confort indéniable. Pour ma part je fais de plus en plus de genie (une sorte de python qui fonctionne comme Vala) pour mes programmes à deux balles parce que ça me gave d'écrire trop de signes superflus. Mais un langage plus bas niveau permet d'avoir une meilleure approche et une meilleure compréhension.
Je pense qu'il est nécessaire de connaître quelques fondamentaux (C/C++ en fait partie, l'avenir nous le dira pour C#). Ayant une formation d'électronicien, je sera presque pour qu'on fasse de l'électronique avant de commencer la programmation. :)
> De plus de nos jours les machines sont assez performantes pour que je puisse coder mes applis dans le langage de mon choix sans qu'il n'y ai un quelconque problème de performance.
Cela fait plusieurs années que l'on entend ça. Depuis, les machines font à peine plus mais nécessitent 4 fois plus de puissance CPU et 6 fois plus de mémoire.
The capacity of the human mind for swallowing nonsense and spewing it forth in violent and repressive action has never yet been plumbed. -- Robert A. Heinlein