java ou c++??

java ou c++?? - Programmation

Marsh Posté le 07-08-2001 à 20:36:03    

Bonsoir,
alors voilà, je voudrais me lancer un plus dans la programmation mais je ne sais pas vers quoi me tounrer.
Alors entre java (pas java script) et c++, lequel me conseillerez-vous? Et pourquoi?

Reply

Marsh Posté le 07-08-2001 à 20:36:03   

Reply

Marsh Posté le 07-08-2001 à 20:54:17    

c++ plus utilise (tout les prog sont fait avec ca), pas de decompilation possible, + rapide
et aussi un choix perso: j'aime pas le java

Reply

Marsh Posté le 08-08-2001 à 02:08:49    

le java c'est un langage portable, c'est d'ailleurs à mon avis mon seul intérêt. Il faut installer un interpréteur pour pouvoir exécuter ton code sur une machine. C'est donc relatimement lourd à mettre en place, et donc c'est pas le genre de langage utilisé pour faire des p'tites applis sous win par exemple.
Mais c'est en train de s'étendre très rapidement... Bcp d'examens (fac) en info/maths portent dorénavant sur le java et non plus le C++... Et c'est très facile d'utiliser des fonctions évoluées (IHM, rézo, clients/serveur...) en java.
 
Le c/c++ doit être adapté puis compilé sur le type de machine de destination. C'est un langage puissant, rapide, et fiable. De plus il est plus reconnu auprès des entreprises. Il est compilable et exécutable, il n'y a douc pas besoin d'un interpréteur comme en java.

Reply

Marsh Posté le 08-08-2001 à 08:49:14    

TheJackal : même si t'aime pas,le Java,  c'est quand même plus abordable, pour commencer....Pis comme ça, il intègrera bplus facilement les principes de la prog objet avant de s'attaquer au c++....

Reply

Marsh Posté le 08-08-2001 à 09:44:56    

si tu debutes, java
parce que le C++ c tres puissant mais : pour un debutant, faire de la gestion memoire c la poisse a moins d'utiliser un ramasse-miettes comme Java (genre Boehm-Weiser).
 
le framework est tres etendu, Java possede des extensions vers XML et est evidemment tres utilise pour sa portabilite en prog reseau.
 
je suis d'accord pour toutes les remarques sur la rapidite, etc... Avant de te mettre a C++, fais-toi les dents en Java et C
 
le langage le plus puissant qui soit c Lisp

Reply

Marsh Posté le 08-08-2001 à 11:13:25    

Thoregon a écrit a écrit :

le langage le plus puissant qui soit c Lisp  




 :lol:  :lol: Moi aussi j'aime bien le lisp, surtout quand il faut débugger :lol:  :lol:  
 
Sans rire, c'est vrai que le Lisp fait parti des "grands anciens" dans les langages de prog et qu'il a jeté plusieurs bases. D'aileur il utilise pas mal de concepts qui ont été repris par le java : langage interpreté, pas de pointeurs, ramasse miettes... Mais bon, avec sa syntaxe, il est quasi impossible de faire des grosses procedures sans perdre les pédales.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 08-08-2001 à 11:22:56    

Lisp n'a pas fait que jeter des bases. Il permet de faire de la programmation imperative, fonctionnelle ou objet. Son modele objet (CLOS) est d'ailleurs un des plus puissants (plus complet que C++ ou Java)
Ce n'est pas un langage interprete. Lisp est compile a la volee, ce qui represente une nette difference (enfin ca depend de ton environnement de programmation)
Si sa syntaxe est deroutante pour le debutant, elle est agreable a l'usage. Le plus difficile est de se faire a la lisibilite du code qui est fatalement tres differente de celle que l'o retrouve en Java

Reply

Marsh Posté le 08-08-2001 à 11:44:23    

gfive a écrit a écrit :

TheJackal : même si t'aime pas,le Java,  c'est quand même plus abordable, pour commencer....Pis comme ça, il intègrera bplus facilement les principes de la prog objet avant de s'attaquer au c++....  




 
c vrai ke j'avais pas penser a ca.
le java est peut etre plus simple c vrai

Reply

Marsh Posté le 13-08-2001 à 10:22:18    

TheJackal a écrit a écrit :

 
le java est peut etre plus simple c vrai  




 
je remplace le peut-être par "très très certainement" plus simple.
 
en plus y a des tas d'avantages ! déjà, si les performances ne sont pas ta priorité, tu gagnera bcp plus de temps à écrire un prog java que C++ : le langage est bien plus simple est agréable.
 
de plus, tu peux profiter d'un nombre incroyable d'outils open source. quelqu'un parlait des outils XML, mais c'est loin d'être le seul exemple ! (y a qu'à aller voir www.apache.org pour avoir un petit aperçu).
 
enfin, pour débuter, c'est vraiment un bon langage : ca permet d'apréhender les concepts de programmation objet sans avoir à trop s'embeter avec des problèmes de sémantiques ou des problèmes techniques liées au langage.
 
Si l'anglais ne te fais pas peur, je te conseil le bouquin "Thinking in Java" qui est vraiment une référence, et qui est consultable & télécheargeable gratuitement sur le net (je te laisse chercher l'adresse). Je suis pas une bete en anglais, mais j'ai quand même dévoré ce bouqin ! (attention, c'est quand meme un beau pavé, mais bien progressif)
 
Java rulez ! :D
 
remarque : c'est très dur de revenir au C++ quand on a gouté au Java ;)
remarque2 : malgrès son "manque de performance", Java est en train de devenir LE langage de programation des applications côté seveur.

Reply

Marsh Posté le 13-08-2001 à 10:28:10    

c'est tres dur de passer au Java quand on a goute au C++ :D  
 
ta deja vu des applications (j'entends par la des applications reels, vendu et qui ne sont pas des simples shareware) ecrite en java :sarcastic:

Reply

Marsh Posté le 13-08-2001 à 10:28:10   

Reply

Marsh Posté le 13-08-2001 à 12:36:23    

bah oui, j'en développe tous les jours!!

Reply

Marsh Posté le 13-08-2001 à 13:30:14    

ben entre Java et C++, y a C# maintenant !
 
Ce nouveau langage de M$ est cencé réunir les qualités des 2 langages ...
 
le C# est "portable" comme du java, mais coté syntaxe c'est plutot du style du C++
 
Pour + d'infos => http://csharp.free.fr

Reply

Marsh Posté le 13-08-2001 à 15:10:08    

Mais enfin, arretez de dire que le C++ est plus compliqué que java, c'est totalement, faux! En fait, vous pensez cela parce que vous pensez encore et toujours au C++ comme étant une extension du C. Il est tout a fait possible de faire des objets dynamiques en C++ en ne devant s'occuper que du minimum pour la mémoire. Et le résultat est une appli dont le code peux ête fortement portable mais surtout BEAUCOUP plus optimisé que java.

Reply

Marsh Posté le 13-08-2001 à 17:04:14    

"du minimum de la mémoire"
 
Ben simplement, lors de la création des tes objets, il te suffit de prévoir une fonction de destruction, ca prend rarement plus de 10 lignes et après t'as plus a y penser, ils sont détruit chaque fois qu'on sort de leur lifetime (pas de le scope heureusement)

Reply

Marsh Posté le 13-08-2001 à 20:12:38    

gizmo a écrit a écrit :

Mais enfin, arretez de dire que le C++ est plus compliqué que java, c'est totalement, faux! En fait, vous pensez cela parce que vous pensez encore et toujours au C++ comme étant une extension du C. Il est tout a fait possible de faire des objets dynamiques en C++ en ne devant s'occuper que du minimum pour la mémoire. Et le résultat est une appli dont le code peux ête fortement portable mais surtout BEAUCOUP plus optimisé que java.  




Je regrette, plus de la moitié des bugs des programmes C++ sont des bugs mémoire qui n'existent pas en Java : pointeurs ballants (dangling pointers en anglais), fuites mémoire, écrasements mémoire divers.
Ce n'est pas ma faute si Java est un langage beaucoup plus sûr que C++. Et ce n'est pas moi qui le dit : ce sont les statistiques dans l'industrie.
 
Quant à la portabilité, laisse-moi rire. J'ai travaillé pendant plusieurs années sur le développement d'un SGBD nouvelle génération en C++, qui devait être portable (Windows 95, Windows NT, des tas d'Unix, bref, sous des OS 16 bits, 32 bits et 64 bits, "petit-indien" comme "grand-indien" ; et encore, on n'a pas osé essayer de porter sur VAX ou pour AS/400). La vraie portabilité, c'est véritablement un art. Dans des vrais programmes, il est rare que tu n'aies pas à te reposer sur des API pas standard, et là, comme disent les anglophones, enjoy...
 
Par contre, c'est sûr que les programmes C++ sont généralement plus rapides que les programmes Java, puisque les compilateurs C++ génèrent du code machine, alors que les compilateurs Java génèrent généralement du pseudo-code qu'il faut ensuite interpréter. Mais si je peux me permettre : pour apprendre à programmer, la rapidité des programmes, on s'en bat les... biiiiiiiiiiiiiiip !!!!. Oups, désolé pour ce vocabulaire ! :D
Bref, la rapidité de Java suffit très largement pour l'apprentissage.

Reply

Marsh Posté le 13-08-2001 à 20:29:17    

ok, mais:
 
- la majorité des programmes c++ sont écrits comme s'il s'agissait d'une extension du c (je sais je me répète). Si on considère le C++ comme un langage OO à part entière et que l'ong programme dans cette optique, on n'a nettement moins de risque d'avoir des erreurs de pointeur fou ou de zone mémoire sans référence.
 
- pour ce qui est de la potabilité, c'est justement pour cette raison qu'on a inventé la modularisation et l'orienté objet. Alors certes, il reste des bout de code a retraduire, mais c'est loin d'être la majorité si tu ne développes pas un module bien spécifique (style gestion de DB par exemple). De plus, pour ce qui concernes la portabilité de Java, c'est encore loin d'être standard dès que l'on veut un peu optimiser son code.
 
- pour l'apprentissage... rien a dire c'est vrai qu'on s'en bat les...:D

Reply

Marsh Posté le 13-08-2001 à 20:51:29    

D'un autre côté, juste pour apprendre, le C++ c'est certes plus lourd mais ca peut etre plus formateur a bien des egards (comme ca peut etre destructeur si on se met a ecrire du C). Ce n'est qu'en C++ qu'on apprend reelement la rigueur (militaire :) ) si on a envie d'avoir du code propre sur soi et bien portant.
 
C'est bien pour ca qu'en production, developper en java, reduit considerablement le temps du codage (et surtout du deboggage  ;) ). Mais la on parle pas de boulot mais d'apprentissage et comme qui peut le plus plus  :D  peut le moins ...
 
PS. j'ai deja developpe des applis importantes en java (passés meme en prod avec succes) et c'est clair que java c'est aggreable (bien trop) du coup y a presque plus le piment d'un gros core dump, y'a plus de defi.

Reply

Marsh Posté le 13-08-2001 à 22:06:45    

A tout cela faut quand même ajouter, le pourquoi de l'apprentissage ! Java s'impose côté serveur, base de données et pages internet (jsp) pourtant il fait de l'animation, de la 3d et des applets malheureusement java a d'autres conccurrents : shockwave, xml, flash . . . et c'est pas des petits ! Tandis que pour le C++ force est de reconnaitre que toue les portes s'ouvrent . . . et c'est bien dommage que ce soit le seul avec le c car c'est ils restent des langages de bas niveau et nécessitent de bien les maitriser avant de faire quelchose de sérieux et ceux-là avant de les maîtriser . . .

Reply

Marsh Posté le 13-08-2001 à 23:34:01    

TheJackal : la boite dans laquelle je fais mon stage développe un de ses produits principalement en java. C'est un outil (très lourd, très complexe) qui permet de gérer des réseaux hétérogènes. Et c'est vendu dans les 100000 balles. Donc des boites qui développent en java, y'en a :)
 
Sinon pour débuter je conseille plutôt java. Non seulement c'est plus simple (pas de problèmes de pointeurs ou de libération de mémoire), mais c'est en plus un langage objet "propre", comparé au C++. Il n'y a à mon avis pas pire que le C++ pour débuter en programmation objet. Et en plus, en java, on peut développer très facilement des IHM. C'est plutôt attrayant pour un premier langage.

Reply

Marsh Posté le 14-08-2001 à 14:57:43    

Sayajin a écrit a écrit :

Java s'impose côté serveur, base de données et pages internet (jsp) pourtant il fait de l'animation, de la 3d et des applets malheureusement java a d'autres conccurrents : shockwave, xml, flash . . .



L'animation, 3D, applets, c'est pas serveur side, de meme que shockwave et flash ... Et entre le serveur side et le client side il n'y a pas forcement concurence : du shockwave qui appelle du jsp c'est assez courant !

Reply

Marsh Posté le 19-08-2001 à 21:29:13    

TheJackal a écrit a écrit :

 
ta deja vu des applications (j'entends par la des applications reels, vendu et qui ne sont pas des simples shareware) ecrite en java :sarcastic:  




 
ben ouais. coté serveur y en a des tonnes !

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed