Forum: PC-Programmierung Auswahl Programmiersprache für Windows-Anwendung


von Flea (Gast)


Lesenswert?

Hallo,

für meine Diplomarbeit soll ich eine Windows-Anwendung machen, mit der 
die eigentliche Arbeit über USB gesteuert wird.
An diesem Punkt wollte ich mal fragen, welche Programmiersprache sich 
dafür eignen würde. Als Entwicklungsumgebung werde ich Visual Studio 
verwenden.
Für Visual Basic würde ja die Einfachheit und Schnelligkeit sprechen. 
Allerdings bin ich kein so wahrer Freund davon, da man dabei schnell die 
Übersichtlichkeit verliert, da meiner Ansicht nach Visual Basic nicht 
stark strukturiert ist.
Mit C++ unter Visual Studio zu programmieren finde ich irgendwie 
komisch, da man irgendwie nur in Header-Files programmiert (seh ich das 
richtig?).
Eine andere Option wäre C#: Da ich die Erstellung der Windows-Anwendung 
erst ab Juli plane (ich bin zwischen durch für 3 Monate an meiner 
Hochschule) hätte ich noch genug Zeit mich da einzuarbeiten.
Wer hat Erfahrungen mit C#?
Oder was würdet ihr mir von den 3 Sprachen empfehlen?

Gruß Flea

von Severino R. (severino)


Lesenswert?

Flea wrote:
> Für Visual Basic würde ja die Einfachheit und Schnelligkeit sprechen.
> Allerdings bin ich kein so wahrer Freund davon, da man dabei schnell die
> Übersichtlichkeit verliert, da meiner Ansicht nach Visual Basic nicht
> stark strukturiert ist.

Falsch. Unter VB gibt es praktisch dieselben Strukturelemente wie unter 
C# (und C++).
Wirklich einfacher ist VB aber nicht unbedingt. Es ist vielleicht etwas 
selbsterklärender zu Lesen als C#/C++.
Class SubClass
  Inherits BaseClass
[...]
End Class
gegenüber
class SubClass:BaseClass {
[...]
}

> Mit C++ unter Visual Studio zu programmieren finde ich irgendwie
> komisch, da man irgendwie nur in Header-Files programmiert (seh ich das
> richtig?).
Kaum.
Ausserdem musst Du entscheiden, ob Du mit Win32, MFC oder .NET 
programmierst.

> Eine andere Option wäre C#: Da ich die Erstellung der Windows-Anwendung
> erst ab Juli plane (ich bin zwischen durch für 3 Monate an meiner
> Hochschule) hätte ich noch genug Zeit mich da einzuarbeiten.
> Wer hat Erfahrungen mit C#?
Ich bin am mich in C# einarbeiten. Sieht echt gut aus.

> Oder was würdet ihr mir von den 3 Sprachen empfehlen?
Bedenke: Die Sprache ist das Eine, die zu verwendenden Bibliotheken das 
Andere. Wenn Du mal .NET kennst, kannst Du es mit VB wie auch mit C#, 
(mit Einschränkungen?) auch mit C++ verwenden.

von Frank (Gast)


Lesenswert?

Man kann in jeder Programmiersprache strukturiert arbeiten oder 
chaotischen Spaghetti-Code produzieren.

Ich würde dir empfehlen, sieh' dir RealBasic wenigstens mal an. Das hat 
den Vorteil. dass es das für Windows, Mac und Linux in identischen 
Versionen gibt und man arbeiten oder trainieren kann, egal welches 
System man zur Verfügung hat. Ausserdem laufen die Anwendungen dann auch 
auf den Systemen.

Für den Zugriff auf USB-Treiber braucht man allerdings passende Plugins, 
die den Code für alle Plattformen enthalten oder API-Wrapper, die mit 
"Declare ..."-Statements arbeiten. Dabei gibt man einen Teil der 
Plattformunabhängigkeit des Quellcodes wieder auf. RB-Compilate haben 
dan Vorteil, dass sie nicht installiert werden müssen: kopieren, 
klicken, läuft.

Frank

von raki (Gast)


Lesenswert?

C++ mit Qt/Ultimate++/wxWidgets/gtkmm? Dann bleibt das Projekt auch
etwas offener für andere Plattformen/Betriebssysteme.

Java mag ich zwar nicht, wäre aber ebenfalls eine Option... ansonsten
ist sowas eh immer Geschmackssache, auf VB wäre ich nie gekommen. ;-)

Vielleicht sprichst du mal deine Betreuer an, wenn die selbst irgendwas
bevorzugen, wäre es nicht ungeschickt das gleiche zu nehmen, dann
können die besser helfen. ;-)

von raki (Gast)


Lesenswert?

> RB-Compilate haben dan Vorteil, dass sie nicht installiert werden
> müssen: kopieren, klicken, läuft.
Öh, bei allen anderen, mit dll kopieren, klicken, läuft auch. ;-)
Statisch linken dürfte bei dem meisten Rotz da oben auch gehen.
Und den .NET-Kram braucht mittlerweile unter Windows eh fast auf
jedem Rechner.

von Johnny (Gast)


Lesenswert?

Mit Visual Studio .NET und C# setzt Du bestimmt nicht auf das falsche 
Pferd. Ich würde definitiv diesen Weg einschlagen. Erst mal brauchst Du 
im Grunde nur ein Package zu installieren und dann hast Du alles auf dem 
PC was es braucht. Weiter gibts im Internet fast unendlichen Support in 
MSDN, Foren, Newsgroups, ...
Bei einer Diplomarbeit ist ja die Zeit knapp bemessen und vorgegeben, 
darum würde ich mich nicht auf Experimente mit zusammengewürfelten Tools 
einlassen sondern etwas Bewährtes aus einem Guss nehmen.

von Flea (Gast)


Lesenswert?

Visual Studio werde ich definitiv verwenden.
Mir gehts nur um die Programmiersprache.
Was ich vergessen habe zu erwähnen: Ich werde auch ziemlich viel mit 
Dateien zu tun haben, da Konfigurationen gespeichert werden. Beim Umgang 
mit Dateien find ich Visual Basic auch nicht so toll wie C.
Wie ist da C#???

von Johnny (Gast)


Lesenswert?

Es hat erst mal nichts mit C# zu tun, denn diese Funktionalität um 
Dateien lesen/schreiben zu können ist im .NET Framework integriert. Von 
da her spielt es eigentlich keine Rolle, ob Du nun C#, Visual Basic, C++ 
oder Java in Visual Studio programmierst; das .NET Framework ist für all 
diese Sprachen dasselbe.
Dateihandling ist damit im übrigen gar kein Problem, hab auch schon viel 
damit gemacht.

von Arc N. (arc)


Lesenswert?

Flea wrote:
> Visual Studio werde ich definitiv verwenden.
> Mir gehts nur um die Programmiersprache.
> Was ich vergessen habe zu erwähnen: Ich werde auch ziemlich viel mit
> Dateien zu tun haben, da Konfigurationen gespeichert werden. Beim Umgang
> mit Dateien find ich Visual Basic auch nicht so toll wie C.
> Wie ist da C#???

Das hat bei C# und VB nichts mehr (bzw. nur sehr wenig) mit der Sprache 
zu tun. Die Funktionen sind im Net-Framework und lassen sich in allen 
Sprachen für das Net-Framework gleich verwenden.
(zu spät abgeschickt... s.o.)

Bsp.:
1
// C#, Textdatei einlesen und jede Zeile in Schlüssel und Wert aufteilen
2
char[] separators = { '=' };
3
string[] lines = File.ReadAllLines("abcd.txt");
4
foreach (string s in lines) {
5
    string[] parts = s.Split(separators);
6
    ...
7
}
8
9
// XML-Datei
10
XmlTextReader reader = new XmlTextReader("cdef.xml");
11
while (reader.Read()) {
12
    switch (reader.NodeType) {
13
        ...
14
    }
15
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.