C++ ou Java ?

A

Anonymous

Invité
#1
Bonjour,
Comme vous le savez surement, je suis un ptit nouveau, et j'ai donc le choix (cruel) du langage.

Donc j'avais déjà un peu survolé (de très très haut) quelques langages et j'ai déjà choisis 2 langages parmi tous, tout d'abord parce que ce sont des langages connus et qui pourront donc surement servir par la suite et pas que pour mon projet de faire un Bot qui sera donc obligatoirement un socket du fait du choix du langage ;)
Me voilà donc rendu à la question : C++ ou Java ? ...
Les points positifs/négatifs ?? ..


Merci d'avance ! ;)
 
Inscrit
1 Mars 2014
Messages
120
Reactions
0
#2
C++ positif :
- performant car langage de bas niveau
- très utilisé donc beaucoup d'aide et de documentation
- t'as la possibilité d'utiliser Qt (gros +)

négatif :
- langage de bas niveau qui te permet de gérer au mieux tout un tas d'aspect comme la mémoire mais ça engendre des bug (segfault) si tu fais pas gaffe
- un peu plus ""dur"" à prendre en main (avec des gros guillemets quand même)

Java positif :
- c'est portable
- ??? ^^

négatif :
- c'est plus gourmand en ressource
- ??

Je connais pas en profondeur le Java donc j'peux pas trop débattre dessus. Niveau complexité d'apprentissage je pense que les deux se valent (POO les deux en plus).
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#3
Points positifs pour java :

- Portable comme tout le monde le sait
- Pas d'erreur de manipulation de pointeurs
- Faible possibilité d'avoir des fuites mémoires (Si c'est le cas, possibilité d'utiliser des profilers)
- Avec maven ou gradle, une ligne suffit à ajouter une api au projet, et de la mettre à jour
- Énormément de projets open sources disponibles
- Reflection

Points négatifs :

- Inhérent à la programmation de bots, manipulation de valeurs binaires pour palier aux type signés/non-signés
- Besoin d'installer une jvm
- Mémoire heap conséquente sur platforme desktop (modifiable)

Une source d'information non négligeable : http://en.wikipedia.org/wiki/Comparison ... nd_C%2B%2B
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#4
Attention, si tu decides de te lancer sur un bot full socket comme cela a l'aire d'etre le cas, D@fus a récemment instauré une nouvelle sécurité qui en fait baver plus d'un (dont moi)
Pour plus d'infos vois mon post récent dans la section C++
 

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#5
Si ça doit te servir par la suite, prends le C++.
C'est LE langage à connaître (en plus, en tant qu'évolution du C, tu apprendras en 2h ce langage fondamental) .
 
A

Anonymous

Invité
#6
Labo a dit:
C'est LE langage à connaître (en plus, en tant qu'évolution du C, tu apprendras en 2h ce langage fondamental) .
Ce n'est pas ce que j'ai entendu dire :shock:
Le tuto C++ du site du zéro donne 6 semaines pour apprendre le C++ ... Ou alors c'est 2H si tu connais déjà le C ? Ca me paraîtrait plus plausible déjà :D
 

Sorrow

Membre Actif
Inscrit
5 Mai 2012
Messages
376
Reactions
26
#7
Non 2 heures c'est trop peu et c'est pour des personnes qui ont déjà des notions dans la programmation.
Mais les fondamentaux, (variables, fonctions, structures, enumérations, etc..) donc c'est plutôt rapide oui (comme tout langage :)).
 

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#8
Non, ce que j'ai voulu dire, c'est que si tu connais le C++ qui est un peu plus compliqué (à cause de la POO), tu peux apprendre en 1 ou 2 heures maximum les différences de syntaxe avec le C, et donc connaître le C, et ça c'est cool parce que le C/C++ c'est bien ^^
Après, le tutoriel du site du zéro (qui est vraiment excellent, je te le conseille, c'est celui que j'ai lu) se fait en 6 semaines pour quelqu'un qui a d'autres activités la journée et fait 20 à 30 min de prog par jour.
Personnellement, j'avais fait les parties 1,2,4 et 5 (bon, j'avoue que la 4 j'avais pas compris grand chose aux foncteurs à l'époque, j'avais 11 ans :lol:) en 2 semaines. A l'époque j'avais pas écrit une ligne de code. Résultat : je me débrouillais, je savais lire et je connaissais tous les concepts mais pas très bien programmer, j'oubliais tout le temps la syntaxe. Vendredi dernier, j'ai commencé à relire le cours, en faisant tous les exemples. J'y ai pas touché ni Dimanche, ni Lundi, et hier soir j'en suis arrivé à la page 288 (sur 600). J'aurai donc approximativement fini ce week-end. Ca m'aura donc pris une semaine.
Conclusion : (sachant que j'ai quand même pas mal d'expérience) Tu peux arriver à lire ce cours en 2 semaines si tu t'investis.
Et puis, pour le début, pour faire un bot, tu n'as pas besoin de tout connaître ! Ce cours est très avancé, tu peux d'emblée te dispenser des parties 4 et 5 et ne lire que le chapitre sur le réseau de Qt (avec comment lire la doc) dans la partie 3. La fin de partie 2 est compliquée pour un débutant, mais néanmoins indispensable pour programmer objet. Après, pour faire un bot, il n'est pas obligatoire de le faire en POO, mais c'est quand même appréciable et puis tu pourras mieux comprendre les sockets en connaissant la POO.
 
A

Anonymous

Invité
#9
jones a dit:
Merci pour la source d'infos ;)

Par contre : point négatif : Java , "inhérent" : Qui est lié d'une manière intime et nécessaire à quelque chose : Responsabilité inhérente à une fonction. à la programmation de bots.
Tu voulais dire l'inverse plutôt non ?
Parce que sinon c'est pas un point négatif , c'est un plus de pouvoir faire des bots. :| :|

Je sent que ça va se terminer en plouf plouf tout ça ... parce que ca fait plusieurs jours que je balance entre les deux , un coup c'est le Java , un coup c'est le C++ , je crois que j'aurai mieux fait de commencer a apprendre, et j'aurai surement appris les 2 langages au lieu d'être encore sur lequel choisir :lol: :lol: :lol:
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#10
Non, au lieu de simplement déclarer un type et lire les données, tu dois utiliser des opérateurs binaires comme le décalage de bits pour lire la valeur correctement.
 
Inscrit
1 Mars 2014
Messages
120
Reactions
0
#11
Ah oui t'as pas le type unsigned en java ! Quel langage de barbare :troll: :p
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#12
Oui mais tu as la reflection, et pour les d2o/i ca facilite tellement la vie
 
A

Anonymous

Invité
#13
jones a dit:
Non, au lieu de simplement déclarer un type et lire les données, tu dois utiliser des opérateurs binaires comme le décalage de bits pour lire la valeur correctement.
Donc c'est juste un peu plus difficile ?
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#14
Oui.
 

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#15
Quand il a dit inhérent, cela voulait dire que cet inconvénient était inhérent à la programmation de bots, je pense.
APPRENDS LE C++ !!! Le java ne s'utilise pas dans les entreprises (en tous cas pas à ma connaissance).
Et si tu tiens à faire plaisir à gohu, ou que tu as envie d'utiliser la réflexion (tu ne sais sûrement pas encore ce que c'est) plus tard, tu pourras toujours apprendre le C# qui l'intègre, et tu pourras apprendre ce langage en 2h parce que c'est aussi un langage très proche du C/C++ !

Si tu hésites encore, C++ !
 

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#17
Si tu as des questions, n'hésite pas à me demander !
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#18
@Labo: mon bot full socket est en C++, c'est pour cela que je me permet de faire part des difficultés que j'ai rencontrée en le codant :)
 
A

Anonymous

Invité
#19
Deux petites réflexions:
"Points positifs du Java: il est portable"... Il y a un mauvais sous-entendu dans cette partie, personnellement j'ai compris cette phrase comme "le Java est portable, pas le C++". Or, il est certain que le C++ est portable (Qt est un framework entièrement portable, la STL est portable, la bibliothèque Boost est portable etc...). Normalement, tu peux réaliser à peu près n'importe quel programme avec le Framework Qt (énormément de modules & fonctionnalités dont le GUI et le réseau qui sont plutôt intéressants pour un bot ^^).
"Java n'est pas utilisé en entreprise"... Ca aussi c'est faux, et même je pense que Java est plus utilisé en entreprise que le C++ (là c'est une estimation personnelle). En tous cas, c'est sûr que le langage Java est très utilisé en entreprise =)
 
Inscrit
27 Aout 2012
Messages
264
Reactions
0
#20
D'accord avec immortel, Java est utilisé en entreprise bien plus qu'on le croit (et le fait que ce genre de langage soit utilise en entreprise m'échappe complètement \o/).
Je crois même que le C/C++ sont moins utilisés qu'auparavant (au profit du C# et autres langages barbares "modernes"), mais restent très utilisés.
 
Haut Bas