Es wurde in der Vergangenheit oft, ja sehr kontrovers, über “die richtige Programmiersprache” diskutiert. Heute haben die Sprachen selbst an Bedeutung verloren. Sachlich und objektiv betrachtet dient eine Programmiersprache lediglich zur Umsetzung von Algorithmen und Abstraktionen in bedienbare und lauffähige Programme. Die Wahl der Programmiersprache wird heute von den Zielparametern und damit vor allem von dem Framework der Zielplattform bestimmt. Soll eine Office-Anwendung für Windows entwickelt werden, so drängt sich zuerst das Framework .NET auf. Das Framework .NET, wie übrigens auch Java, bietet das gesamte Umfeld, also die Erzeugung von Fenstern, die Zugriffe auf Datenbanken oder Dateien, die Schnittstellen zu Ausgabe- und Eingabe-Geräten und vieles mehr. Wobei Java nur die Wahl ist, wenn die Anwendung auf unterschiedlichen Plattformen eingesetzt werden muss und das C++ Open Source Framework wxWidgets, auch wegen des Designs oder der Lesbarkeit des Quelltextes, nicht verwendet werden kann. Welche Programmiersprache bei DOTNET verwendet wird, hängt von den Kundenvorgaben und dem Entwicklerteam ab. Da ich selbst in der Vergangenheit viel in den unterschiedlichen Sprachen wie C/C++, Delphi, VBA, Java u.w. entwickelt habe, mache ich die Sprache von dem spezifischen Anwendungsfall, den bestehenden Bausteinen (seitens des Kunden oder eigene), abhängig. Nicht zuletzt gibt es mittlerweile Konverter die den Umstieg von gutem C# Quelltext zu VB.NET ermöglichen. Als Beispiel soll die von mir verwendete Open Source Entwicklungsumgebung SharpDevelop genannt werden. Können komplizierte, meist damit auch schwer verständliche, Konstrukte nicht konvertiert werden, ist dies spätestens ein Anlass den Quelltext zu überdenken und zu refaktorisieren.