Avantages du C# par rapport au Java

Avantages du C# par rapport au Java - C#/.NET managed - Programmation

Marsh Posté le 26-05-2007 à 15:09:15    

Hello les gens,
en fait pour mon stage de fin de DUT j'ai eu a développer une grosse application réseau. Le truc c'est que j'ai eu à utiliser le C# et l'ASP.NET, et lors d'une premiere présentation mon maitre de stage m'avait demandé "Quel est l'avantage du C# par rapport au Java" et là, gros blanc. Donc vu que je reppasse devant lui dans 3 semaines, j'aimerai pouvoir caler ces avantages dans mon rapport.
 
Merki


Message édité par Glycerin le 10-06-2007 à 15:53:04
Reply

Marsh Posté le 26-05-2007 à 15:09:15   

Reply

Marsh Posté le 26-05-2007 à 15:14:01    

Reponse simple: La societe derriere C# a plus d'argent que la societe derrier Java.

Reply

Marsh Posté le 26-05-2007 à 18:31:03    

Des avantages, il y en a, tout comme il y en a dans l'autre sens.
Perso, j'aime pas trop la question, surtout si elle n'est pas axée sur un point précis.
 
Vu de loin, le principal avantage de C# et ASP.NET, c'est surtout Visual Studio, qui offre en une seule application tout ce qu'il faut pour gérer de bout en bout l'application :
- Design des pages HTML
- Ecriture du code
- Débuggage
- Tests
- Mise en production sur serveur distant
- Etc.
 
Mais pour Java, il existe aussi des GUI intégrées qui permettent de faire la même chose. A ce moment, l'avantage de .NET c'est que t'as pas à chercher lequel est le mieu : VS un point c'est tout :D

Reply

Marsh Posté le 26-05-2007 à 22:10:59    

Réponse à côté de la plaque.
 
Des generics pour de vrai, pas des débilités pour cacher des casts sans aucune contrainte à l'exécution (List<Foo> -> List !)

Reply

Marsh Posté le 27-05-2007 à 11:48:04    

ce qu'on peu dire également, c'est que C# et donc .NET en général permet de designer des applications WINDOWS bcp plus belle que JAVA. Bcp plus de possibilité en bcp moins de temps qu'il ne le faudrait en java.
 
par contre, java ces avantages restent tjs la sécurité et la portabilité que .NET ne posséde pas vraiment bien que MONO existe
 
mtn c'est une question stupide. Pourquoi un language plutot qu'un autre alors qu'il se ressemble bcp. C'est une question de contrainte de départ.
LEs postes finaux sont en quoi? sur Windows ou sur LINUX (ou autre). Voila pour moi la vrai question.  
Les serveurs de déploiement son quoi? des serveurs windows ou des serveurs Linux ou Unix. C'est à cause de ces contraintes la qu'on choix l'un ou l'autre...


Message édité par moi23372 le 27-05-2007 à 11:51:50
Reply

Marsh Posté le 27-05-2007 à 12:13:44    

Taz a écrit :

Réponse à côté de la plaque.
 
Des generics pour de vrai, pas des débilités pour cacher des casts sans aucune contrainte à l'exécution (List<Foo> -> List !)


Les delegates aussi :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 27-05-2007 à 15:17:09    

oui mais la c'est d'un point de vue technique.  
Pourquoi JAVA plutot que C#, il y a bcp à dire également d'un point de vue techique.  
 
Mais dans le cadre de sa défence, c'est clair et net qu'il faut parler des contraites techniques de départs.  
C'est cela qui fait qu'on choisissent tel ou tel language, tel ou tel environnement, etc...
 
C'est aussi simple que cela.
Le reste c'est du technique, et il y a tjs moyen de contourner les manquements d'un language par rapport à un autre.

Reply

Marsh Posté le 27-05-2007 à 16:21:06    

En fait on dévellope pour des postes sur Windows donc déjà je pense que ça aide pas mal pour le C# avec serveur IIS, SQL Serveur & co.

Reply

Marsh Posté le 27-05-2007 à 16:32:15    

moi23372 a écrit :

oui mais la c'est d'un point de vue technique.


Non, c'est d'un point de vue pratique, parce que ce genre de fonctionalités a de lourdes conséquences sur la manière d'utiliser le langage.

moi23372 a écrit :

Mais dans le cadre de sa défence, c'est clair et net qu'il faut parler des contraites techniques de départs.  
C'est cela qui fait qu'on choisissent tel ou tel language, tel ou tel environnement, etc...


non [:pingouino]

moi23372 a écrit :

Le reste c'est du technique, et il y a tjs moyen de contourner les manquements d'un language par rapport à un autre.


Mais wai, et on peut coder en assembleur aussi [:dawak]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-05-2007 à 10:23:35    

moi23372 a écrit :

oui mais la c'est d'un point de vue technique.  
Pourquoi JAVA plutot que C#, il y a bcp à dire également d'un point de vue techique.  
 
Mais dans le cadre de sa défence, c'est clair et net qu'il faut parler des contraites techniques de départs.  
C'est cela qui fait qu'on choisissent tel ou tel language, tel ou tel environnement, etc...
 
C'est aussi simple que cela.
Le reste c'est du technique, et il y a tjs moyen de contourner les manquements d'un language par rapport à un autre.


Tu as déjà pensé à consulter pour ta logorrhée ?

Reply

Marsh Posté le 28-05-2007 à 10:23:35   

Reply

Marsh Posté le 28-05-2007 à 19:59:53    

Harkonnen a écrit :

Tu as déjà pensé à consulter pour ta logorrhée ?


 
tu n'as rien d'autre à faire Harkonnen?  

Reply

Marsh Posté le 30-05-2007 à 23:50:23    

si ! amelirer le super plug in winamp open source ? !!

Reply

Marsh Posté le 31-05-2007 à 00:04:39    

faudrait que je m'y remette, oui... :/
voila ce que c'est de trouver une copine [:sisicaivrai]

Reply

Marsh Posté le 31-05-2007 à 00:12:57    

t'as qu'à me la prêter pendant que tu fais ton plugin :D

Reply

Marsh Posté le 31-05-2007 à 17:39:44    

Pour moi, la meilleure réponse à donner est : ce sont 2 langages à peu près équivalents du point de vue puissance d'expression, basés sur des technologies similaires (exemple : JVM vs. CLR), et offrant des outils de développement et des bibliothèques techniques et non techniques équivalents. Par contre, ces 2 langages/environnements sont opposés du point de vue philosophique : l'un est OpenSource, l'autre est propriétaire, puisque développé et soutenu par un seul acteur, même majeur, du secteur de l'informatique. S'il doit être fait, le choix entre l'un ou l'autre sera donc fait essentiellement pour des raisons politiques et/ou stratégiques au niveau de l'entreprise ou de l'organisation.
 
Les 2 seules raisons techniques, que je vois, pour lesquelles l'un pourrait être choisi au détriment de l'autre, c'est :
- la nécessité d'un moniteur transactionnel solide.
- le support de montées en charge phénoménales pour une application, par exemple Web (mais pas seulement), du genre des dizaines ou des centaines de milliers, voire des millions d'accès par jour.
 
Sur ces 2 points, Java/J2EE est supérieur à C#/.NET.
 - Le monde Java propose des moniteurs transactionnels prouvés et pérennes (IBM CICS, BEA Tuxedo), alors que côté .NET, Microsoft n'a toujours pas été capable de proposer un moniteur transactionnel qui tienne à peu près la route (même MTS, qui d'ailleurs a disparu en même temps que COM/DCOM ; l'actuel BizTalk qui est censé le remplacer fait doucement rigoler les spécialistes du domaine...).
 - Des applications Java Web à grande échelle existent et donnent entièrement satisfaction (ex: appli Web de déclaration des revenus et de paiement des impôts auprès du ministère des Finances). Côté .NET, à ma connaissance, aucune application à grande échelle (genre morceau de système d'information d'une multinationale) n'a pu être mise en production, car aucune n'a tenu la charge, une fois arrivé au stade des tests d'intégration ou de pré-production (note: ce dernier point est généralement lié au problème de l'absence de moniteur transactionnel solide).

Message cité 1 fois
Message édité par BifaceMcLeOD le 31-05-2007 à 17:40:52
Reply

Marsh Posté le 31-05-2007 à 17:53:18    

BifaceMcLeOD a écrit :

Pour moi, la meilleure réponse à donner est : ce sont 2 langages à peu près équivalents du point de vue puissance d'expression, basés sur des technologies similaires (exemple : JVM vs. CLR), et offrant des outils de développement et des bibliothèques techniques et non techniques équivalents. Par contre, ces 2 langages/environnements sont opposés du point de vue philosophique : l'un est OpenSource, l'autre est propriétaire, puisque développé et soutenu par un seul acteur, même majeur, du secteur de l'informatique. S'il doit être fait, le choix entre l'un ou l'autre sera donc fait essentiellement pour des raisons politiques et/ou stratégiques au niveau de l'entreprise ou de l'organisation.


 
 
La norme ECMA est fermée ? [:cerveau petrus]
 
Je bosse dans le banquaire et il n'y a plus de projets JAVA, tout se fait en .NET aujourd'hui


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
Reply

Marsh Posté le 31-05-2007 à 18:03:34    

C# est effectivement un standard ECMA. Les bibliothèques qui vont avec, par contre, c'est une autre histoire.... (que ce soit les classes Windows  ou Web côté front-end, ou les services techniques côté back-end)

Reply

Marsh Posté le 31-05-2007 à 19:27:33    

Microsoft.com est écrit en Java ? C'est la nouvelle neuve du jour :spamafote:
 
Sinon, pour ce qui est de la montée en charge, moi je demande à voir. .NET monte extrêment bien la charge au contraire.
 
Pour ce qui est de Java en Open Source, c'est quand même relativement récent, et après 10 ans un moins de brevet logiciel. .NET est jeune, Microsoft à proposé à la communauté libre de le porter sous X-like en fournissant l'ensemble des informations nécessaire et en se basant sur une norme libre... Mais personne n'a été foutu de le porter correctement (Mono, c'est sympa, mais c'est pas complet du tout, et au lieu de se cantonner à porter .NET sous X-like ils ont fait une sorte de méga-VM capable d'exécuter n'importe quoi n'importe où... et n'importe comment du coup :spamafote:)

Reply

Marsh Posté le 01-06-2007 à 10:09:31    

On ne peut nier que C# a pris beaucoup à Java, la dessus tout le monde est d'accord, mais personnelement, je trouve que C# à surtout corrigé beaucoup de lacune de Java, je ne lui trouve rien en moins, mais au contraire, beaucoup plus (ne serait-ce que la rapidité d'éxecution). Le framework .NET justement apporte une certaine robustesse au langage, là ou java dispose de 36 framework opensource pour faire papa/maman, .NET propose un framework unique et surtout bien conçu (on va dire depuis la v2.0 ;) ). Du coup les developpement s'en trouve grandement simplifiés et surtout accélérés, car en plus du langage, il n'est pas nécessaire de se former à chaque fois pour s'adapter à un framework, .NET est .NET et partout ou on l'utilise, on retrouve ses petits.


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
Reply

Marsh Posté le 01-06-2007 à 12:10:54    

MagicBuzz a écrit :

Microsoft.com est écrit en Java ? C'est la nouvelle neuve du jour :spamafote:
 
Sinon, pour ce qui est de la montée en charge, moi je demande à voir. .NET monte extrêment bien la charge au contraire.


Côté besoins transactionnels, tu m'excuseras, mais microsoft.com, c'est un peu léger...

Reply

Marsh Posté le 01-06-2007 à 12:20:46    

Ne serait-ce que Windows Update, ça repose sur les modules de Commerce Server par exemple.
 
Sinon, effectivement, le front-end n'est pas représentatif. Mais le back-end l'est certainement plus.
 
Ceci dit, moi je parlais surtout du problème de montée en charge et de fiabilité. J'ai jamais vu Microsoft.com en rades. Et pourtant c'est certainement un des sites les plus fréquentés au monde.

Reply

Marsh Posté le 01-06-2007 à 13:20:28    

MagicBuzz a écrit :

J'ai jamais vu Microsoft.com en rades. Et pourtant c'est certainement un des sites les plus fréquentés au monde.


 
en effet, numero 12 sur alexa [:mlc] j'aurais pas cru tiens, wow
 
=> http://www.alexa.com/data/details/ [...] rosoft.com

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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