<geek> les trucs du futur.
-
- Otaking !
- Messages : 2783
- Enregistré le : mer. 16 avr. 2003, 13:22
- Localisation : Pertuis
- Contact :
ben au lycée, on nous apprenais GotoXY et Writeln quoi... c'est sûr que la POO n'était pas (ou pas encore ?) un axe très "didactique"
mais à cette époque j'en avais plus qu'entendu parler et j'avais pu tester. Je trouvais ça sympa, les "variables qui font des choses avec des procédures inclues dans leur type", les héritages, tout ça ^^
sinon y a aucun rapport, mais on pouvait aussi jouer en assembleur avec turbo pascal... et ça non plus, on nous l'apprenais pas
Rrraaah, le 320x200x256 et les bidouillages dans la mémoire vidéo
c'était l'bon temps *__*
mais à cette époque j'en avais plus qu'entendu parler et j'avais pu tester. Je trouvais ça sympa, les "variables qui font des choses avec des procédures inclues dans leur type", les héritages, tout ça ^^
sinon y a aucun rapport, mais on pouvait aussi jouer en assembleur avec turbo pascal... et ça non plus, on nous l'apprenais pas
Rrraaah, le 320x200x256 et les bidouillages dans la mémoire vidéo
c'était l'bon temps *__*
Kataouh tataouh
- berseker
- mouton câlin
- Messages : 5985
- Enregistré le : jeu. 27 nov. 2003, 11:05
- Localisation : Paris mais presque
- Contact :
Je viens mettre mon nez dans la discussion.
Je connais des spécialistes Java qui ont torturé des gens pour moins que ça. Actuellement, la différence de puissance entre Java et du C++ n'est plus visible que dans certains cas très particuliers. Du moins d'après eux, mais je leur fais confiance.Klaim a écrit :Java est lent, ultra gourmand en mémoire, difficile à mettre en place de façon stable...
En ce moment, je bosse avec les librairies Qt en C++. Je n'ai pas essayé de faire marcher mes applications sous d'autres OS, mais on m'en a dit le plus grand bien.c.lambin a écrit :Enfin bon tout ça c'est bien joli mais de ce que je vois un peu à droite et à gauche, on parle standardisation partout mais n'empêche que les seuls programmes que je vois qui fonctionnent à la fois sur Windows, MacOS et Linux ce sont ceux qui sont programmés en Java. Donc niveau standardisation chez les autres langages, vous repasserez...
Hervé Joncour posa sa cigarette sur le bord de la table avant de dire
-Et il est où, exactement, ce Japon?
Baldabiou leva sa canne de Jonc en l'air et la pointa par-delà les toits de Saint-Auguste.
-Par là, toujours tout droit.
Dit-il.
-Jusquà la fin du monde.
-Et il est où, exactement, ce Japon?
Baldabiou leva sa canne de Jonc en l'air et la pointa par-delà les toits de Saint-Auguste.
-Par là, toujours tout droit.
Dit-il.
-Jusquà la fin du monde.
- Klaim
- Artisan Digital
- Messages : 10635
- Enregistré le : mar. 27 mai 2003, 13:13
- Localisation : Paris
- Contact :
Je dirais que les différences sont toujours présentes mais effectivement relatives à l'utilisation.berseker a écrit :Je connais des spécialistes Java qui ont torturé des gens pour moins que ça. Actuellement, la différence de puissance entre Java et du C++ n'est plus visible que dans certains cas très particuliers. Du moins d'après eux, mais je leur fais confiance.
Pour être clair :
- si tu veux faire une application client avec une interface : java est plus rapide/facile à programmer, même si ça necessite l'installation de la virtual machine java sur le pc de l'utilisateur mais ça c'est rien; comparé à java dans ce cas, le C++ c'est la galère assurée, au niveau programmation uniquement, parceque rien n'est prévu pour l'affichage, il faut utiliser des bibliothèques faites par d'autres (genre QT, MFC (beurk) ou wxWidgets)
- si tu veux faire un programme qui a une interface particulière et a besoin d'être le plus rapide possible (genre un jeu) alors C/C++ est absolument sans contestation le plus efficace;
- si tu veux faire un programme sans interface qui fait un truc rapide, pareil;
- si tu veux avoir une interface et que ça permette de faire des opérations rapides, le mieu c'est de combiner les deux.
Dans tous les cas, par nature, le Java est moins rapide, on ne peut pas le contester c'est JAVA même qui est comme ça (parcequ'il fait des tas de trucs que le programmeur C/C++ ne fait pas ou n'est pas obligé de faire).
En revanche le JAVA est plus rapide a programmer pour tout ce qui est interface; mais pas plus rapide tout court.
JAVA necessite moins de maitrise de la machine, ce qui induit les débutants en erreur quand aux limitations de cette machine (genre la mémoire) et fait dire aux expérimentés que c'est faut niveaux mémoire on peut faire un truc léger en java. C'est vrai, mais le language en lui même aide pas de façon intuitive à correctement gérer la mémoire.
En C/C++, t'as pas le choix, tu ne manipule que de la mémoire, même si ya une couche d'abstraction par dessus en C++.
Une note sur la portabilité : que ce soit en C++ ou en JAVA, même si JAVA a un slogant "write once, run everywhere", il est quasiment impossible de faire une application plus conséquente qu'un hello world en ligne de commande sans ajouter du code spécifique.
Même John Carmack, qui s'est tappé tout un tas de portages en java, le dit. J'en ai aussi fait l'expérience et bon en fait c'est un fait assez connu. Le problème c'est que malgrés les standards définis, les fournisseurs de hardware obligent les programmeurs à utiliser leurs codes spécifiques. Quand personne n'est d'accord...
Catox> http://fr.wikipedia.org/wiki/Programmat ... t#Origines
Je disais donc, le premier, SmallTalk, et le premier a rendre cette philosophie populaire, JAVA, sachant que le C++ était là masi sujet à l'inertie des mentalitées.
- jem
- CyberPet
- Messages : 5037
- Enregistré le : mar. 14 oct. 2003, 5:57
- Localisation : les collines gersoises
Klaim> Sans remettre en cause la supériorité du C++ par rapport à Java en terme de vitesse pure d'execution, je pense qu'il faut nuancer :
- La parfaite maitrise du C étant plus difficile que le Java, on aura beaucoup plus de chance qu'un développeur fasse des conneries dans un programme C qui réduira à zéro l'avantage supposé.
Alors bien sûr on peut s'en tenir à la posture élitiste comme quoi c'est un problème du développeur et non du langage et qu'on n'a qu'a améliorer les développeurs, mais je ne trouve pas ca très réaliste
- Les performance d'exécution c'est très bien pour la 3D, les jeux ou les simulations mathématique, mais pour les applications de gestion qui font le quotidien de beaucoup de développeurs la performance relative du Java ou du .NET (voire même de langages encore plus interprétés type VB6, Python, ...) sont largement suffisantes. Le critère principal devient alors la maintenabilité de l'application.
Enfin, sur la portabilité, j'ai fait chez France Telecom des applis (qui tournaient exclusivement en ligne de commande) assez conséquentes (avec notamment de la gestion XML/XSL, des requetes sur un système Documentum, des appels à des Web Services... dont le code tournait exactement de la même façon sur Windows et sur Solaris.
- La parfaite maitrise du C étant plus difficile que le Java, on aura beaucoup plus de chance qu'un développeur fasse des conneries dans un programme C qui réduira à zéro l'avantage supposé.
Alors bien sûr on peut s'en tenir à la posture élitiste comme quoi c'est un problème du développeur et non du langage et qu'on n'a qu'a améliorer les développeurs, mais je ne trouve pas ca très réaliste
- Les performance d'exécution c'est très bien pour la 3D, les jeux ou les simulations mathématique, mais pour les applications de gestion qui font le quotidien de beaucoup de développeurs la performance relative du Java ou du .NET (voire même de langages encore plus interprétés type VB6, Python, ...) sont largement suffisantes. Le critère principal devient alors la maintenabilité de l'application.
Enfin, sur la portabilité, j'ai fait chez France Telecom des applis (qui tournaient exclusivement en ligne de commande) assez conséquentes (avec notamment de la gestion XML/XSL, des requetes sur un système Documentum, des appels à des Web Services... dont le code tournait exactement de la même façon sur Windows et sur Solaris.
I found my freedom now.
Funny how it feels just like being alone...
Funny how it feels just like being alone...
- Klaim
- Artisan Digital
- Messages : 10635
- Enregistré le : mar. 27 mai 2003, 13:13
- Localisation : Paris
- Contact :
Exactement Jem, tout a fait d'accord.
Je ne suis pas spécialement pro C/C++, c'est l'outil que j'utilise le plus (par nécessité) mais pour faire l'editeur de mon jeu par exemple, j'opte plutot pour C# qui pour moi est une meilleure alternative à JAVA.
Pour la portabilité de JAVA, je ne conteste pas qu'un même code puisse marcher sur deux machines différentes, le problème survient avec le nombre de types de machines. D'ailleurs je pense pas que le problème soit visible sur des appli serveur web(servlet + jsp etc) parceque généralement ya une couche supplémentaire qui gere les différences (en gros le code spécifique est déjà fait par d'autres).
En fait ça pose problème surtout pour les "application client" classiques et d'une manière générale sur tout ce qui est pas pc genre les téléphones portables...
La ou je bosse actuellement on utilise C/C++ sur les portables mais bon on a besoin de vitesse et aussi on se limite au niveau du choix des portables à gérer.
edit>
Je ne suis pas spécialement pro C/C++, c'est l'outil que j'utilise le plus (par nécessité) mais pour faire l'editeur de mon jeu par exemple, j'opte plutot pour C# qui pour moi est une meilleure alternative à JAVA.
Pour la portabilité de JAVA, je ne conteste pas qu'un même code puisse marcher sur deux machines différentes, le problème survient avec le nombre de types de machines. D'ailleurs je pense pas que le problème soit visible sur des appli serveur web(servlet + jsp etc) parceque généralement ya une couche supplémentaire qui gere les différences (en gros le code spécifique est déjà fait par d'autres).
En fait ça pose problème surtout pour les "application client" classiques et d'une manière générale sur tout ce qui est pas pc genre les téléphones portables...
La ou je bosse actuellement on utilise C/C++ sur les portables mais bon on a besoin de vitesse et aussi on se limite au niveau du choix des portables à gérer.
edit>
... et aussi tout ce qui est materiel industriel, embarqué etc ouaip.jem a écrit :Les performance d'exécution c'est très bien pour la 3D, les jeux ou les simulations mathématique
- c.lambin
- Hannibal posteur
- Messages : 476
- Enregistré le : mar. 14 févr. 2006, 2:07
- Localisation : Plus haut... un peu plus à gauche... oui c'est là raaaahhh
- Contact :
Y'avait une vidéo de la version "maquette" qui date maintenant de plusieurs années.Fikey a écrit :alors çà....çà c'est la classe
manque juste un réacteur et ce sera parfait
Mais bon je serai pas satisfait tant que le pilote fera pas une cabriole pour aller s'accrocher aux roues
« Quand on est bien dedans, ça fait quand même plaisir » (Chron)
« Donc en fait Book-off, c'est comme Mandarake mais pour les gens normaux ? » (Anonyme)
« Donc en fait Book-off, c'est comme Mandarake mais pour les gens normaux ? » (Anonyme)
- c.lambin
- Hannibal posteur
- Messages : 476
- Enregistré le : mar. 14 févr. 2006, 2:07
- Localisation : Plus haut... un peu plus à gauche... oui c'est là raaaahhh
- Contact :
En fait dès qu'on fouille un peu pour trouver des benchmarks, le Java réserve souvent de bonnes surprises.jem a écrit :Klaim> Sans remettre en cause la supériorité du C++ par rapport à Java en terme de vitesse pure d'execution, je pense qu'il faut nuancer
Exemple : http://scutigena.sourceforge.net/
Bien sûr le test qui tue c'est "hello world" qui prend en compte le démarrage de la machine virtuelle (autrement dit une éternité).
J'avais vu un bench il y a 2-3 ans qui pointait un autre problème inhérent à la VM : les opérations en virgule flottante sont beaucoup plus lentes (d'un rapport genre 10x) sur CPU Intel et compatible. La faute à Intel qui ne calculerait pas ses arrondis de la même façon que sur les autres CPU : du coup pour avoir des résultats consistants sur cette plateforme, la VM effectue les calculs en software. Je ne sais pas si la situation s'est améliorée avec l'apparition du sse2/sse3.
Sinon globalement le Java se positionnne plus du côté du C++ que du côté de langages comme Perl, Ruby etc. Par contre la différence de vitesse est sensible dès qu'on recherche la performance.
« Quand on est bien dedans, ça fait quand même plaisir » (Chron)
« Donc en fait Book-off, c'est comme Mandarake mais pour les gens normaux ? » (Anonyme)
« Donc en fait Book-off, c'est comme Mandarake mais pour les gens normaux ? » (Anonyme)
- patrouchef
- Grenouille enragée
- Messages : 11285
- Enregistré le : mar. 09 juil. 2002, 23:24
- Localisation : Jardin des Hinata
- Contact :