www.mikrocontroller.net

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


Autor: Flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: raki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. ;-)

Autor: raki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Flea (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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#???

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht 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.:
// C#, Textdatei einlesen und jede Zeile in Schlüssel und Wert aufteilen
char[] separators = { '=' };
string[] lines = File.ReadAllLines("abcd.txt");
foreach (string s in lines) {
    string[] parts = s.Split(separators);
    ...
}

// XML-Datei
XmlTextReader reader = new XmlTextReader("cdef.xml");
while (reader.Read()) {
    switch (reader.NodeType) {
        ...
    }
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.