What's wrong with Java ?
Dernière réponse : dans Programmation
Oui je voulais savoir pourquoi beaucoup n'aiment pas java ?
Joce y a pas longtemps disait qu'il aimait pas, et c'est vraiment la première fois que je vois/entend ca.
Pourquoi donc ?
(Ah oui pas la peine de s'exciter spa un troll
).
Joce y a pas longtemps disait qu'il aimait pas, et c'est vraiment la première fois que je vois/entend ca.
Pourquoi donc ?
(Ah oui pas la peine de s'exciter spa un troll
). Autres pages sur : what wrong with java
Lassé par la pub ? Créez un compte
ben chacun a son opinion sur les langages existant
untel adorera Java, untel autre n'aimera pas pour telle raison
ca dépend du point de vue de chacun, et de l'utilisation qu'on veut en faire
Moi, j'aime bien java, mais y a certains points qui m'énervent, et certaines fonctionnalités manquantes (templates notamment)
untel adorera Java, untel autre n'aimera pas pour telle raison
ca dépend du point de vue de chacun, et de l'utilisation qu'on veut en faire
Moi, j'aime bien java, mais y a certains points qui m'énervent, et certaines fonctionnalités manquantes (templates notamment)
tomiotomio a écritben chacun a son opinion sur les langages existant
untel adorera Java, untel autre n'aimera pas pour telle raison
ca dépend du point de vue de chacun, et de l'utilisation qu'on veut en faire
Moi, j'aime bien java, mais y a certains points qui m'énervent, et certaines fonctionnalités manquantes (templates notamment)
untel adorera Java, untel autre n'aimera pas pour telle raison
ca dépend du point de vue de chacun, et de l'utilisation qu'on veut en faire
Moi, j'aime bien java, mais y a certains points qui m'énervent, et certaines fonctionnalités manquantes (templates notamment)
Déjà merci tu m'as sauvé du bide.
Ouais je sais bien que chacun a ses raisons mais justement comme pour l'instant j'ai vu plus souvent des avis négatifs sur le java que l'inverse (j'ai pas connu des centaines de dev non plus) je me demandais pourquoi.
Jul PA a écrit
Déjà merci tu m'as sauvé du bide.
Ouais je sais bien que chacun a ses raisons mais justement comme pour l'instant j'ai vu plus souvent des avis négatifs sur le java que l'inverse (j'ai pas connu des centaines de dev non plus) je me demandais pourquoi.![[:spamafote] [:spamafote]]()
Déjà merci tu m'as sauvé du bide.
Ouais je sais bien que chacun a ses raisons mais justement comme pour l'instant j'ai vu plus souvent des avis négatifs sur le java que l'inverse (j'ai pas connu des centaines de dev non plus) je me demandais pourquoi.
![[:spamafote] [:spamafote]](http://m.bestofmedia.com/sfp/design/usr/fr/smilies/3e/46/spamafote.gif)
je vais te donner mon avis sur Java, avec ma petite expérience : l'un des points forts de Java à mon avis est qu'il permet de développer très rapidement et facilement des applications robustes --> une bibliothèque de base qui répond à beaucoup de besoins, pas de problèmes de memory leaks contrairement à C/C++, pas de pointeurs (OK, d'un coté ça limite ce qu'on peut faire, mais c'est un langage haut niveau, on va pas s'emmerder à manipuler des pointeurs)
tomiotomio a écrit
je vais te donner mon avis sur Java, avec ma petite expérience : l'un des points forts de Java à mon avis est qu'il permet de développer très rapidement et facilement des applications robustes --> une bibliothèque de base qui répond à beaucoup de besoins, pas de problèmes de memory leaks contrairement à C/C++, pas de pointeurs (OK, d'un coté ça limite ce qu'on peut faire, mais c'est un langage haut niveau, on va pas s'emmerder à manipuler des pointeurs)
je vais te donner mon avis sur Java, avec ma petite expérience : l'un des points forts de Java à mon avis est qu'il permet de développer très rapidement et facilement des applications robustes --> une bibliothèque de base qui répond à beaucoup de besoins, pas de problèmes de memory leaks contrairement à C/C++, pas de pointeurs (OK, d'un coté ça limite ce qu'on peut faire, mais c'est un langage haut niveau, on va pas s'emmerder à manipuler des pointeurs)
+1
les plus : robustess, compatibilité, bonne gestion de la recuperation mem, plein de package existant (sur le reseaux, acces bdd..), javabean...
les moins : langage interpreté (pseudo code qui permet la compatibilité entre les plates formes)... (mais possibilité d'utiliser le JIT pour palier a ce probleme de "lenteur")
Je rajouterais qu'un autre gros point fort du Java est la gestion des erreurs d'execution, c'est un vrai bonheur
L'arrivée de C# va également permettre d'importer des nouveaux concepts dans Java (attributs notament). Pour tout ce qui touche au web dynamique, le Java selon moi est généralement le mieux adapté (pour des développements légers le PHP reste plus accessible).
Des gros efforts sont fait pour rendre Java utilisable en temps réel et sur de l'électronique embarquée, mais le travail est assez énorme..
L'arrivée de C# va également permettre d'importer des nouveaux concepts dans Java (attributs notament). Pour tout ce qui touche au web dynamique, le Java selon moi est généralement le mieux adapté (pour des développements légers le PHP reste plus accessible).
Des gros efforts sont fait pour rendre Java utilisable en temps réel et sur de l'électronique embarquée, mais le travail est assez énorme..
Jul PA a écritOui je voulais savoir pourquoi beaucoup n'aiment pas java ?
Joce y a pas longtemps disait qu'il aimait pas, et c'est vraiment la première fois que je vois/entend ca.
Pourquoi donc ?
(Ah oui pas la peine de s'exciter spa un troll
).
Joce y a pas longtemps disait qu'il aimait pas, et c'est vraiment la première fois que je vois/entend ca.
Pourquoi donc ?
(Ah oui pas la peine de s'exciter spa un troll
).La plupart des gens qui n'aiment pas java n'ont tout simplement rien compris à l'informatique moderne.
Ils ne sont pas encore revenus de l'époque où ils programmaient en basic (ou pascal et C pour les bêtes) pour le plaisir et ou les problèmes centraux étaient : aller vite et économiser la mémoire. Quant aux bugs, ils étaient maîtrisables car la taille des programmes était réduite.
Ils ne connaissent en général pas assez de théorie notamment en mathématique, en POO et en algorithmique. Aussi, ils croient que C++ est un langage 100% objet et qu'un bon programme est un programme dont le code est optimisé. Ils croient aussi faire de la programmation objet lorsqu'ils manipulent des pointeurs sur des objets.
JAVA a beaucoup d'avantages :
- toute erreur ne provoquera au pire qu'une exception.
- APIs de toute beauté. Utilisation du MVC dans swing.
- pensée moderne et 100% objet. De très loin, le plus clair des langages courants.
- portable et ouvert.
- facile à installer et à distribuer.
- avantages d'un langage interprété : RMI, introscpection, vérification des classes (clé), etc.
- très orienté Net et très sécurisé. Excellent pour écrire des serveurs.
- norme claire, simple et ouverte. je rappelle que JAVA n'est pas la propriété de SUN.
JAVA n'a que très peu de limites. Il n'est pas fait pour :
- manipuler la machine à bas niveau.
- faire du calcul intensif.
Donc pour écrire des OS, des drivers et des programmes de calcul intense, passez son chemin. Pour tout le reste il surpasse tous les autres langages.
ftopaz a écritMoi je suis en train de me mettre à java mais ce qui me rebute, c'est le nombre de classe pré existante... Y'en a tellement qu'on ne sais plus où donner de la tête...
J'aimerai faire de chouettes trucs mais pour l'instant, j'en suis qu'au théorique et ca me rebute un peu...
+1J'aimerai faire de chouettes trucs mais pour l'instant, j'en suis qu'au théorique et ca me rebute un peu...
j'ai interet à me passionner, j'ai 1 mois 1/2 pour finir mon projet ftopaz a écritMoi je suis en train de me mettre à java mais ce qui me rebute, c'est le nombre de classe pré existante... Y'en a tellement qu'on ne sais plus où donner de la tête...
J'aimerai faire de chouettes trucs mais pour l'instant, j'en suis qu'au théorique et ca me rebute un peu...
J'aimerai faire de chouettes trucs mais pour l'instant, j'en suis qu'au théorique et ca me rebute un peu...
T'es pas obligé d'utiliser les classes existantes. Elles sont là pour t'aider, pas t'emmerder.
Va faire un tour du côté des MFC microsoft pour voir à quoi ressemble une API vraiemnt trop grosse.
BERN4RD a écritjava c'est de la merde
de la bouffe pour chiens
METTEZ VOUS AU LISP
(edit)
le C++ est second dans ma liste
de la bouffe pour chiens
METTEZ VOUS AU LISP
(edit)
le C++ est second dans ma liste
LISP : lanagage sans intérêt et sans avenir dans l'industrie.
C++ : ceux qui aiment C++ sans aimer JAVA sont des gens qui, en rélaité, ne programment pas en C++ mais en C. Ils ne connaissent pas bien la POO ne connaissent pas la différence profonde qu'il y a entre une référence et un pointeur. Ils sont au C++ parcequ'ils ont utilisé des RAD qui génèrent de l'objet et fontent du code C au milieu.
Bref, ce sont le pires polueurs de l'industrie informatique, créateurs de bugs, pisseurs de codes amateurs d'optimisations pour tenter en vain de rattraper leur incapacité à concevoir efficacement.
Je remarque aussi que les gens qui n'aiment pas JAVA sont aussi des gens qui ne connaissent pas JAVA.
JAVA Alive a écrit
LISP : lanagage sans intérêt et sans avenir dans l'industrie.
C++ : ceux qui aiment C++ sans aimer JAVA sont des gens qui, en rélaité, ne programment pas en C++ mais en C. Ils ne connaissent pas bien la POO ne connaissent pas la différence profonde qu'il y a entre une référence et un pointeur.
blabla et reblabla
LISP : lanagage sans intérêt et sans avenir dans l'industrie.
C++ : ceux qui aiment C++ sans aimer JAVA sont des gens qui, en rélaité, ne programment pas en C++ mais en C. Ils ne connaissent pas bien la POO ne connaissent pas la différence profonde qu'il y a entre une référence et un pointeur.
blabla et reblabla
Euh je ne connais pas cette différence
Tu pourrais me l'expliquer ?Car pour moi tous les objects Java sont des "pointeurs" (pas sur les types de base) des pointeurs certe controlés et simplifiés mais des pointeurs quand meme (que l'on peut appeler reference aussi )
tu pourrais m'eclairer ? ah moins que tu parlais des pointeurs c++ type a part entiere et du coup les reference de c++ serait les references de java... (donc pas de "pointeur c++" en java
) JAVA Alive a écrit
LISP : lanagage sans intérêt et sans avenir dans l'industrie.
C++ : ceux qui aiment C++ sans aimer JAVA sont des gens qui, en rélaité, ne programment pas en C++ mais en C. Ils ne connaissent pas bien la POO ne connaissent pas la différence profonde qu'il y a entre une référence et un pointeur. Ils sont au C++ parcequ'ils ont utilisé des RAD qui génèrent de l'objet et fontent du code C au milieu.
Bref, ce sont le pires polueurs de l'industrie informatique, créateurs de bugs, pisseurs de codes amateurs d'optimisations pour tenter en vain de rattraper leur incapacité à concevoir efficacement.
Je remarque aussi que les gens qui n'aiment pas JAVA sont aussi des gens qui ne connaissent pas JAVA.
do you want mary me? LISP : lanagage sans intérêt et sans avenir dans l'industrie.
C++ : ceux qui aiment C++ sans aimer JAVA sont des gens qui, en rélaité, ne programment pas en C++ mais en C. Ils ne connaissent pas bien la POO ne connaissent pas la différence profonde qu'il y a entre une référence et un pointeur. Ils sont au C++ parcequ'ils ont utilisé des RAD qui génèrent de l'objet et fontent du code C au milieu.
Bref, ce sont le pires polueurs de l'industrie informatique, créateurs de bugs, pisseurs de codes amateurs d'optimisations pour tenter en vain de rattraper leur incapacité à concevoir efficacement.
Je remarque aussi que les gens qui n'aiment pas JAVA sont aussi des gens qui ne connaissent pas JAVA.
tartiflette a écrit
Euh je ne connais pas cette différence
Tu pourrais me l'expliquer ?
Car pour moi tous les objects Java sont des "pointeurs" (pas sur les types de base) des pointeurs certe controlés et simplifiés mais des pointeurs quand meme (que l'on peut appeler reference aussi )
tu pourrais m'eclairer ? ah moins que tu parlais des pointeurs c++ type a part entiere et du coup les reference de c++ serait les references de java... (donc pas de "pointeur c++" en java
)
Euh je ne connais pas cette différence
Tu pourrais me l'expliquer ?Car pour moi tous les objects Java sont des "pointeurs" (pas sur les types de base) des pointeurs certe controlés et simplifiés mais des pointeurs quand meme (que l'on peut appeler reference aussi )
tu pourrais m'eclairer ? ah moins que tu parlais des pointeurs c++ type a part entiere et du coup les reference de c++ serait les references de java... (donc pas de "pointeur c++" en java
)Oui, c'est exactement ça. Les pointeurs, ça n'existe pas en JAVA.
La grande différence c'est qu'une référence désigne un objet. Elle est fortement typée et un cast ne pourra être fait que vers une classe ou interface fille.
Un pointeur c'est deux choses : une adresse mémoire et un type (simple, struct ou classe). On peut les caster en n'importe quoi (selon la config du compilo on aura éventuellement des warnings) et, de plus, on peut ajouter un entier à un pointeur (pas possible sur une référence).
Ceux qui disent que JAVA c'est nul par rapport à C++ reprochent 9 fois sur 10 à JAVA de ne pas avoir de pointeurs. Ce sont donc des gens qui utilisent "malloc" (ou équivalent) et pas "new". Ils ne font donc pas de POO, ne bénéficient pas des constructeurs et confondent en général tableau d'objets et tableau de références sur objets.
JAVA Alive a écrit
Oui, c'est exactement ça. Les pointeurs, ça n'existe pas en JAVA.
La grande différence c'est qu'une référence désigne un objet. Elle est fortement typée et un cast ne pourra être fait que vers une classe ou interface fille.Un pointeur c'est deux choses : une adresse mémoire et un type (simple, struct ou classe). On peut les caster en n'importe quoi (selon la config du compilo on aura éventuellement des warnings) et, de plus, on peut ajouter un entier à un pointeur (pas possible sur une référence).
Ceux qui disent que JAVA c'est nul par rapport à C++ reprochent 9 fois sur 10 à JAVA de ne pas avoir de pointeurs. Ce sont donc des gens qui utilisent "malloc" (ou équivalent) et pas "new". Ils ne font donc pas de POO, ne bénéficient pas des constructeurs et confondent en général tableau d'objets et tableau de références sur objets.
Oui, c'est exactement ça. Les pointeurs, ça n'existe pas en JAVA.
La grande différence c'est qu'une référence désigne un objet. Elle est fortement typée et un cast ne pourra être fait que vers une classe ou interface fille.Un pointeur c'est deux choses : une adresse mémoire et un type (simple, struct ou classe). On peut les caster en n'importe quoi (selon la config du compilo on aura éventuellement des warnings) et, de plus, on peut ajouter un entier à un pointeur (pas possible sur une référence).
Ceux qui disent que JAVA c'est nul par rapport à C++ reprochent 9 fois sur 10 à JAVA de ne pas avoir de pointeurs. Ce sont donc des gens qui utilisent "malloc" (ou équivalent) et pas "new". Ils ne font donc pas de POO, ne bénéficient pas des constructeurs et confondent en général tableau d'objets et tableau de références sur objets.
euh vers une classe parente plutot non ?
sinon merci bien de toutes ses précisions...
le seul truc qui me chagrine vraiment dans Java, c'est l'impossibilité de surcharger les opérateurs. Je sais pas qui a décrété que ct plus sur et qu'il fallait pas faire confiance au programmeur, d'accord sans opérateur on ecrit explicitement, mais qu'est ce que ça peut etre lourd pour les comparaisons, des qu'on manipule du numerique, etc. Quand je pense que certains langages peremettent d'ecrire a < i < b, en Java, on est pas couché
autre truc: la qualité de l'implémentation de l'API: suffit de mater les sources, c'est du travaille de porc, le code est des fois désastreux, l'API est documenté sur tous sauf sur les points technqiues (genre la blague de la hashmpa, autant pas faire de fonction de hachage)
en fait je me suis mis à Java comme ça, ça me plait assez
ce qui m'a surtout donner envie en fait, c'est la naissance de C# et co. , je pouvais pas rester les bras croisés, faillait j'apprenne Java qui est libre
autre truc: la qualité de l'implémentation de l'API: suffit de mater les sources, c'est du travaille de porc, le code est des fois désastreux, l'API est documenté sur tous sauf sur les points technqiues (genre la blague de la hashmpa, autant pas faire de fonction de hachage)
en fait je me suis mis à Java comme ça, ça me plait assez
ce qui m'a surtout donner envie en fait, c'est la naissance de C# et co. , je pouvais pas rester les bras croisés, faillait j'apprenne Java qui est libre
++Taz a écritle seul truc qui me chagrine vraiment dans Java, c'est l'impossibilité de surcharger les opérateurs. Je sais pas qui a décrété que ct plus sur et qu'il fallait pas faire confiance au programmeur, d'accord sans opérateur on ecrit explicitement, mais qu'est ce que ça peut etre lourd pour les comparaisons, des qu'on manipule du numerique, etc. Quand je pense que certains langages peremettent d'ecrire a < i < b, en Java, on est pas couché
autre truc: la qualité de l'implémentation de l'API: suffit de mater les sources, c'est du travaille de porc, le code est des fois désastreux, l'API est documenté sur tous sauf sur les points technqiues (genre la blague de la hashmpa, autant pas faire de fonction de hachage)
en fait je me suis mis à Java comme ça, ça me plait assez
ce qui m'a surtout donner envie en fait, c'est la naissance de C# et co. , je pouvais pas rester les bras croisés, faillait j'apprenne Java qui est libre
autre truc: la qualité de l'implémentation de l'API: suffit de mater les sources, c'est du travaille de porc, le code est des fois désastreux, l'API est documenté sur tous sauf sur les points technqiues (genre la blague de la hashmpa, autant pas faire de fonction de hachage)
en fait je me suis mis à Java comme ça, ça me plait assez
ce qui m'a surtout donner envie en fait, c'est la naissance de C# et co. , je pouvais pas rester les bras croisés, faillait j'apprenne Java qui est libre
La surcharge des opérateurs, ça apporte quoi dans le fond ? Pour moi rien du tout, c'est du flanby tout juste bon à compliquer le code. Fo savoir que JAVA est un langage des plus modernes et que son but est de répondre aux besoins d'aujourd'hui, à savoir écrire des programmes de 2 milion de lignes à 30 personnes différentes.
Quant aux API, je les trouve absoluement superbes. Qu'est-ce que tu leur repproche ?
JAVA Alive a écrit
La surcharge des opérateurs, ça apporte quoi dans le fond ? Pour moi rien du tout, c'est du flanby tout juste bon à compliquer le code. Fo savoir que JAVA est un langage des plus modernes et que son but est de répondre aux besoins d'aujourd'hui, à savoir écrire des programmes de 2 milion de lignes à 30 personnes différentes.
Quant aux API, je les trouve absoluement superbes. Qu'est-ce que tu leur repproche ?
La surcharge des opérateurs, ça apporte quoi dans le fond ? Pour moi rien du tout, c'est du flanby tout juste bon à compliquer le code. Fo savoir que JAVA est un langage des plus modernes et que son but est de répondre aux besoins d'aujourd'hui, à savoir écrire des programmes de 2 milion de lignes à 30 personnes différentes.
Quant aux API, je les trouve absoluement superbes. Qu'est-ce que tu leur repproche ?
Tu conseilles quoi comme API ? je debute, j'ai quelques notion de c, c++ et Java me séduit de plus en plus (plus j'en apprend et plus j'aime
)JAVA Alive a écrit
La surcharge des opérateurs, ça apporte quoi dans le fond ? Pour moi rien du tout, c'est du flanby tout juste bon à compliquer le code. Fo savoir que JAVA est un langage des plus modernes et que son but est de répondre aux besoins d'aujourd'hui, à savoir écrire des programmes de 2 milion de lignes à 30 personnes différentes.
Quant aux API, je les trouve absoluement superbes. Qu'est-ce que tu leur repproche ?
ben sans avoir a faire une appli numerique poussé (genre jsute un petit calcul dans une appli, tu dois calculer La surcharge des opérateurs, ça apporte quoi dans le fond ? Pour moi rien du tout, c'est du flanby tout juste bon à compliquer le code. Fo savoir que JAVA est un langage des plus modernes et que son but est de répondre aux besoins d'aujourd'hui, à savoir écrire des programmes de 2 milion de lignes à 30 personnes différentes.
Quant aux API, je les trouve absoluement superbes. Qu'est-ce que tu leur repproche ?
|| M * V - k * V ||
avec M matrice 5*5, V vecteur 5, k réel et || la norme
en C++
norme(M*V - k*V)
en Java....
tartiflette > ça dépend de ce que tu veux faire. Tu peux commencer par AWT. Ca te permettra de créer des IHM facilement. Pour swing il faut impérativement comprendre ce qu'est le model-view-controler.
++Taz > "|| M * V - k * V || avec M matrice 5*5, V vecteur 5, k réel et || la norme en JAVA" >
J'écrirai une classe Matrix avec méthodes :
public static Matrix mult(Matrix, Matrix)
public static double norme(Matrix)
etc.
Le tout s'écrirait :
Matrix.norme(Matrix.substract(Matrix.mult(M,V),Matrix.mult(k,V))) mais j'écrirai probablement pas ça en une ligne.
Les différences C++ et JAVA :
Avantages C++ :
L'expression C++ est plus courte et plus lisible d'un point de vue mathématique (d'un point de vue info, c'est plus discutable car on pourrait douter de l'intérêt d'avoir le même symbole pour des opérations fondamentalement différentes d'un point de vue info).
Avantages JAVA :
Bénéfice de toute la puissance objet pour définir la classe Matrix =>
possibilité de définir des sous-classes de Matrix comme Matrix3x3 avec des méthodes propres à la 3D (rotation, etc)
possibilité de lancer des exceptions elles-même tirant partie de la techno objet.
possibilité de nommer différemment la méthode mult(matrice, matrice) et mult(réel, matrice) d'ou une réelle clarté sur les types des opérandes (mais on peut aussi leur donner le même nom, les EDI JAVA te donnent toujours le type des paramètres par simple click droit ou truc dans le genre)
Mais on est un peu dans le chipotage :
1. la redéfnition des opérateurs, ça peut être bien. Si tu écris un prog qui fait beaucoup de calcul sur les matrices et que c'est codé en dur dans le code, par exemple.
2. Tout ce que fait JAVA, C++ sait le faire en dehors du fait que chaque langage a ses propres API et que ça rendra forcément les programmes différents.
Ce que je critique réellement, ce sont les gens qui font du pseudo C++ avec des pointeurs de merde partout, qui font de l'optimisation de code et qui critiquent JAVA. Ceux-là n'écrivent pas des programmes rapides (car s'ils connaissaient l'alorythmique, ils ne feraient pas d'optimisation de code) n'écrivent pas non plus des programmes stables (lignes de code bordelliques) et ont un sens de l'estétique du code qui date des années 70. Passer derrière eux est un vrai cauchemard ...
++Taz > "|| M * V - k * V || avec M matrice 5*5, V vecteur 5, k réel et || la norme en JAVA" >
J'écrirai une classe Matrix avec méthodes :
public static Matrix mult(Matrix, Matrix)
public static double norme(Matrix)
etc.
Le tout s'écrirait :
Matrix.norme(Matrix.substract(Matrix.mult(M,V),Matrix.mult(k,V))) mais j'écrirai probablement pas ça en une ligne.
Les différences C++ et JAVA :
Avantages C++ :
L'expression C++ est plus courte et plus lisible d'un point de vue mathématique (d'un point de vue info, c'est plus discutable car on pourrait douter de l'intérêt d'avoir le même symbole pour des opérations fondamentalement différentes d'un point de vue info).
Avantages JAVA :
Bénéfice de toute la puissance objet pour définir la classe Matrix =>
possibilité de définir des sous-classes de Matrix comme Matrix3x3 avec des méthodes propres à la 3D (rotation, etc)
possibilité de lancer des exceptions elles-même tirant partie de la techno objet.
possibilité de nommer différemment la méthode mult(matrice, matrice) et mult(réel, matrice) d'ou une réelle clarté sur les types des opérandes (mais on peut aussi leur donner le même nom, les EDI JAVA te donnent toujours le type des paramètres par simple click droit ou truc dans le genre)
Mais on est un peu dans le chipotage :
1. la redéfnition des opérateurs, ça peut être bien. Si tu écris un prog qui fait beaucoup de calcul sur les matrices et que c'est codé en dur dans le code, par exemple.
2. Tout ce que fait JAVA, C++ sait le faire en dehors du fait que chaque langage a ses propres API et que ça rendra forcément les programmes différents.
Ce que je critique réellement, ce sont les gens qui font du pseudo C++ avec des pointeurs de merde partout, qui font de l'optimisation de code et qui critiquent JAVA. Ceux-là n'écrivent pas des programmes rapides (car s'ils connaissaient l'alorythmique, ils ne feraient pas d'optimisation de code) n'écrivent pas non plus des programmes stables (lignes de code bordelliques) et ont un sens de l'estétique du code qui date des années 70. Passer derrière eux est un vrai cauchemard ...
tartiflette a écrit:-) je parlais d'outil de devellopement java genre visual age, cafe...
Que conseillerais tu ?
sinon je vais me mettre au swing directement.. c'est tres proche d'awt quand meme
enfin je verrais bien
Que conseillerais tu ?
sinon je vais me mettre au swing directement.. c'est tres proche d'awt quand meme
enfin je verrais bien
Non, swing est assez différent d'awt. Fo IMPERATIVEMENT connaitre le MVC sinon tu es mort.
Pour l'EDI, visual age est mon préféré (absoluement génial) mais il est abandonné par IBM au profit de websphere qui est surtout fait pour le web (J2EE à la sauce IBM).
Un plugin intégrant la composition visuelle de visual age à websphere devrait sortir mais je ne sais pas s'il est sorti (je ne suis plus trop le truc).
Perso, j'utilise eclipse (eclipse.org) qui est très très bien et gratos mais il n'y a pas de composition visuelle.
Java a qd meme des inconvénients :
-Object
-Swing
-pas d'héritage multiple
-lourd - forcément, une vm c pas super économique, d'autant plus que le MVC c'est bien, mais en foutre partout à la mode swing (meme pour un bouton
), c'est un peu abusé niveau perfs
sinon à programmer c'est vrai que c'est très agréable surtout avec le javadoc de l'API sous la main
-Object
-Swing
-pas d'héritage multiple
-lourd - forcément, une vm c pas super économique, d'autant plus que le MVC c'est bien, mais en foutre partout à la mode swing (meme pour un bouton
), c'est un peu abusé niveau perfs
sinon à programmer c'est vrai que c'est très agréable surtout avec le javadoc de l'API sous la main
Aiua a écritJava a qd meme des inconvénients :
-Object
-Swing
-pas d'héritage multiple
-lourd - forcément, une vm c pas super économique, d'autant plus que le MVC c'est bien, mais en foutre partout à la mode swing (meme pour un bouton
), c'est un peu abusé niveau perfs
sinon à programmer c'est vrai que c'est très agréable surtout avec le javadoc de l'API sous la main
-Object
-Swing
-pas d'héritage multiple
-lourd - forcément, une vm c pas super économique, d'autant plus que le MVC c'est bien, mais en foutre partout à la mode swing (meme pour un bouton
), c'est un peu abusé niveau perfs
sinon à programmer c'est vrai que c'est très agréable surtout avec le javadoc de l'API sous la main
Objet un inconvénient ????
Les interfaces répondent parfaitement au pb de l'éhritage multiple.
MVC n'est pas partout. Swing uniquement. Regarde ce qu'on peut faire avec un JTree par exemple, c'est monstrueux !!! Et on ne peut pas le faire sans MVC.
JAvaAlive>
Ouch!
Bénéfice de toute la puissance objet pour définir la classe Matrix =>
possibilité de définir des sous-classes de Matrix comme Matrix3x3 avec des méthodes propres à la 3D (rotation, etc)
possibilité de lancer des exceptions elles-même tirant partie de la techno objet.pareile en C++. si ce n'est beaucoup mieux avec les templates, paramétrés pas le sdimensions par exemples
possibilité de nommer différemment la méthode mult(matrice, matrice) et mult(réel, matrice) d'ou une réelle clarté sur les types des opérandes (mais on peut aussi leur donner le même nom, les EDI JAVA te donnent toujours le type des paramètres par simple click droit ou truc dans le genre) pareil en C++. pi fo pas pousser non plus le raisonnement à l'extreme genre la surcharge c'est mal, on comprends plus rien
Mais on est un peu dans le chipotage :
1. la redéfnition des opérateurs, ça peut être bien. Si tu écris un prog qui fait beaucoup de calcul sur les matrices et que c'est codé en dur dans le code, par exemple. pour moi ça augmente la lisibilité, donc y a que du bénéfice
2. Tout ce que fait JAVA, C++ sait le faire en dehors du fait que chaque langage a ses propres API et que ça rendra forcément les programmes différents. jamais dit le contraire
Ce que je critique réellement, ce sont les gens qui font du pseudo C++ avec des pointeurs de merde partout qui font de l'optimisation de code et qui critiquent JAVA. tout à fait d'accord, le C n'est pas le C++, tout le monde ne le comprends pas
tout le problème. le C a été conçu pour des conepteure d'OS, qui étaient réputés intelligents: il ne le sont pas, tout le monde fait du C et fait n'importe quoi...
Citation :
Matrix.norme(Matrix.substract(Matrix.mult(M,V),Matrix.mult(k,V)))Citation :
Avantages JAVA :Bénéfice de toute la puissance objet pour définir la classe Matrix =>
possibilité de définir des sous-classes de Matrix comme Matrix3x3 avec des méthodes propres à la 3D (rotation, etc)
possibilité de lancer des exceptions elles-même tirant partie de la techno objet.
Citation :
possibilité de nommer différemment la méthode mult(matrice, matrice) et mult(réel, matrice) d'ou une réelle clarté sur les types des opérandes (mais on peut aussi leur donner le même nom, les EDI JAVA te donnent toujours le type des paramètres par simple click droit ou truc dans le genre)
Citation :
Mais on est un peu dans le chipotage :
1. la redéfnition des opérateurs, ça peut être bien. Si tu écris un prog qui fait beaucoup de calcul sur les matrices et que c'est codé en dur dans le code, par exemple.
Citation :
2. Tout ce que fait JAVA, C++ sait le faire en dehors du fait que chaque langage a ses propres API et que ça rendra forcément les programmes différents.
Citation :
]Ce que je critique réellement, ce sont les gens qui font du pseudo C++ avec des pointeurs de merde partout qui font de l'optimisation de code et qui critiquent JAVA.
Citation :
Ceux-là n'écrivent pas des programmes rapides (car s'ils connaissaient l'alorythmique, ils ne feraient pas d'optimisation de code) n'écrivent pas non plus des programmes stables (lignes de code bordelliques) et ont un sens de l'estétique du code qui date des années 70. Passer derrière eux est un vrai cauchemard ..JAVA Alive a écrit
Objet un inconvénient ????
Les interfaces répondent parfaitement au pb de l'éhritage multiple.
MVC n'est pas partout. Swing uniquement. Regarde ce qu'on peut faire avec un JTree par exemple, c'est monstrueux !!! Et on ne peut pas le faire sans MVC.
ben le cast à gogo, ça va un moment. surtout quand on est pas sur de ce qu'on cast Objet un inconvénient ????
Les interfaces répondent parfaitement au pb de l'éhritage multiple.
MVC n'est pas partout. Swing uniquement. Regarde ce qu'on peut faire avec un JTree par exemple, c'est monstrueux !!! Et on ne peut pas le faire sans MVC.
++Taz a écritben le cast à gogo, ça va un moment. surtout quand on est pas sur de ce qu'on cast
Je vois pas pkoi tu me parles de cast ...
Pour le reste je vois qu'on est d'accord (inutile de me mettre les pareil en C++, j'ai bien dit que tout ce que fait JAVA, C++ sait le faire).
Il est clair que C++ est plus puissant que JAVA. Une puissance souvent nuisible car dépassant régulièrement les compétences des développeurs qui n'ont pas une approche scientifique de la programmation. Le cas des opérateurs que tu as donné est un bon exemple : quand on voit a*b on ne sait pas quels sont les types de a et b, on ne sait même pas si ce sont des références, des pointeurs ou des types simples et on ne sait même pas si "*" va faire un multiplication.
Je ne connais pas C++ en détails (par contre très bien C et JAVA) mais il me semble que les templates C++ sont équivalents aux interfaces JAVA. Peux-tu m'éclairer sur ce point ?
Pour le MVC, je maintiens : pas moyen d'écrire une interface graphique digne de ce nom sans séparer les données de la manière dont on les affiche et dont on les édite. MVC is the best.
On retrouve d'ailleurs cet esprit partout et notamment dans XML.
les templates c'est carrément pas les interfaces. on peut tres bien faire des interfaces en C++. java a introduit le terme d'intreface pour pallier à l'abscence d'heritage multiple
le problème avec les Object, c'est qu'on à pas d'assurance de type: tu peux mettre tout et n'importe quoi dans ta List, à toi de caster à la sortie, et avec un peu de chance tu ne confondra pas un chat et un chien. alors evidemment ça peut paraitre bien de sotcker ensemble des objets de plusieurs types, mais bon, quand on fait du traitement de données, toutes les données répondent généralement au moins à une meme interface. les templates, c'est la possiblité de paramétrer une classe en fonction d'un type (ou d'autres chose ...). avec ça tu aurais l'assurance que ta Liste ne contient que des objets répondant à la meme interface passé en paramètre et le cast en sortie serait inutile. y a actuellement des réflexions sur les templates en Java, mais ça parait mal barré. java a pris le partie de la class mère Object...
le problème avec les Object, c'est qu'on à pas d'assurance de type: tu peux mettre tout et n'importe quoi dans ta List, à toi de caster à la sortie, et avec un peu de chance tu ne confondra pas un chat et un chien. alors evidemment ça peut paraitre bien de sotcker ensemble des objets de plusieurs types, mais bon, quand on fait du traitement de données, toutes les données répondent généralement au moins à une meme interface. les templates, c'est la possiblité de paramétrer une classe en fonction d'un type (ou d'autres chose ...). avec ça tu aurais l'assurance que ta Liste ne contient que des objets répondant à la meme interface passé en paramètre et le cast en sortie serait inutile. y a actuellement des réflexions sur les templates en Java, mais ça parait mal barré. java a pris le partie de la class mère Object...
++Taz a écritles templates c'est carrément pas les interfaces. on peut tres bien faire des interfaces en C++. java a introduit le terme d'intreface pour pallier à l'abscence d'heritage multiple
le problème avec les Object, c'est qu'on à pas d'assurance de type: tu peux mettre tout et n'importe quoi dans ta List, à toi de caster à la sortie, et avec un peu de chance tu ne confondra pas un chat et un chien. alors evidemment ça peut paraitre bien de sotcker ensemble des objets de plusieurs types, mais bon, quand on fait du traitement de données, toutes les données répondent généralement au moins à une meme interface. les templates, c'est la possiblité de paramétrer une classe en fonction d'un type (ou d'autres chose ...). avec ça tu aurais l'assurance que ta Liste ne contient que des objets répondant à la meme interface passé en paramètre et le cast en sortie serait inutile. y a actuellement des réflexions sur les templates en Java, mais ça parait mal barré. java a pris le partie de la class mère Object...
le problème avec les Object, c'est qu'on à pas d'assurance de type: tu peux mettre tout et n'importe quoi dans ta List, à toi de caster à la sortie, et avec un peu de chance tu ne confondra pas un chat et un chien. alors evidemment ça peut paraitre bien de sotcker ensemble des objets de plusieurs types, mais bon, quand on fait du traitement de données, toutes les données répondent généralement au moins à une meme interface. les templates, c'est la possiblité de paramétrer une classe en fonction d'un type (ou d'autres chose ...). avec ça tu aurais l'assurance que ta Liste ne contient que des objets répondant à la meme interface passé en paramètre et le cast en sortie serait inutile. y a actuellement des réflexions sur les templates en Java, mais ça parait mal barré. java a pris le partie de la class mère Object...
Les templates, je veux bien que tu m'expliques davantage, j'ai pas compris.
Pour le MVC, surtout pas de cast. Je vois vraiment pas en quoi ce serait nécessaire ni même utile. Peux-tu préciser ?
Pour les listes d'objets, au contraire JAVA est fortement typé. Ta liste ne peut contenir que ce que tu as dit qu'elle contiendrait. Je vois pas le problème ...
heink, on vis pas sur la meme planete
et quand je recupère je suis bine obligé de faire
Integer i= (Integer) v[0];
quitte à lever une exception si c'est pas un Integer
l'est ou la contrainte? comment je sais que le premiere element de ma liste un Integer?
List l= new LikedListe();
l.add(new Integer(100));
l.add(new String("dawa");
et quand je recupère je suis bine obligé de faire
Integer i= (Integer) v[0];
quitte à lever une exception si c'est pas un Integer
JAVA Alive a écrit
Objet un inconvénient ????
Les interfaces répondent parfaitement au pb de l'éhritage multiple.
MVC n'est pas partout. Swing uniquement. Regarde ce qu'on peut faire avec un JTree par exemple, c'est monstrueux !!! Et on ne peut pas le faire sans MVC.
1/ j'parle de la class Object (j'ai pas écrit Objet que je sache Objet un inconvénient ????
Les interfaces répondent parfaitement au pb de l'éhritage multiple.
MVC n'est pas partout. Swing uniquement. Regarde ce qu'on peut faire avec un JTree par exemple, c'est monstrueux !!! Et on ne peut pas le faire sans MVC.
)que tout hérite d'Object, c'est qd meme infame
2/heu, non les interfaces ne suffisent pas à compenser l'héritage multiple...
3/c'est bien ce que je dis, Swing use et abuse du MVC
j'y crois pas trop quand meme http://java.sun.com/features/2003/05/bloch_qa.html
Interressant, mais pas innovant.
sur tout vu la conception tout Object, s'ils le font, je le sens pas trop le coup de la vérification compile-time, ou bien dans le cas du polymorphisme, y aura encore pas mal de cast. Dans tous les cas, ça ressemble à un désaveux.
Interressant, mais pas innovant.
sur tout vu la conception tout Object, s'ils le font, je le sens pas trop le coup de la vérification compile-time, ou bien dans le cas du polymorphisme, y aura encore pas mal de cast. Dans tous les cas, ça ressemble à un désaveux.
aiua > "c'est bien ce que je dis, Swing use et abuse du MVC" > faudrai un peu argumenter, tu crois pas ?
que tout hérite d'Object, c'est qd meme infame > et en quoi donc est-ce infame ?
Les critiques sur le MVC sont infondées puisqu'elles ne portent que sur le modèle de données. En MCV, on choisit le modèle de données qu'on veut. Le MCV consciste, je le répète, à séparer le modèle de données de la façon dont on le représente et l'édite graphiquement.
Maintenant, parlons du modèle de données (mais aucun rapport avec MVC, d'accord ?) :
1. En JAVA, un cast ne modifie JAMAIS la classe d'un objet. L'objet garde toujours sa classe d'origine. L'introspection permet de savoir à tout moment quelle est la classe réelle d'un objet (et bien d'autres choses). On peut aussi se servir d'instanceof ou de flags qu'on aurai mis dans la structure de données. C'est au choix du programmeur.
2. comment je sais que le premiere element de ma liste un Integer? > Flag dans la strucure, instanceof ou introspection. Et en C++, tu le sais comment ?
que tout hérite d'Object, c'est qd meme infame > et en quoi donc est-ce infame ?
Les critiques sur le MVC sont infondées puisqu'elles ne portent que sur le modèle de données. En MCV, on choisit le modèle de données qu'on veut. Le MCV consciste, je le répète, à séparer le modèle de données de la façon dont on le représente et l'édite graphiquement.
Maintenant, parlons du modèle de données (mais aucun rapport avec MVC, d'accord ?) :
1. En JAVA, un cast ne modifie JAMAIS la classe d'un objet. L'objet garde toujours sa classe d'origine. L'introspection permet de savoir à tout moment quelle est la classe réelle d'un objet (et bien d'autres choses). On peut aussi se servir d'instanceof ou de flags qu'on aurai mis dans la structure de données. C'est au choix du programmeur.
2. comment je sais que le premiere element de ma liste un Integer? > Flag dans la strucure, instanceof ou introspection. Et en C++, tu le sais comment ?
Lassé par la pub ? Créez un compte