C++ ou Java?
Résolu
chrisee
Messages postés
181
Date d'inscription
Statut
Membre
Dernière intervention
-
Fermiparadox Messages postés 11214 Date d'inscription Statut Membre Dernière intervention -
Fermiparadox Messages postés 11214 Date d'inscription Statut Membre Dernière intervention -
Y'a t-il des choses qu'on peut faire avec java et non avec le langage c++?Je ne suis pas informaticien,mais j'aimerais quand meme me lancer dans la programmation par le simple desire d'apprendre.J'aimerais commencer vraiment par un des deux,vu qu'il parrait que c'est trs puissant,mais j'aimerais connaitre leur avantages ainsi que liimites?Merci
A voir également:
- C++ ou Java?
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
5 réponses
bonsoir chrisee,
je connais plus C++ mais dirais peut importe le language pourvu qu'on est le virus... Si tu en connais un bien, après tous les autres se ressemble assez, bon développement a toi..
--
je connais plus C++ mais dirais peut importe le language pourvu qu'on est le virus... Si tu en connais un bien, après tous les autres se ressemble assez, bon développement a toi..
--
Pourquoi enlever le "Bonjour" mis en place automatiquement ?
Quand on se lance dans la programmation, il faut d'abord maîtriser l'algorithmique.
Ensuite pour le langage, tu peux faire quasiment les mêmes choses dans les deux langages. Le Java, de par son bytecode est plus "limité" en terme d'application mais un peu plus simple (pas besoin de s'embêter avec le garbage collector, et cie).
Perso, si je commençais, je m'orienterais vers un langage beaucoup plus simple comme le python. Cela te permettra de te faire les dents avec l'algorithmique dans un premier temps. Et puis, tu verras que c'est un langage très puissant.
Un petit lien : https://www.commentcamarche.net/faq/457-programmation-comment-debuter-quel-langage#java
Cdlt,
Quand on se lance dans la programmation, il faut d'abord maîtriser l'algorithmique.
Ensuite pour le langage, tu peux faire quasiment les mêmes choses dans les deux langages. Le Java, de par son bytecode est plus "limité" en terme d'application mais un peu plus simple (pas besoin de s'embêter avec le garbage collector, et cie).
Perso, si je commençais, je m'orienterais vers un langage beaucoup plus simple comme le python. Cela te permettra de te faire les dents avec l'algorithmique dans un premier temps. Et puis, tu verras que c'est un langage très puissant.
Un petit lien : https://www.commentcamarche.net/faq/457-programmation-comment-debuter-quel-langage#java
Cdlt,
"Le Java, de par son bytecode est plus "limité" en terme d'application"
Mouais... enfin au besoin y a toujours JNI, d'ailleurs un certain nombre de méthodes des bibliothèques standard utilisent cette technologie pour déléguer le traitement. Ce qui permet à Java de faire plus ou moins tout ce qu'il veut même sur des appels systèmes.
Mais les programmes de bureau n'ont jamais fait vivre Java, le domaine principale d'application ce sont les applications serveurs (Java EE) ou mobile (Java ME à l'époque, Android aujourd'hui).
L'intérêt du bytecode est surtout de décorreler la JVM du langage Java, et ainsi permettre à d'autres langages (Scala, Groovy, etc.) se compilant aussi en bytecode d'être exécutés sur la JVM, de même qu'un certain nombre de langages reviennent au C au moment de la compilation...
Mouais... enfin au besoin y a toujours JNI, d'ailleurs un certain nombre de méthodes des bibliothèques standard utilisent cette technologie pour déléguer le traitement. Ce qui permet à Java de faire plus ou moins tout ce qu'il veut même sur des appels systèmes.
Mais les programmes de bureau n'ont jamais fait vivre Java, le domaine principale d'application ce sont les applications serveurs (Java EE) ou mobile (Java ME à l'époque, Android aujourd'hui).
L'intérêt du bytecode est surtout de décorreler la JVM du langage Java, et ainsi permettre à d'autres langages (Scala, Groovy, etc.) se compilant aussi en bytecode d'être exécutés sur la JVM, de même qu'un certain nombre de langages reviennent au C au moment de la compilation...
Oui, mais vu la requête du monsieur, il n'est donc pas question ici de choisir une technologie pour s'interfacer avec une autre ; mais de tout faire dans un et même langage. Et en respectant sa demande (je ne la partage pas), le C++ permet de faire plus de chose qu'en Java. Tout comme le C++ permet de faire plus de chose qu'en Python. Pourtant, si je devais choisir entre ces 3 langages, ce n'est clairement pas le C++ que je prendrais :-).
"vu la requête du monsieur" Bah justement...
"Y'a t-il des choses qu'on peut faire avec java et non avec le langage c++?"
Bah en Java on peut faire une interface avec le C++ ou avec d'autres langages de bytecode, ce qui permet une plus grande portabilité en particulier entre les différents OS...
La JVM est quand même le plus gros point de différenciation entre Java et C++ cela se ressent surtout sur les outils qui en découlent et qui facilitent quand même le développement.
Le Java sacrifie certes les performances (mais finalement pas tant que ça), alourdit clairement le code, mais c'est des contraintes nécessaires à de très gros projets, ça impose de bonne pratique de codage et le programme gagne en robustesse et en correction. L'idéal pour apprendre ? :-)
"Y'a t-il des choses qu'on peut faire avec java et non avec le langage c++?"
Bah en Java on peut faire une interface avec le C++ ou avec d'autres langages de bytecode, ce qui permet une plus grande portabilité en particulier entre les différents OS...
La JVM est quand même le plus gros point de différenciation entre Java et C++ cela se ressent surtout sur les outils qui en découlent et qui facilitent quand même le développement.
Le Java sacrifie certes les performances (mais finalement pas tant que ça), alourdit clairement le code, mais c'est des contraintes nécessaires à de très gros projets, ça impose de bonne pratique de codage et le programme gagne en robustesse et en correction. L'idéal pour apprendre ? :-)
bsr fiddy
on est d'accord
a la limite pour débuter, une bonne maitrise du php peut suffire a pas mal de chose, tu as un projet, des besoins ?
--
on est d'accord
a la limite pour débuter, une bonne maitrise du php peut suffire a pas mal de chose, tu as un projet, des besoins ?
--
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je suis plutot le genre à assimiler facilement et quelqu'un de pateint,et j'ai des bonnes base en algorithmique.Donc je ne veux pas seulement,mais connaitre un langage et me spécialiser là-dessus.Un langage sans limite avec lequel je peux faire toute la folie comme bon me semble.Et pour php,j'ai lu quelque part,c'est pour le web,qui ne me passionne pas tellement
Non, mais pas le php, c'est une mauvaise idée.
Par contre, as-tu regardé le Python ?
Si tu veux vraiment un langage qui te permette de tout faire, fais en assembleur ;-).
Ce que je veux dire par là, c'est qu'un langage n'est pas optimale dans tous les domaines. Il vaut mieux connaître plusieurs langages. C'est largement plus performant. Pas besoin de faire des dizaines de lignes de code dans un langage lorsque tu peux le faire en 2 dans un autre...
Par contre, as-tu regardé le Python ?
Si tu veux vraiment un langage qui te permette de tout faire, fais en assembleur ;-).
Ce que je veux dire par là, c'est qu'un langage n'est pas optimale dans tous les domaines. Il vaut mieux connaître plusieurs langages. C'est largement plus performant. Pas besoin de faire des dizaines de lignes de code dans un langage lorsque tu peux le faire en 2 dans un autre...
Fiddy plaisantait en parlant de l'assembleur...
Mais comme c'est le langage qui pilote directement le processeur c'est le seul à pouvoir tout faire directement. Les autres langages utilisent des procédures déjà toutes faites pour les opérations les plus courantes. Du coup tu ne peux pas faire exactement ce que tu veux puisque tu es obligé d'utiliser ces procédures toutes faites.
On parle souvent de langage de bas niveau et de haut niveau, ça correspond à la granularité de ces procédures, plus elles sont petites plus elles se rapprochent d'une opération unitaire pour le processeur, c'est du bas niveau, au contraire une procédure qui fait une opération complexe du début à la fin sans que tu puisses agir sur la manière de faire alors c'est un langage de haut niveau.
L'assembleur est le langage de plus bas niveau (en dessous c'est du domaine de l'électronique), le C est parmi les langages de bas niveau, c'est d'ailleurs pour ça que les systèmes d'exploitation sont majoritairement écrits en C (au moins la couche la plus basse), viennent ensuite le C++ et le Java qui lui amène une couche de complexité supplémentaire vu qu'il est interprété par une machine virtuelle (la JVM) qui est écrite en C++.
On pourrait penser que les langages de haut niveau sont plus simple à apprendre que ceux de bas niveau. Ce n'est pas forcément faux, mais ils sont surtout plus limités. Si des langages de haut niveau comme Python peuvent s'écrire en deux lignes c'est parce que tu n'as pas à tout détailler dans les instructions à effectuer pour arriver au résultat, c'est simple mais en contrepartie si ça ne fait pas exactement ce que tu veux tu devras faire avec quand même.
C++ et Java sont relativement de même niveau (Java un peu plus haut que C++) ils sont un compromis entre les langages de bas niveau et ceux de haut niveau. Tu peux tout faire, soit parce qu'il existe déjà des procédure de haut niveau qui feront ce que tu veux, soit parce que tu auras la main sur les instructions de plus bas niveau pour détailler les traitements comme tu le souhaite.
Ceci étant dit, le critère haut/bas niveau n'est pas le seul qui distingue les langages il y a aussi les paradigmes de programmation...
Mais comme c'est le langage qui pilote directement le processeur c'est le seul à pouvoir tout faire directement. Les autres langages utilisent des procédures déjà toutes faites pour les opérations les plus courantes. Du coup tu ne peux pas faire exactement ce que tu veux puisque tu es obligé d'utiliser ces procédures toutes faites.
On parle souvent de langage de bas niveau et de haut niveau, ça correspond à la granularité de ces procédures, plus elles sont petites plus elles se rapprochent d'une opération unitaire pour le processeur, c'est du bas niveau, au contraire une procédure qui fait une opération complexe du début à la fin sans que tu puisses agir sur la manière de faire alors c'est un langage de haut niveau.
L'assembleur est le langage de plus bas niveau (en dessous c'est du domaine de l'électronique), le C est parmi les langages de bas niveau, c'est d'ailleurs pour ça que les systèmes d'exploitation sont majoritairement écrits en C (au moins la couche la plus basse), viennent ensuite le C++ et le Java qui lui amène une couche de complexité supplémentaire vu qu'il est interprété par une machine virtuelle (la JVM) qui est écrite en C++.
On pourrait penser que les langages de haut niveau sont plus simple à apprendre que ceux de bas niveau. Ce n'est pas forcément faux, mais ils sont surtout plus limités. Si des langages de haut niveau comme Python peuvent s'écrire en deux lignes c'est parce que tu n'as pas à tout détailler dans les instructions à effectuer pour arriver au résultat, c'est simple mais en contrepartie si ça ne fait pas exactement ce que tu veux tu devras faire avec quand même.
C++ et Java sont relativement de même niveau (Java un peu plus haut que C++) ils sont un compromis entre les langages de bas niveau et ceux de haut niveau. Tu peux tout faire, soit parce qu'il existe déjà des procédure de haut niveau qui feront ce que tu veux, soit parce que tu auras la main sur les instructions de plus bas niveau pour détailler les traitements comme tu le souhaite.
Ceci étant dit, le critère haut/bas niveau n'est pas le seul qui distingue les langages il y a aussi les paradigmes de programmation...