jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
XML
En savoir plus

Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !
| Page 1 | |
| Auteur | Message |
|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |
| Page 1 | |
AzizLight
|
# Posté le 25/01/2008 à 17:34:03 |
|
|
Salut tout le monde,
En ce moment j'apprend a programmer en JAVA a l'universite, et j'ai demande a mon prof il y a quelques temps si il y avait des cours de C/C++ a l'universite; elle m'a repondu que non et que de toute maniere je n'avais pas besoin de prendre de cours du moment que je savait programmer en JAVA. Elle m'a aussi explique que JAVA est beaucoup plus portable, compatible et sur que le C/C++. Ce que je ne comprend pas, c'est pourquoi il n'y a pas plus de programmes ecrit en JAVA, et surtout pourquoi la majorite des programmes sont ecrit en C/C++. Pendant un moment je voulais apprendre le language C/C++ mais maintenant je me demande si ca vaut vraiment le cout. Notez bien que je suis debutant (voir super debutant, voir pire) en JAVA, donc si certaines des reponses a ces questions sont evidentes, excusez-moi... Quelqu'un pourrait m'expliquer la difference et les avantage/desavantages de ces deux languages svp? Et pouvez me donner des bonnes raisons d'apprendre le C/C++? Et puis j'ai une question bonus: Pourquoi Java ne viens pas installe par defaut sur tous les systemes d'exploitation? |
| Publicité | # Posté le 25/01/2008 à 17:34:03 |
|
|
|
colibri
|
# Posté le 25/01/2008 à 19:03:13 |
alergeek![]()
|
tu peux facilement passer de Java au C++ car la syntaxe est casi-identique.
|
graeme
|
# Posté le 25/01/2008 à 19:16:53 |
![]()
|
Citation : colibri
tu peux facilement passer de Java au C++ car la syntaxe est casi-identique. Je suis pas d'accord. C++ est plus complexe car pas beaucoup de classes prêtes à l'emploi contrairement à java. C++ est aussi un langage plus proche de la machine que java (il hérite de la structure de C: recourt plus fréquent aux allocations dynamiques, manipulation des pointeurs etc...) Je pense que Java n'est pas beaucoup utilisé pour les applications stand-alone pour la bonne raison qu'une application graphique compilée puis interprétée par une jvm prend bien plus de ressources matérielles qu'une application C ou C++. |
QuentinC 2
|
# Posté le 25/01/2008 à 20:14:39 |
|
Étudiant qui bosse... ou pas
|
En fait le plus gros désavantage de Java à mon avis c'est la taille du JRE.
Téléchargez mon super programme : machin.jar 100 Ko Et en-dessous : nécéssite la JRE, 100 Mo Ca fait tout de suite moins bien... sur ce point, les développeurs de python ont été plus malins : leur VM est beaucoup moins lourde. Il y a 3 types de mathématiciens: ceux qui savent compter, et ceux qui ne savent pas. Javascript, php, html, jeux, blagues, etc. == http://quentinc.net/ |
graeme
|
# Posté le 25/01/2008 à 20:28:11 |
![]()
|
Je ne pense pas que ce soit un gros handicap, le principal concurrent étant la plateforme .NET demande un gros téléchargement aussi...
|
SirJulio
|
# Posté le 25/01/2008 à 21:40:48 |
![]() Groupe : Anciens
|
Citation : Zyxozyx
En fait le plus gros désavantage de Java à mon avis c'est la taille du JRE. Téléchargez mon super programme : machin.jar 100 Ko Et en-dessous : nécéssite la JRE, 100 Mo Ca fait tout de suite moins bien... sur ce point, les développeurs de python ont été plus malins : leur VM est beaucoup moins lourde. Salut, bah, finalement, c'est un faux probleme. Les framework (Java ou .Net), tu les telecharges qu'une seule fois. Il y a de fortes chances qu'au moment de teleharger une appli necessitant ces environnements, tu l'aies deja. Puis pour .Net (je supose que c'est pareil pour Java), la VM ne pese pas grand chose, ce sont toutes les libs qui vont avec qui pese tres lourd (le dernier .Net fait dans les 50 Mo de memoire). |
Vince33
|
# Posté le 25/01/2008 à 21:56:33 |
Trop de travail tue le travail![]()
|
Salut,
Java est lent car il est interprété (bien que compiler aussi) C/C++ sont compilés et ne nécessitent pas de machines virtuelles pour pouvoir être éxécutés. Points positifs du java : --> TRES portables (indépendant du materiel ET du system d'exploitation) --> Orienté objet --> Beaucoup de classes pretes à l'emploie --> Le garbage collector (j'adore...) Points négatifs : --> Lent, lent mais lent... Ponits positifs de c/c++ : --> Trés rapide --> Portable (en général) --> Auto suffisant pour fonctionner --> Haute gestion de la mémoire en C --> Orienté Objet(C++) Points négagtifs de c/c++: --> Dépendent de l'os et parfois du materiel --> Moins de classes standardisées qu'en Java
Édité
le 25/01/2008 à 21:58:08
par Vince33
Sinon sa va?... |
rotoclap-le-connard
|
# Posté le 25/01/2008 à 23:47:12 |
|
Groupe : Bannis
|
Le truc aussi c'est que avec java tu peux faire des jeux pour portable
.
|
Vince33
|
# Posté le 25/01/2008 à 23:49:29 |
Trop de travail tue le travail![]()
|
Oue c'est ce que je disais : langage TRES portable
Sinon sa va?... |
AzizLight
|
# Posté le 26/01/2008 à 01:14:09 |
|
|
Merci beaucoup pour vos reponses. A mon avis je ne perd rien a apprendre les deux languages.
Mais ce que je trouve bizarre c'est que tout le monde dise (deux personnes l'ont deja dit dans ce topic) que JAVA est "lent". Je m'explique, prenez par exemple FrostWire, il n'est pas plus lent que Limewire; de la meme maniere jedit ou eclipse/easyeclipse ne sont pas lent (en tout cas je n'ai remarque aucune lenteur au niveau de ces programmes...). Bon peu etre que je n'ai pas donne de tres bon exemple, mais je ne connais pas beaucoup de programmes codes en JAVA. A mon avis cet argument est devenu obsolete, maintenant les ordis sont devenus assez puissant pour "masquer" cette lenteur ou meme la rendre inexistante... Ceci dit je n'ai peu etre rien compris, je suis peu etre completement a cote de la plaque, si c'est le cas n'hesitez a me corriger s'il vous plait. En ce qui concerne le framework JAVA c'est un mauvais argument puisqu'aujourd'hui tout le monde a JAVA installe sur leur ordi, et si ce n'est pas le cas, la taille de JAVA est encore moins un probleme vu la taille des disques durs actuels. D'ailleur je ne comprent pas pourquoi JAVA n'est pas installe par defaut sur les OS les plus connus omme Ubuntu ou windows; le comble serait que JAVA ne soit pas installe par defaut sur sunOS lol(note: en ce qui concerne .NET, c'est un language de programmation qui ne m'interesse pas du tout puisqu'il se limite a windows et que j'aime windows au moins aussi peu que mac, donc... tout est dit je pense...) Et puis pour conclure j'ai une petite question: Est-ce que la seule (bonne) raison au final d'ecrire un programme en JAVA est sa portabilite? |
dod
|
# Posté le 26/01/2008 à 01:42:22 |
![]()
|
Je ne pense pas que la seule raison d'utiliser Java est sa portabailité malgré le fait que c'est un atout indéniable, Java est trés puissant car il permet la création de trés grosses applications (réseaux, systèmes embarquées), il est également possible d'utiliser Java sur le Web (mais vu le potentiel de java autant l'utiliser pour de grosses applications sur le web).
De plus, le monde l'informatique est beaucoup plus vaste et ne se limite pas aux ordinateurs de bureaux et portables, il faut prendre en compte les GPS, téléphones portables, les autres systèmes, autres applications.
Édité
le 26/01/2008 à 01:49:01
par dod
|
QuentinC 2
|
# Posté le 26/01/2008 à 09:05:39 |
|
Étudiant qui bosse... ou pas
|
Citation
Le truc aussi c'est que avec java tu peux faire des jeux pour portable Oui mais c'est pas le même JDK de base que pour les appli bureautique, sauf erreur de ma part. Ou alors j'ai pas compris à quoi servait la version J2Me. En même temps je n'y ai jamais touché donc... A propos de la soit-disant lenteur de Java : je crois qu'ils se sont bien améliorés en la matière, si on en croit certains tests qui circulent sur le web. Et puis de toute façon pour une application bureautique normale, on s'en fiche que le temps d'exécution d'une tâche soit à 110 ou 120% par rapport à un même programme en C/C++ qui serait à 100%. D'un autre côté on sait bien pourquoi la plupart des gros jeux sont encore faits en C/C++ : il nécéssitent absolument la rapidité d'exécution, et la prise en charge aux meilleures performances possible du matériel (carte graphique, etc.) Il y a 3 types de mathématiciens: ceux qui savent compter, et ceux qui ne savent pas. Javascript, php, html, jeux, blagues, etc. == http://quentinc.net/ |
"Pégasus"
|
# Posté le 26/01/2008 à 12:41:41 |
|
|
C'est surtout que ça n'est souvent pas utilisé pour la même chose, puisque Java est surtout utilisé pour les grandes application d'entreprise, ou les applications mobiles par exemple (Téléphones)
Donc pour choisir un langage il faudrait déjà savoir pour quoi faire. Si tu as du temps devant toi : C++ versus Java
|
dod
|
# Posté le 26/01/2008 à 12:56:34 |
![]()
|
Une remarque aussi, les Macbook dispose de javac (sans même nécessiter l'installation du compilateur) pour la compilation.
Édité
le 26/01/2008 à 13:01:24
par dod
|
Mo
|
# Posté le 26/01/2008 à 14:47:30 |
t'oublierais pas ton ardoise ?![]()
|
Citation : undefined
en ce qui concerne .NET, c'est un language de programmation qui ne m'interesse pas du tout puisqu'il se limite a windows et que j'aime windows au moins aussi peu que mac donc il te reste à peu près 2% du parc mondial, quoi !! Citation : undefined tout est dit je pense...) En effet... Citation : undefined Et puis pour conclure j'ai une petite question: Est-ce que la seule (bonne) raison au final d'ecrire un programme en JAVA est sa portabilite? Là je crois que tu cours apres ta queue. Citation : undefined ou les applications mobiles par exemple (Téléphones) nokia a abandonné java pour python Citation : undefined Une remarque aussi, les Macbook dispose de javac (sans même nécessiter l'installation du compilateur) pour la compilation. Euh! Tu t'es relu, là ?? -> javac -> compilateur ?? Autrement tu fais quoi à l'université , barman ? Parce que si c'est l'intelligence artificielle, tu ferais aussi bien de t'en injecter une dose... lésine pas sur la dose
Édité
le 26/01/2008 à 14:59:12
par Mo
Si flooder est parler pour ne rien dire, alors, 99.999999% de la population mondiale floode sans arrêt. |
dod
|
# Posté le 26/01/2008 à 15:20:48 |
![]()
|
euh javac n'est pas un compilateur ? je ne vois pas ce que tu veux dire ? Moi ce que je voulais dire, c'est que les Macbook incluent le jdk et permettent ainsi une compilation sans télécharger le jdk.
Édité
le 26/01/2008 à 15:52:47
par dod
|
Mo
|
# Posté le 26/01/2008 à 15:43:46 |
t'oublierais pas ton ardoise ?![]()
|
Ah ok.
C'est un usage courant chez mac. Sur ma machine (powermac) équipée de Tiger aussi. Si flooder est parler pour ne rien dire, alors, 99.999999% de la population mondiale floode sans arrêt. |
iKs
|
# Posté le 26/01/2008 à 17:08:06 |
Find it. Fix it.![]()
|
|
AzizLight
|
# Posté le 26/01/2008 à 18:11:00 |
|
|
Citation : iKs
Euh t'sais Mo, tu peux programmer en Python, Ruby, C, C++, Ocaml, Java, etc. sans passer sous .NET et ainsi avoir tout simplement 99% du marché mondial (et ouais). Exactement, c'est pour cette raison que je ne veux pas perdre mon temps a apprendre un language de programmation qui se limite a un seul OS. Citation : Mo Citation : undefined Et puis pour conclure j'ai une petite question: Est-ce que la seule (bonne) raison au final d'ecrire un programme en JAVA est sa portabilite? Là je crois que tu cours apres ta queue. Desole mais je n'ai pas compris ce que veux dire ta reponse... En ce qui concerne les jeux videos (hormis ceux sur telephone portable), j'ai bien compris que programmer en C/C++ beaucoup mieux; donc a ce niveau le sujet est clos. (et puis entre nous les jeux videos ne m'interessent plus beaucoup depuis quelques temps...) Pour le reste je pense que je vais prendre le temps de lire le qu'a donne "Pégasus". Encore une fois merci pour vos reponses. |
Mo
|
# Posté le 26/01/2008 à 18:12:21 |
t'oublierais pas ton ardoise ?![]()
|
C'est quoi cette impertinence inutile et gratuite, du flood ?
Attention, la police veille... Il y a des 5% qui ont volé pour moins que ça... Si flooder est parler pour ne rien dire, alors, 99.999999% de la population mondiale floode sans arrêt. |
Vince33
|
# Posté le 26/01/2008 à 20:59:01 |
Trop de travail tue le travail![]()
|
Citation : Professor_K
A mon avis cet argument est devenu obsolete, maintenant les ordis sont devenus assez puissant pour "masquer" cette lenteur ou meme la rendre inexistante... Faux le materiel ne fait pas tout. Citation : Professor_K En ce qui concerne le framework JAVA c'est un mauvais argument puisqu'aujourd'hui tout le monde a JAVA installe sur leur ordi, et si ce n'est pas le cas, la taille de JAVA est encore moins un probleme vu la taille des disques durs actuels. Oui mais sa prend de la ressource systeme concéquente. Citation : Professor_K D'ailleur je ne comprent pas pourquoi JAVA n'est pas installe par defaut sur les OS les plus connus omme Ubuntu ou windows Et moi je ne vois pas de raison qu'il soit installé par défaul... On peut trés bien survivre sans. De plus java est un langage objet, ce qui n'est pas le cas du C. Et tout le monde ne veut pas forcément travailler en objet. Ensuite la gestion de la mémoire est beaucoup plus poussé en C. Je ne sit pas que C est mieux que java, je dis seulement que ce n'est pas la même chose.
Édité
le 26/01/2008 à 21:06:21
par Vince33
Sinon sa va?... |
Mo
|
# Posté le 26/01/2008 à 23:29:57 |
t'oublierais pas ton ardoise ?![]()
|
Citation : professor_k
D'ailleur je ne comprent pas pourquoi JAVA n'est pas installe par defaut sur les OS les plus connus omme Ubuntu ou windows Installer java d'office sur ubuntu ou autres distributions linux ainsi que *BSD est contraire à la philosophie du libre. En effet, qui dit libre, dit libre de choisir ce qu'on installe/utilise. Citation : undefined Je ne sit pas que C est mieux que java, je dis seulement que ce n'est pas la même chose. Belle déduction watson... Si flooder est parler pour ne rien dire, alors, 99.999999% de la population mondiale floode sans arrêt. |
Vince33
|
# Posté le 26/01/2008 à 23:45:00 |
Trop de travail tue le travail![]()
|
Citation : Mo
Belle déduction watson... Je dirais même élémentaire mon chère... Sinon sa va?... |
Natim
|
# Posté le 27/01/2008 à 13:38:42 |
|
Apprendre à coder c'est coder Groupe : Anciens
Ville : Belfort |
Moi je dirais que Java n'est pas une solution avantageuse.
Java c'est lent et même pour un petit programme de chat on le ressent. Java c'est laid (en tout cas Swing et AWT) chez mac ils ont refait le graphisme donc bon ça passe encore et puis on peut utiliser des packages pour changer tout cela. Java c'est pratique. Le fait que ce soit du tout objet est très intéressant mais beaucoup d'autre langage le permette. Et je préfère de beaucoup développer en Python qu'en Java. |
AzizLight
|
# Posté le 27/01/2008 à 14:10:31 |
|
|
Merci beaucoup pour toutes vos reponse, je pense que j'ai pris une decision: je vais apprendre a programmer le C/C++ ainsi que le python (j'avais deja l'intention d'apprendre le python).
Au final, j'ai remarque que le debat "JAVA contre C/C++" s'avere interminable (mais tres interessant) et rentre dans la categorie des debat du genre "Windows vs Mac", "Star Wars vs Star Trek" ou meme "WoW vs Guild Wars"... Donc je vais aller me faire ma propre opinion et je reviendrai donner mon avis dans quelques annees (si ce sujet existe encore :P) |
graeme
|
# Posté le 27/01/2008 à 14:35:34 |
![]()
|
Citation : Natim
Moi je dirais que Java n'est pas une solution avantageuse. Java c'est lent et même pour un petit programme de chat on le ressent. Java c'est laid (en tout cas Swing et AWT) chez mac ils ont refait le graphisme donc bon ça passe encore et puis on peut utiliser des packages pour changer tout cela. Java c'est pratique. Le fait que ce soit du tout objet est très intéressant mais beaucoup d'autre langage le permette. Et je préfère de beaucoup développer en Python qu'en Java. Vous ne voulez pas comprendre en général, qu'un langage est lié à une technologie particulière. Tu compares python à java alors que l'utilisation en est totalement différente. Dans mon esprit, les langages de programmation sont "rangés" dans plusieurs catégories: services réseau, petites et grosses applications web, applications graphiques, jeux vidéo... Python est sans doute beaucoup mieux que java pour mettre en place des applications graphiques sympa et des petites applications web. Java est indéniablement plus adapté que python au développement de services réseau et de gros programmes web. Pour moi, C & C++ sont des technologies un peu "universelles" (sauf pour le web), qui offrent un bon compromis entre possibilités et performances. Selon moi, l'aspect objet et la syntaxe des langages passent après les possibilités offertes (selon l'environnement de développement) dans leur choix. Ce que je veux dire dans tout ça, c'est que dire "un tel ou un autre est mieux que l'autre" sans connaître le contexte de développement est complètement inutile. En étude préliminaire de développement, on choisi le langage en dernier, celui qui correspond le mieux aux attentes du projet. Les développeurs ne se bornent pas dès le début à "oui mais C++ c'est mieux que C#", et heureusement...
Édité
le 27/01/2008 à 14:39:02
par graeme
|
1337833K
|
# Posté le 27/01/2008 à 15:02:14 |
lock cmpxchg8b eax![]()
|
Personellement, je ne supporte pas les langages dont même les possibilités les plus basiques sont orientées objets.
Je pense surtout au C#, comparé à son équivalent en C y a pas photo : Code : C# - Afficher / masquer les numéros de ligne
Tout le programme est contenu dans une classe (on va m'expliquer la logique ...), on fait appel à une fonction de l'objet Console pour écrire dedans. Code : C - Afficher / masquer les numéros de ligne
Tout le programme est contenu dans ... le code source, et on fait appel à une fonction pour écrire dans le flux de la console. C'est quand même plus logique, non ? Et pour certains langages, il faut appeler des fonctions présentes dans des sous-objets : Code : Java - Afficher / masquer les numéros de ligne Certes, c'est très subjectif comme avis, mais je trouve qu'écrire fonction(objetATriturer, parametre1); est beaucoup plus logique que objetATriturer.fonction(parametre1); et aussi que devoir appeler une fonction d'un sous-objet pour faire quelque chose d'aussi basique (en Java notamment) est une perte de temps monstrueuse ... Voilà, et vive le C et l'Assembleur !
Édité
le 27/01/2008 à 15:04:12
par 1337833K
La garbage collection, insulte ultime à tout utilisateur, car elle expose le manque d'amour du développeur pour ne pas avoir gentillement caressé chaque potentiel byte de précieuse mémoire que le programme alloue. |
Natim
|
# Posté le 27/01/2008 à 15:08:06 |
|
Apprendre à coder c'est coder Groupe : Anciens
Ville : Belfort |
Citation : graeme
Vous ne voulez pas comprendre en général, qu'un langage est lié à une technologie particulière. Tu compares python à java alors que l'utilisation en est totalement différente. [...]Python est sans doute beaucoup mieux que java pour mettre en place des applications graphiques sympa et des petites applications web. Java est indéniablement plus adapté que python au développement de services réseau et de gros programmes web. C'est absolument faux. Java et Python sont comparable car justement ils sont dans la même catégorie. Je ne vois pas pourquoi tu n'utiliserais pas Python pour de grosses applications Web et du développement Réseau. Comparer C++ et Java est là par contre plus délicat car C++ doit être recompilé sur chaque plateforme de développement (est-ce plus mal ?) alors que Java se transporte d'une plateforme à l'autre. A l'heure actuelle, il ne me viendrait que difficilement à l'idée de programmer en Java car je n'en vois absolument pas les avantages. C++ = Plus rapide, facilement portable si on veut faire des applications portables, plus adapté à la réalisation d'applications "Core". Python pour tout le reste, du script au applications plus légères en passant par le Web et le réseau. La seule nécessitée d'utiliser Java pour ma part serait pour développer pour Android. Maintenant, Java est l'exemple même de programmation Objet où l'objet prend toute sa place. C'est d'ailleurs à ce titre qu'on l'enseigne à l'université. Après, il me semble que c'est une question de goût pour un langage ou un autre. Peut-être aussi une question d'habitude ? D'affinité ? ou d'obligation lorsqu'on travaille pour quelqu'un d'autre ? Pour ma part, il me semble qu'avec Python on peut absolument tout faire. On peut même avoir des exécutables autonome ce qui est impossible avec Java. Après, à chacun de se faire son idée, mais à la question pourquoi n'y a t il pas plus de programme en Java et à la réponse à ça sert à rien d'apprendre le C++, je dirais que c'est tout simplement parce que Java n'est pas la réponse. Qu'il n'y a pas une seule est unique façon de penser la programmation. Que programmer en Java c'est être à la merci du développement de Sun. Que le C++ c'est la base de tout. La JVM n'a pas été programmée en Java. Alors que l'interpréteur Python existe en C, Java, .Net et même en Python ! Je pense qu'à l'heure actuelle, les développeurs recherche la simplicité en évitant de refaire ce qu'il faut toujours refaire en début de nouveau projet et en allant tout de suite à l'essentiel (principe du Framework). C'est ces principes qui sont repris en .Net, Java, Python et bien d'autres et qui font que la programmation devient un plaisir. Ce que les programmeurs recherchent (ou devraient rechercher) c'est aussi la probabilité pour que les utilisateurs choisissent leurs programmes et non les programmeurs leurs utilisateurs. Avec toutes ces informations en main, chacun doit être capable de choisir son langage et de programmer des applications de qualité, rapidement. En plus programmer en Python fait faire des économies d'énergie. Citation : ZdNet.fr La profusion de puissance et de mémoire a relégué au second plan la nécessité d'optimiser les applications. Mais on constate aujourd'hui que les logiciels écrits en Java ou Ruby consomment deux à cinq fois plus que leur équivalent en C++, Perl ou Python ! D'autre part, la structure souvent monolithique des applications génère une consommation maximum, quand seulement 10 ou 20 % des fonctions sont sollicitées. « Sans doute demain faudra-t-il mener une réflexion dans le choix du langage et la façon dont on structure le code, afin de mieux exploiter les ressources et donc de réduire la consommation électrique », poursuit Jean-Noël de Galzain, tout en admettant qu'il s'agit d'une idée émergente remettant en cause le parc applicatif existant.
Édité
le 27/01/2008 à 15:24:01
par Natim
|
iKs
|
# Posté le 27/01/2008 à 17:16:48 |
Find it. Fix it.![]()
|
|
Retour au forum "Autres langages, outils et approches" ou à la liste des forums
