Quelles fonctionnalités devraient utiliser les versions C # 4.0 et ultérieures pour encourager le passage de Java? [fermé]

StackOverflow https://stackoverflow.com/questions/1606329

Question

Java est un langage populaire & amp; plate-forme, ayant un écosystème énorme. Existe-t-il des fonctionnalités que C # 4.0 et les plates-formes devraient avoir pour vous faire basculer complètement dans la programmation C #?

Était-ce utile?

La solution

Le faire fonctionner sur autant de plates-formes que Java?

Sinon, cela ne nous concerne absolument pas.

.

.

.

Modifier: pour une discussion sur la création Mono .NET "multi-plateforme", voir https://softwareengineering.stackexchange.com/questions/20275/mono-is-frefre-utilisated-to-say-yes-net- is-cross-platform-how-valid-is-that

Éditer 2015: Microsoft a décidé d’ouvrir le code source de la partie principale de .NET, ce qui permettra à la communauté de porter celle-ci sur encore plus de plates-formes que celles exécutées par Java. Je considère cela comme le coup ultime contre l'approche Oracle de l'évolution de Java.

Autres conseils

L'adoption générale de C # sur le marché n'a rien à voir avec les fonctionnalités du langage , qui, à ce que je sache, sont désormais supérieures à Java. L’adoption de C # nécessite un changement stratégique complet de l’organisation:

  • Vous avez déjà un très grand nombre d'applications Java et une multitude de développeurs Java. Pourquoi changer de C #? Vous aurez besoin de nouveaux employés et, soudainement, toutes vos applications sont héritées par définition . C’est un gros problème! Le fait de subir ce changement représente un risque énorme pour votre entreprise et ne présente que peu d’avantages: pourquoi se donner la peine?

  • Vous êtes au moins habitué à l'option de nombreux grands fournisseurs de systèmes d'exploitation et de middleware qui prennent en charge votre écosystème Java. Cela disparaît du jour au lendemain et vous vous exposez à un modèle de tarification monopolistique (c’est-à-dire que vous êtes pratiquement lié à Microsoft, à toutes fins pratiques). Il est mauvais d’être soumis à des prix de monopole! La plupart des entreprises auraient plutôt un léger désavantage technologique pour éviter les prix de monopole, car les prix vont de toute façon réduire leurs revenus.

En réalité, je ne pense pas que C # a quelque chose de moins beau que Java, à l'exception de l'écosystème comme les IDE, les frameworks, etc. En termes de fonctionnalités, il est largement en avance pour le moment.

Je pense que .NET est excellent, mais ne l'utilisez pas, car il manque la fonctionnalité obligatoire numéro 1: la portabilité. Oui, il y a Mono ...

Une autre chose que vraiment pousse Java est Eclipse (*): c'est l’environnement de développement gratuit le plus abouti et le plus complet à ce jour. Et, avec une énorme quantité de plugins (pour la plupart gratuits) disponibles, le rapport coût / bénéfice est imbattable.

La paire VisualStudio C # + Reshaper peut s’approcher, mais elle n’est pas encore tout à fait là ...

(*): Certains disent même qu'Eclipse est la principale raison pour laquelle Java a été utilisé de manière si répandue.

Ma réponse est un peu explicite sur les raisons pour lesquelles je pense que beaucoup utilisent Java, mais souhaitent utiliser le c # dans les écoles:

Dans mon université, Java est la première langue que nous apprenons et c’est également la langue sur laquelle nous apprenons le plus tard. Je suppose que cela est courant .. Mais même si nous apprenons un peu de python, c, c ++ et en connaissons déjà beaucoup java, la plupart des étudiants utilisent le C #. C’est parce que tout le monde se dit que C # leur donnera un travail :) L’école le sait, et je connais une fonctionnalité qui ferait de C # le nouveau choix principal de l’école: le faire fonctionner sur toutes les plateformes =)

Au collège, on nous a appris qu’il n’y avait rien d’ingénieur dans MS Windows. Combien de personnes peuvent (être) en désaccord avec cela?

Comment pouvons-nous, en tant que développeurs, répondre aux questions de stabilité, de robustesse, d’évolutivité, de disponibilité, d’isolation transactionnelle, de concurence lorsque vous construisez un système logiciel sérieux en travaillant sur un système d’exploitation n'importe où, vous pouvez vous attendre à un comportement surprenant et à une source potentielle de problèmes non standard, que vous ne pourrez résoudre qu'en appelant MS et prions Dieu de trouver une solution à votre problème d'ici peu.

L’Open Source est notre seul salut. Java respecte les normes, investit beaucoup d’énergie dans le modèle de sécurité, conserve WORA et c’est un langage plutôt simple.

Je peux penser à C # avec un pointeur non sécurisé, c’est juste assez pour que je renonce à faire des affaires sérieuses avec cela si beaucoup de personnes travaillent dessus. ..

Allez les gars, si vous utilisez un logiciel très sérieux et souhaitez un support multiplateforme, NET ne sera jamais ce dont vous avez besoin ou que vous souhaiteriez.

Il n'a même pas été conçu pour supporter cela.

J'envisagerais certainement d'utiliser C # lorsque Microsoft achète Novell et offre un support officiel à Mono.

Ensuite, la prochaine version de .net devra fonctionner sous Windows et Linux (OSX restera derrière - comme aujourd'hui avec Java mais avec Java c'est parce qu'ils voulu de cette manière - )

Jusque-là, Mono est derrière la dernière version .NET et ajoute toujours à son noyau certaines fonctionnalités spécifiques à Linux (comme le module Mono.Linux) qui ne fonctionnent évidemment pas sous Windows.

Les fonctionnalités de langage sont excellentes, mais si je veux quelque chose de plus "dynamique" pour travailler avec, je préférerais utiliser Ruby ou Python

Mais, c'est juste moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top