Liens connexes

Dépêche modérée par

: C# et Java, une étude comparée

Posté par jm (). Modéré le 19 novembre 2001.
0
Trouvé via K5, une intéressante comparaison de Java et de C# du point de vue du programmeur.

Note du modérateur: le language C# est un language orienté objet qui doit permettre aux développeurs de créer facilement des applications pour la plateforme .Net de Microsoft. La comparaison semble très complête, à lire.

> Lire les commentaires (89 commentaires, moyenne: 2,9).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Opinion

Posté par Benjamin Michotte (page perso, ) le 19/11/2001 à 11:25. (lien). Évalué à 24.

Personnelement, j'apprécie énormément le java pour les raisons suivantes:
- c'est de l'orienté objet, ce qui permet une réutilisation du code ainsi que la modification de celui-ci sans devoir changer tout le reste. (et tous les autres avantages de la POO)
- c'est multi-plateforme. Le programme que j'ecris pour linux, tournera aussi sur windows ou sur tout os ayant une JVM.
- A partir du moment ou on a compris les trucs de base, on évolue rapidement dans l'apprentissage du java (je sais, j'ai encore des progrès à faire ;p)
- Il est génial pour tout ce qui touche le réseau et internet (que ce soit un « bete » programme comme jcoincoin ou une applic applet/servlet)

Par contre, je ne connais pas C# et je n'ai vraiment pas envie de connaitre... Si C# est pensé comme MS a pensé les MFC par exemple, quelle horreur ça doit etre.

De plus, meme si java n'est pas open, il a l'avantage d'etre gratuit.
TOUT le monde peut avoir une jvm pour son os (pour autant quelle existe bien entendu ;p) ....
Et pour C# ? Est-ce que je pourrai faire tourner un programme écrit en C# sous macOSX ? ou sous *BSD ?

Je ne sais d'ailleurs plus le prix absolument abérant (un gros doute sur le abérant) des outils C#, mais, petit étudiant que je suis, je n'ai pas les moyens de me les payer ... (je n'en ai pas l'envie non plus donc, ça tombe plutot pas mal).

Je trouve la position de MS totalement ridicule. Créer un langage _uniquement_ pour essayer de couler sun et le java....

Petite question en passant, est-ce que le C# possede un API aussi énorme que celle de java ?

Erreurs de C++

Posté par Epsos (page perso, ) le 19/11/2001 à 12:24. (lien). Évalué à 20.

Perso, je trouve qu'ils ont repris des constructions de langages tres c++ qui ne font pas l'unanimite :
* Le mot clef virtual : la plupart des gurus objet expliquent que le but de l'objet est de faire de l'objet !! C'est a dire utiliser du polymorphisme : toutes les methodes devraient etre polymorphique par defaut : ca evite des bugs. Quand on donne a une methode le nom d'une methode de la classe mere, c'est qu'on veut l'overloader !
* Les references : Il y a un truc que j'aime pas en C++ et que je trouve plus clean en java c'est le fait qu'il y ait pas de reference. Les references du C++ ca fait trop de chose en meme temps. Bref, c'est propice aux effets de bords et aux bugs. Attention : Ceux qui sont des brute en C++ ne feront pas l'erreur, mais je ne parle pas de killer en C++, je parle du langage en lui meme.
* Päs d'inner class, ca c'est pas cool. Je trouve que c'est le concept le plus joli que j'ai vu en OO pour modeliser un call back.
* Pas de genericite, ca c'est pas cool. Ca veut dire tout plein de cast pas beaux (et donc une probabilite de se planter au runtime) dans la librairie standard. Pour moi un container se doit d'etre type. Le container qui contient n'importe quoi n'est qu'un container parmi tant d'autre.

Et l'objective C ?

Posté par Frederic PY () le 19/11/2001 à 13:28. (lien). Évalué à 7.

Personellement je trouve qu'il est dommage de parler du C# et java en permanance alors que certains langages sont tout aussi portable. Je parlerais plus precisement de l'objective C ce langage presente divers avantages :
1) Il est comme le C++ une extension/surcouche du langage C mais a su tirer profit des erreurs de son predecesseur (cf post precedent)
2) il est au moins aussi portable que Java - certains disent plus - e a servit un peu a la naissance de Java (aliance NeXT/Sun). Par contre il beneficie d'un maturite que java n'a pas encore vraiment

3) Contrairement a ce que certains pensent ce langage est facile a manipuler et n'est pas mort (voir Cocoa pour MacOSX ou encore le projet GNUstep a http://www.gnustep.org(...)

Pas tres original

Posté par sbruchet () le 19/11/2001 à 13:33. (lien). Évalué à 4.

Le C# est une copie du java avec deux ou trois choses en plus pour faire croire qu'il est mieux.

Mais au bout du compte, cela s'integre parfaitement dans une politique d'expansion et de monopolisation de Microsoft

En effet, il s'attaque point par point, toutes choses ou il n'ont pas le monopole. (Rien de bien nouveau, en fin de compte).

Et a terme il font fournir des applications Microsoft pour Linux et enfin finir de s'implenter.

[+] Arf

Posté par Vivi (page perso, ) le 19/11/2001 à 14:02. (lien). Évalué à -5.

Allez lire la conclusion, ils parlent de l'Académie française !

Pour élargir le débat

Posté par Laurent Ellerbach () le 19/11/2001 à 16:27. (lien). Évalué à 4.

Bonjour,

Pour élargir un peu le débat, je vous conseille de regarder parallèlement un article écrit par le club Java et une réponse de Microsoft :
http://www.club-java.com/Forum/Discussion/messages/1153.html(...)
http://www.club-java.com/servlet/fr.renaissance.forumWeb.servlet.Se(...)
Vous verrez que cela va au delà de la simple comparaison de deux langages.

Laurent Ellerbach
Microsoft France

A propos de C#

Posté par Samuel Pajilewski () le 19/11/2001 à 17:00. (lien). Évalué à 2.

Lors de mon stage on parlait déjà de C# dans les locaux de Microsoft Fracne (Printemps 2001).

Ce que je peux vous dire, c'est que C# n'est (selon mon ex-tuteur) qu'un Java Microsoft qui corrige les erreurs de Sun sur ce programme.

Le principal objectif de C# c'est de convertir les utilisateurs de Visual C++ (tres nombreux) à court terme et ceux de Java a moyen terme.

Java represente le plus grand danger de Microsoft à l'heure actuelle, bien plus que Linux !

En effet, si on s'y prend bien, il est facile des faire des applis portables pour OS ayant une JVM, ce qui est le plus grand danger pour Microsoft (D'ailleurs, savez vous pourquoi Visal J++ s'est arrété à la JDK 1.1.7 ? Tout simplement parce que la 1.2 (si je me souviens) permet de manipuler des objets et des fichiers , quelque soit la plateforme !


Ce que je peux vous dire également, C# n'est pas un programme de developpement universel comme l'est Java : il permet de developper facilement des applications pour la plateforme .Net, qui est son principal objectif.

En face d'eux, il y a Sun et son Java, ce sont les seuls concurrents (il y en a d'autres mais de toute autre envergure).

Enfin, Microsoft compte sur le soutient de la communauté Windows (90% des utilisateurs de PC) pour imposer C#.
Il est fort à parier que le compilateur C# et la RAD IDE sera installée d'office dans les futures versions de Windows, et que toute JVM sera banie (comme ils l'ont fait avec Netscape).

Beaucoup de developpeurs se sont deja tournés vers C#, et sans vouloir jouer l'oiseau de mauvaise augure (excusez moi pour l'ortographe) je pense que dans 2 ans on ne parlera plus de Java : Bien que ce langage soit portable, facile, rien ne peut empecher la deferlante marketing de Microsoft.

La seule chose qui peut empecher ça c'est que les utilisateurs reflechissent à deux fois avant de se jetter dessus, mais quand j'ai vu les clients de Microsoft France, je me dis c'est pas gagné...

(Un ancien fan de Microsoft)