2010-10-01 6 views
1

En ce qui concerne la programmation avec le paradigme orienté objet go, quel est le meilleur langage, plus facile à utiliser, C++ ou C#? Quelles sont les différences distinctes. Oh, et C# est un sur-ensemble strict de C ou non.C++ et C# pour OOP

En note, y a-t-il d'autres paradigmes valables qui valent la peine d'être regardés ailleurs? (Cela peut être utilisé avec C++/C#).

+1

Ceci est très subjectif et dépend de la tâche à accomplir. Pour les applications générales, beaucoup de gens diront probablement que C# est plus facile, mais il est difficile d'écrire des pilotes en mode noyau en C#. –

Répondre

3

qui est le mieux,

Dans quel but?

plus facile à utiliser

dépend de votre expérience. C# est difficile pour moi parce que je maîtrise assez bien le C++ donc les limitations de C# me mettent en colère.

différences distinctes

Il y a beaucoup de comparaisons sur le net. La première chose qui me vient à l'esprit est RAII.

Oh, et C# est un sur-ensemble strict de C ou non.

Certainement pas. int main(){} est le programme le plus court en C. Ce n'est pas C# valide.

En remarque, y a-t-il d'autres paradigmes valables qui valent la peine d'être regardés ailleurs?

Oui, RAII, programmation générique.

1

... langage plus facile à utiliser, C++ ou C#?

Définitivement C#.

Oh, et C# est un sur-ensemble strict de C ou non.

Aucun moyen.

En remarque, y a-t-il d'autres paradigmes valables qui valent la peine d'être regardés ailleurs? (Cela peut être utilisé avec C++/C#).

Functional Programming (C#, C++0x)

+0

C++ 0x aide sûrement, mais vous pouvez aussi faire beaucoup de choses intéressantes en C++ 03! – Francesco

0

modèles permettent une approche de programmation fonctionnelle C++. Vous pouvez effectuer des calculs au moment de la compilation plutôt qu'à l'exécution. Il y a beaucoup de documents sur ce sujet, peut-être les deux exemples les plus clairs se trouvent dans ces deux livres:

  1. C++ Template Metaprogramming
  2. Modern C++ Design
2

mieux?

Dépend. Voulez-vous un contrôle de bas niveau sur la façon dont votre programme se comporte? Alors C++ est probablement le meilleur choix. Sinon, je dirais C#

plus facile à utiliser

Certainement C#

est C# un surensemble stricte de C?

Pas de loin. Ils partagent quelques similitudes syntaxiques, mais c'est à peu près tout.

Y a-t-il d'autres paradigmes qui valent la peine d'être regardés autrement qu'OO?

Programmation fonctionnelle. Avec les versions 3.5 et 4.0, C# inclut certainement certaines fonctions qui brouillent la ligne entre OO et la programmation fonctionnelle (mais permettent quand même aux deux de bien jouer ensemble dans vos applications). C++ 0x apportera aussi certaines de ces fonctionnalités à C++.