36 votes

Pourquoi voudriez-vous d'utiliser le C# si son plus lent que le C++?

Je suis à la recherche d'un nouveau langage à apprendre après C++ et Java. Je vais essayer de C#, mais un tas de gens disent ses vraiment lent parce que c'est un langage de haut niveau. Alors pourquoi quelqu'un utiliser le C#? N'est-ce pas C++ beaucoup plus rapide? Est-il faciliter le développement, mais juste avoir un ralentissement de produit final?

Aussi, ce qui peut C# il être utilisé? Vous l'utilisez avec un grand nombre de .NET des trucs sur windows, et avec ASP.NET mais quelles sont les autres situations où l'on utilise C#? Il y aura beaucoup de possibilités d'emploi pour elle?

75voto

Jon Skeet Points 692016

Qui est exactement ce "tas de gens"? Quels sont-ils en la comparant avec?

Pour la grande majorité des choses, C++ n'est pas "beaucoup plus rapide" que le C#. Il a certainement des avantages dans diverses situations, en particulier lorsque vous voulez plus déterministe de la gestion de la mémoire, mais dans mon expérience, le goulot d'étranglement dans la plupart des applications n'est pas dans des endroits où C++ pourrait l'aider. Comme spoulson dit, beaucoup de la performance est dans la conception de la place exacte de la mise en œuvre - et là, il aide à être en mesure d'essayer différents modèles facilement.

Pourquoi devrions-nous utiliser C# quand il est un peu plus lent que le C++? Parce que c'est généralement reconnus (c'est à dire quelques pas d'accord :) pour être beaucoup plus facile à développer dans sans se tirer une balle dans le pied.

Comme pour ce que C# peut être utilisé pour... ce que vous voulez l'utiliser pour? Sauf si vous voulez développer des pilotes et des noyaux, il peut très bien être bon pour vous. (Même OS le développement a des gens à l'aide de C#...)

Les possibilités d'emploi? Les charges.

Inconvénients? Eh bien, .NET lui-même n'est disponible que sur les plateformes Microsoft. Il y a Mono, mais il n'a pas tout à fait le même degré de portabilité de Java (sans doute un autre "lente" de la langue selon le même groupe de personnes).

40voto

spoulson Points 13391

Le Code écrit dans le montage peut être extrêmement rapide. Pourquoi ne pas simplement écrire dans l'assemblée?

Ne croyez pas tout ce que vous entendez. C# a été beaucoup rapide pour tous mes projets. Habituellement, la performance est plus un facteur de conception de cru des performances de la plateforme.

22voto

JaredPar Points 333733

Je dois dire que les gens que vous parliez de tout simplement ne savent pas de quoi ils parlent. La plaine et simple.

De nombreuses applications de niveau entreprise sont construites au-dessus de C# et d'autres .Net languages. Il n'y a rien d'intrinsèquement lent sur eux. Oui, la tendance à avoir des temps de démarrage plus lent mais c'est à peu près où il se termine.

J'ai remarqué que vous avez mentionné Java dans la liste des langues. Si vous êtes à l'aise avec la vitesse de Java, C# ne présentera pas tous les problèmes. En général C# effectue au moins aussi bien que Java sur beaucoup de différents types de points de repère.

22voto

Dinah Points 15711

Ma dernière société a été fondée par 5 C++ anciens combattants avec+ de 15 ans d'expérience chacun. Ils ont passé plus d'un mois, la construction d'un certain service Windows. L'un d'eux a trouvé et essayé le C#. Dans une semaine, il avait obtenu plus loin que le collectif avait dans leur mois. Peu de temps après, ils ont tous passé à C#.

Pourquoi C# si il peut effectuer plus lentement: quel prix avez-vous mis sur le degré de développement rapide?

7voto

Frederik Gheysels Points 36354

Pourquoi devrait-il être lent ? En effet, le C# est compilé pour "Intermédiaire de la Langue", qui est JIT ed à l'exécution, mais cela peut vous donner un avantage de performance, depuis le runtime peut générer le plus optimisé pour la plate-forme le code est en cours d'exécution sur ...

Selon l'application que vous voulez écrire, la "vitesse" de la langue aura un impact mineur. Les performances de votre application sera principalement déterminé par la façon dont vous concevez votre application, si vous faites de bons usages des outils / technologies que vous utilisez , etc ... Bien sûr, C# n'est pas une panacée, et il y a des projets où vous ne devriez pas l'utiliser, tout simplement parce qu'il n'est pas le bon outil pour le travail, mais il fera l'affaire pour la plupart des entreprises de l'application.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X