La programmation comporte de nombreux aspects, et elle peut certainement devenir rapidement écrasante pour un débutant. Pour commencer, clarifions quelques termes :
VB (Visual Basic), C#, et C++ (mentionnés dans votre titre) sont tous les langages de programmation de haut niveau. En supposant que lorsque vous dites Visual Basic, vous faites référence à VB.NET (ce qui est probable, à moins que le livre que vous lisez n'ait une dizaine d'années...), VB et C# sont tous deux des langages qui peuvent être utilisés avec les logiciels de Microsoft. Cadre .NET un ensemble de bibliothèques et d'outils permettant de créer des applications (principalement Windows).
(Le C++, quant à lui, est un langage de niveau légèrement inférieur qui n'est pas directement lié à .NET. Il nécessite la compréhension de certains concepts que les langages .NET vous cachent, tels que pointeurs et gestion de la mémoire .)
Maintenant, les langages de programmation mentionnés ci-dessus ne sont pas liés à un langage spécifique. technologie de présentation - il existe de nombreuses façons de créer des programmes interactifs qui affichent les résultats aux utilisateurs et acceptent les entrées, quel que soit le langage utilisé. Les langages .NET, cependant, sont généralement utilisés avec quelques outils puissants que le cadre .NET fournit pour créer des applications graphiques :
- Parmi les méthodes les plus simples de l'interface utilisateur, vous pouvez créer une programme de la console qui prend une entrée tapée et produit une sortie texte sur la console du système. Rien d'extraordinaire ici.
-
Formulaires Windows - Fournie à l'origine avec les versions pré-.NET de Visual Basic, il s'agit d'une API vénérable de l'interface utilisateur native de Windows. Elle est principalement pilotée par des objets Form qui contiennent des contrôles et sont pilotés par des événements utilisateur. Voici une introduction.
-
WPF (Windows Presentation Foundation) est une technologie plus récente que Windows Forms. Elle est utilisée parallèlement à un format de fichier de type XML, que vous avez montré ci-dessus, appelé XAML (eXtensible Application Markup Language) qui vous permet de construire des interfaces utilisateur en déclarant rapidement une hiérarchie d'objets visuels. La courbe d'apprentissage pour la création d'applications WPF est légèrement plus élevée (à mon avis) que celle de Windows Forms, mais il s'agit d'une technologie plus polyvalente qui prend mieux en charge plusieurs bons modèles de conception (je sais, mais croyez-moi sur parole pour le moment).
Donc, pour clarifier quelques points de confusion :
- Le langage de programmation que vous utilisez et le cadre de construction des interfaces utilisateur graphiques sont deux choix distincts.
- VB.NET et C# peuvent tous deux être utilisés pour écrire la logique sous-jacente des formulaires Windows. ou Applications WPF
- WPF, le sous-système graphique, et XAML, le langage de balisage déclaratif, ne sont pas la même chose, mais ils sont utilisés main dans la main.
- Lorsque vous créez des contrôles WPF, vous disposez d'un fichier contenant du XAML (suffixé par .xaml) qui est attaché à un fichier "code-behind" contenant du C# (avec une extension .cs) ou du VB (avec une extension .vb), selon le langage que vous choisissez.
En général, un programmeur .NET (c'est un exemple facile à donner, car j'en suis un) utilisera soit VB, soit C#, en fonction du langage avec lequel il se sent le plus à l'aise (ou de celui qui lui est imposé par son équipe !) Du point de vue du débutant, en particulier, les deux ont des syntaxes différentes mais sont fonctionnellement équivalentes. Personnellement, je préfère C# pour sa similarité avec les langages (Java et C) dans lesquels j'ai appris à programmer.
Quel que soit le langage, le programmeur choisit ensuite la technologie d'interface utilisateur appropriée pour le projet en cours. Pour les applications graphiques fonctionnant sur Windows, je pense que WPF est la technologie à battre (notamment parce qu'elle est très similaire à Silverlight, qui peut être utilisé pour cibler le web et Windows Phone).
J'espère que cela permettra au moins de commencer à éclaircir ce qui est un sujet très complexe mais navigable ! J'ai déjà fait un lien vers ce site plus haut, mais jetez un coup d'oeil à Centre des développeurs débutants de Microsoft comme une autre ressource pour vous mettre sur pied. Bonne chance !