Welche Programmiersprache für Desktopanwendungen?

3 Antworten

Denke eher, dass VB verwendet wird! Das ist ziemlicht Desktop-Nah!

Kommt aber halt auch immer darauf an, was man programmieren möchte :-)

Woher ich das weiß:Berufserfahrung

grtgrt  04.03.2020, 18:24

VB sollte man heute gar nicht mehr verwenden (die VB-Schiene ist "Schnee von gestern" und war schon früher nur für jene gedacht, denen C++ als zu schwierig erschien). Heute verwendet man aber keine der klassischen, in C++ geschriebenen GUI-Bibliotheken mehr, da sie nicht zu weborientierter App-Architektur passen.

Verwende C# (oder einfach nur HTML kombiniert mit einem passenden JavaScript Framework).

Multi-OS — ein Konkurrent zu Electron — setzt auf Java statt JavaScript.

Wie lernt man : Moderne GUI-Technologie oder doch nur plattformübergreifender Code: Electron vs Qt

Wie lernt man : Mehr zu Electron?

Calrusch 
Beitragsersteller
 04.03.2020, 18:07

C++ ist aber Plattformunabhängig.

PeterP58  04.03.2020, 18:09
@Calrusch

Wie gesagt: Kommt darauf an, was man programmieren möchte!

Wäre es eine App für's Handy, würde ich Java empfehlen ...

Calrusch 
Beitragsersteller
 04.03.2020, 18:09
@PeterP58

Da stimme ich dir zu :) Danke für deine Antwort

Für Windows-Anwendungen sind es vorrangig .NET-Sprachen (vor allem C#, VB.NET im Vergleich dazu nur noch mit geringem Anteil) sowie C++. Auch Delphi/Pascal und Java kann man noch benennen. Auf MacOS hingegen laufen vorrangig Anwendungen, die auf Objective-C oder C/C++ basieren, wobei Swift bereits dabei ist, Objective-C zu ersetzen.

Der Grund für .NET / Objective-C liegt vor allem im Support der jeweiligen Hersteller: Microsoft und Apple.

So wurden für .NET bspw. verschiedene gute und teils auch einfache Tools geschaffen, mit denen man leicht grafische Oberflächen zusammenbauen kann (Visual Studio mit seinem integrierten Designer-Tool, Windows Forms, WPF, UWP, Visual Blend, ...). C# selbst ist zudem leichter erlernbar als C++ und mit vielen komfortablen sprachlichen Features ausgestattet.

Objective-C ist auf der anderen Seite die Basis für GNUstep (einem Entwicklungstool für grafische Applikationen) sowie Cocoa, welches unter anderem das AppKit-Framework umfasst, welches diverse Komponenten zu Entwicklung grafischer Oberflächen für macOS bereithält.

Beide Unternehmen (Apple, Microsoft) sind inzwischen gegen Java vorgegangen, welches eine große Konkurrenz darstellte. Microsofts Antwort war C#, Apple hingegen hat den Support von Java-Anwendungen auf seinen Plattformen eingeschränkt. Bspw. wurde die Unterstützung der Java-Cocoa-Bridge eingestellt.

Ich denke C++, aber könnt ihr mir erklären warum die Programmiersprache, und welche Nachteile sie hat.

C++ ist nicht einfach. Das ist Grund genug, wieso man gern auf andere Sprachen baut. Vor allem, wenn die geplanten Anwendungen schnell entwickelt werden sollen.

Ein sehr wichtiges Merkmal, welches Delphi und Visual Basic damals so populär gemacht hat, war die Möglichkeit, so schnell und einfach grafische Oberflächen mit einem Baukastentool zusammenschieben zu können. Eine Vielzahl an Komponenten war schon in der Standardbibliothek integriert und konnten sogar leicht erweitert werden.

Wenn man sich nun noch Nachteile von C# und Objective-C anschaut:

  • Beide Sprachen sind mitsamt ihrer zugrundeliegenden Technologie ursprünglich auf ein System beschränkt. Microsoft baut die Reichweite von .NET gerade erst (mit .NET Core) aus.
  • Objective-C ist in seiner Syntax nicht gerade leicht. Apple hat sich daher bewusst dazu entschieden, eine modernere, einfachere Sprache herauszubringen (Swift). Diese ist inzwischen soweit, ernsthaft produktiv eingesetzt werden zu können.
Welche Programmiersprache für Desktopanwendungen?

Wenn du für Windows OS entwickeln möchtest, wäre wie gesagt C# eine gute Wahl. Für Mac OS wären es Swift oder C++ (mit bspw. Qt).

Genauso kannst du noch immer die anderen genannten Optionen (Java, VB.NET, Delphi) nutzen oder dir andere, neuere Ansätze anschauen. Zum Beispiel Flutter (mit der Programmiersprache Dart) oder Electron (mit der Programmiersprache JavaScript).

C++ hat einen Recht, naja wie soll ich sagen: Seltsamen Syntax gegen über C.

C++ wird gerne für Desktopprogramme verwendet aber C# auch.

Also du kannst mit C++ und C# für das .NET Framework unter Windows Anwendungen schreiben, sprich auch Desktopanwendungen.

Für Windows 10 werden die Windows Apps (UWP) aber hauptsächlich in C# programmiert, aber C++ ist hier auch möglich.