OVH Cloud OVH Cloud

C++ ou Java ??

21 réponses
Avatar
fredPPP
Bonjour,

j'ai programmé actuellement essenssiellement en C pour des DSP ,
microcontroleur etc..
J'ai un nouveau projet qui va bientot démarré sur une prateforme PC (
Windows XP ou Linux non choisi actuellement )
Ne connaissant pas Java et certaines personnes me le conseillant , j'aimerai
savoir quels sont les avantages de l'un par rapport à l'autre

10 réponses

1 2 3
Avatar
LR
Bonjour,

j'ai programmé actuellement essenssiellement en C pour des DSP ,
microcontroleur etc..
J'ai un nouveau projet qui va bientot démarré sur une prateforme PC (
Windows XP ou Linux non choisi actuellement )
Ne connaissant pas Java et certaines personnes me le conseillant ,
j'aimerai

savoir quels sont les avantages de l'un par rapport à l'autre


Salut, cherche dans les archives, cette question a déjà été posée maintes et
maintes fois.

Ce que je peux te dire, c'est que java est un langage de plus "haut niveau"
que c++ ce qui peut éventuellement être un problème pour toi, tout dépend de
ton projet. A part ça, java est multiplateforme donc tu n'as pas à choisir
pour xp ou linux avant de commencer à développer. Ah et aussi java est moins
performant (du fait qu'il tourne sur une machine virtuelle).

A+Lilian

Avatar
Luc Hermitte
"LR" wrote in news::

Salut, cherche dans les archives, cette question a déjà été posée
maintes et maintes fois.


Vi. google est ton ami.

Ce que je peux te dire, c'est que java est un langage de plus "haut
niveau"


Je ne qualifirai pas Java de plus haut niveau. Il suffit de voir les
pirouettes qu'il nous oblige à accomplir si on veut exprimer des trucs
comme :
table["toto"] = 4;
ou enforcer des pre- et post-conditions au niveau des interfaces.

Disons qu'il impose des limitations qui font disparaitre des aspects de
bas niveau qui étaient toujours accessibles en C++.

Ah et aussi java est moins performant (du fait qu'il tourne sur une
machine virtuelle).


Oui et non. La VM permet certaines optimisations de dernier moment
(ciblées pour le système) que ne permet pas le C++ qui n'est qu'un
langage.

PS: fu2 sur fclc++
--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>

Avatar
Dave S.
........................................................HALTE AUX
TROLLS.................
a écrit dans le message de
news:bmdile$4ta$
Bonjour,

j'ai programmé actuellement essenssiellement en C pour des DSP ,
microcontroleur etc..
J'ai un nouveau projet qui va bientot démarré sur une prateforme PC (
Windows XP ou Linux non choisi actuellement )
Ne connaissant pas Java et certaines personnes me le conseillant ,
j'aimerai

savoir quels sont les avantages de l'un par rapport à l'autre






Avatar
jerome moliere
Luc Hermitte wrote:
"LR" wrote in news::


Salut, cherche dans les archives, cette question a déjà été posée
maintes et maintes fois.



Vi. google est ton ami.


Ce que je peux te dire, c'est que java est un langage de plus "haut
niveau"



Je ne qualifirai pas Java de plus haut niveau. Il suffit de voir les
pirouettes qu'il nous oblige à accomplir si on veut exprimer des trucs
comme :
table["toto"] = 4;
c'est moche :)

ou enforcer des pre- et post-conditions au niveau des interfaces.

ah bon qu'il y a t'il en C++ pour faire cela ?

tu penses pas a assert.h quand meme...
pour les vraies pre ou post tu peux tres bien le faire en Java via des
proxies dynamiques, des librairies instrumentant ton code (iContract) ...

Disons qu'il impose des limitations qui font disparaitre des aspects de
bas niveau qui étaient toujours accessibles en C++.

tout a fait d'accord :)



Ah et aussi java est moins performant (du fait qu'il tourne sur une
machine virtuelle).



Oui et non. La VM permet certaines optimisations de dernier moment
(ciblées pour le système) que ne permet pas le C++ qui n'est qu'un
langage.

même s'il est realiste de convenir que rares (mêmes s'ils existent) sont

les contextes où le ratio de perf entre Java et C++ est à 1 ....
par contre le langage a d'autres interets...


PS: fu2 sur fclc++


cool je vais troller chez les C++ iens

Jerome


Avatar
Luc Hermitte
jerome moliere wrote in news:bmeka1$2r07$1
@biggoron.nerim.net:
Je ne qualifirai pas Java de plus haut niveau. Il suffit de voir les
pirouettes qu'il nous oblige à accomplir si on veut exprimer des trucs
comme : [...]
ou enforcer des pre- et post-conditions au niveau des interfaces.

ah bon qu'il y a t'il en C++ pour faire cela ?



Héritage multiple de classes abstraites dont l'interface publique se
résume à des fonctions non virtuelles réalisant le pattern "template
method".

tu penses pas a assert.h quand meme...


Non en effet.

pour les vraies pre ou post tu peux tres bien le faire en Java via des
proxies dynamiques, des librairies instrumentant ton code (iContract)


Je viens de jeter un oeil à iContract, et oui, c'est un peu ce que je
veux dire ; à la différence que ce n'est pas géré exactement de la même
façon.

PS: fu2 sur fclc++
cool je vais troller chez les C++ iens



:)

--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>


Avatar
Loïc Joly
jerome moliere wrote:


Je ne qualifirai pas Java de plus haut niveau. Il suffit de voir les
pirouettes qu'il nous oblige à accomplir si on veut exprimer des trucs
comme :
table["toto"] = 4;


c'est moche :)


Ah ?

Quelle notation plus jolie proposerais-tu ?

--
Loïc


Avatar
Fabien LE LEZ
On Mon, 13 Oct 2003 18:32:24 +0200, jerome moliere
wrote:

table["toto"] = 4;


c'est moche :)


Ah ? Quelle notation a-t-on en Java pour assigner la valeur 4 à
l'élément d'index "toto" ? [En PHP, c'est la même notation qu'en C++.]

--
http://www.giromini.org/usenet-fr/repondre.html


Avatar
Jonathan Mcdougall
table["toto"] = 4;


c'est moche :)


Ah ? Quelle notation a-t-on en Java pour assigner la valeur 4 à
l'élément d'index "toto" ? [En PHP, c'est la même notation qu'en C++.]


table.putValue("toto", new Integer(4));

et pour la retirer

int valeur = ( (Integer) table.getValue("toto") ).intValue();

Ceci vient du fait que l'on ne peut mettre des types fondamentaux dans les
collections puisque les objets doivent hériter de la class Object. Puisque
les collections storent les objets comme s'ils étaient des Object, il faut
recaster quand on les sort. Le nouveau standard devrait régler ce problème
en introduisant des "génériques", similaires aux templates.


Jonathan



Avatar
Luc Hermitte
"Jonathan Mcdougall" wrote in
news:9YDib.36894$:

C++ > table["toto"] = 4;
Java > table.putValue("toto", new Integer(4));

Il me semblait qu'il fallait tester l'existence d'une valeur pour cet index
avant. Je m'étais peut-etre trompé. M'enfin, c'est un problème de
bibliothèque et non d'expressivité du language -- expressivité => surcharge
des opérateurs.

et pour la retirer
int valeur = ( (Integer) table.getValue("toto") ).intValue();


"récupérer" tu veux dire !?


--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>

Avatar
Fabien LE LEZ
On Tue, 14 Oct 2003 00:34:42 +0200, Luc Hermitte
wrote:

C++ > table["toto"] = 4;
Java > table.putValue("toto", new Integer(4));

Il me semblait qu'il fallait tester l'existence d'une valeur pour cet index
avant.


En C++, non -- elle est créée si elle n'existe pas.
En Java, aucune idée.

--
http://www.giromini.org/usenet-fr/repondre.html

1 2 3