Programmiersprache für Windows-Programme?

ascer

Captain
Registriert
Juni 2008
Beiträge
3.704
Hallo Leute,



ich habe mich jetzt schon jahrelang mit Webdesign hobbymäßig beschäftigt, angefangen bei HTML/CSS über Flash und JavaScript/Ajax bis hin zu PHP/MySQL...nun wollte ich auch mal ganz normale Programme unter Windows schreiben.

Beispielsweise FrontEnds für irgendwelche Serverapplikationen von mir (Schnittstelle zu PHP und/oder MySQL wäre also gut) oder Sachen für den täglichen Client/Servergebrauch sowie vielleicht auch mal ein kleines 2D-Spielchen...

Auf Sachen wie C, Delphi, Pascal und VisualBasic hab ich schon mal einen Blick geworfen, aber Delphi, Pascal & VisualBasic kamen mir iwie alle ein wenig..überholt vor^^

C wiederrum war mir viel zu komplex & kryptisch, was man da alles erlernen, einbinden, initialisieren und beachten muss, bevor man überhaupt mal ein kleines "hallo welt" auf dem bildschirm sieht...viel zu umständlich...


Java, C++ oder C# z.B. habe ich schon oft gehört aber noch nie wirklich ausprobiert, wie sieht das da aus?


Ich suche, um es mal abzukürzen, in etwa sowas wie PHP nur eben für ganz stinknormale Windows Clientapplikationen:
Also eine Programmiersprache, welche einigermaßen modern ist,
die Datenbankanbindungen (MySQL, zur Not auch über PHP umweg) hinbekommt,
die einfach zu erlernen ist, simpel könnte man auch sagen, wo man eben nicht 1 DIN A4 Seite benötigt, um einfach nur "Hallo Welt" auf dem Bildschirm zu lesen...

Die Programmiersprache sollte allerdings auch eine Vertiefung bieten, d.h., wie PHP z.B., wenn man dann tiefer eintaucht auch OOP-fähig sein und wirklich komplexe Aufgaben hinbekommen. (vertieftes Fachwissen dann natürlich vorrausgesetzt)


Kennt jemand von euch vielleicht eine solche Sprache?
Oder kann vielleicht ein paar Statements zu Java, C++ bzw. C# abgeben?



grüße,

Ascer
 
Zuletzt bearbeitet:
Nein noch nicht direkt bis jetzt...war Python nicht PHP-ähnlich?

Also ich bräuchte schon eine Sprache, die ein eigenes Fenster für Benutzereingaben generieren kann...nur Konsoleneingaben oder z.B. HTML-Rückgabe wie bei PHP bringt mich nicht weiter^^
 
ascer schrieb:
Oder kann vielleicht ein paar Statements zu Java, C++ bzw. C# abgeben?
C++ ist C um Objektorientierung und noch ein paar Sachen erweitert.
Java ist einfacher, aber nur bedingt für GUI-Anwendungen unter Windows geeignet.
C# hat viele Ähnlichkeiten mit Java. Zusammen mit dem .NET-Framework hat man eine solide Basis für Windows-Anwendungen.

Hat natürlich alles sein Vor- und Nachteile.
 
Das hört sich soweit ja ganz gut, dann werd ich mir wohl C# mal näher anschauen.
Wie "einfach" ist C# denn? ( gerade für GUI-Neulinge^^ )
Und wie performant/komplex wenn man später "tiefer eintauchen" will?


Gibt es vielleicht auch noch andere Alternativen zu C#?
 
Mit Python kannst du auch Fenster generieren und Python ist einfacher als Java - eine der einfachsten Sprachen überhaupt und braucht sehr wenig tipparbeit. Hier gibt es eine Liste der Software welche mit Python programmiert wurden:
http://en.wikipedia.org/wiki/List_of_Python_software

Die meiste Software ist für Linux aber auch für WIndows gibts welche, z.B Bittorrent

EDIT:
Aber es gibt wohl nicht so gute Entwicklungswerkezuge wie für C# und was GUI entwicklung unter WIndows angeht weiß ich nicht, aber unter Linux ist es definitiv nicht so komfortabel wie unter Windows mit C# oder VB oder Java, dafür aber die Sprache einfacher.
 
Zuletzt bearbeitet:
Also nach einiger Wikipedia-Recherche sieht Python in der Tat doch ganz nett aus...

Ist es denn wirklich "einfacher" als C#?

Und ganz wichtig: könnte jemand was zur GUI-Entwicklung unter Python sagen?
Umständlich? oder relativ einfach lösbar?
 
Ich bin zwar auch Python-Fan, aber für Windows-Programme würde ich ganz klar auf C# setzen.
GUI-Entwicklung ist mit Python natürlich auch möglich, macht mir persönlich aber keinen Spaß :)

Der Code für ein einfaches Fenster sieht z.B. so aus:
(Im richtigen Projekt würde man es etwas anders machen, aber das hier gezeigte kann sowieso VisualStudio übernehmen)
Code:
using System;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;

class MainWindow : Form
{
    [STAThread]
    static void Main(string[] args)
    {
        Application.EnableVisualStyles();
        Application.Run(new MainWindow());
    }

    public MainWindow()
    {
        this.Text = "Hello, World!";

        Label helloWorldLabel = new Label();
        helloWorldLabel.Text = "Hello, World!";
        this.Controls.Add(helloWorldLabel);

        Button helloWorldButton = new Button();
        helloWorldButton.Text = "Klick mich!";
        helloWorldButton.Location = new Point(0, 50);
        helloWorldButton.Click += new EventHandler(helloWorldButton_Click);
        this.Controls.Add(helloWorldButton);
    }

    void helloWorldButton_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Hello, World!");
    }
}
Der Code ist glaube ich größtenteils selbsterklärend.

Ein weiterer großer Vorteil ist, dass man mit dem schon erwähnten VisualStudio eine sehr gute IDE bekommt. Zum Beispiel mit den kostenlosen Express Editions: http://www.microsoft.com/express/Windows/
 
Zuletzt bearbeitet:
Ok, soweit schonmal vielen Dank ;)

Könntest du vielleicht ein wenig erläutern, was die gravierenden Unterschiede sind?

Also warum würdest du, gerade als Python-Fan, auf C# für Windows-GUI-Applikationen setzen?
 
Unter Windows ist .NET, und damit unter anderm C# als Hauptsprache, eindeutig die Zukunft. Normale Entwickler können für Windows Phone nur noch in .NET (Silverlight) programmieren. Etwas ähnliches ist für Windows 8 in abgeschwächter Form zu erwarten, ich denke da an den Marketplace. Außerdem werden die .NET Progamme problemlos auch auf ARM laufen. Damit will ich nicht sagen, dass andere Sprachen bzw. Frameworks unter Windows mittelfristig nicht mehr laufen, aber wenn man jetzt einsteigt ist unter Windows C# die erste Wahl.
 
Wenn Du ausschließlich für Windows programmieren willst, ist die .NET-Plattform (und damit C# als Programmiersprache) auf jeden Fall erst Wahl. Bei uns in der Firma werden neuere Projrekte fast nur noch in C# programmiert !
 
Mit Visual Studio C# Express und Winforms sind GUI Anwendungen schnell und recht simpel erstellt. Das einzige was mich stört: .NET Anwendungen lassen sich ohne viel Aufwand und Probleme dekompilieren. Obfuscatoren helfen da nur ganz wenig. :(
 
die .NET-Plattform (und damit C# als Programmiersprache)
Du kannst genauso VB.Net, F# oder sonst irgendeine .NET-Sprache nehmen. Warum wird immer C# als DIE Programmiersprache für .NET angesehen? Es gibt nur noch wenige, meist schmutzige und oft unsaubere Sachen, die mit C# gehen und mit den anderen NET-Sprachen nicht (z.B. direkter Speicherzugriff). Dafür sieht z.B. LinQ in C# immer irgendwie fehl am Platze aus, während es sich voll in das VB.Net-Gesamtbild einfügt.

.NET ist unter Windows die Zukunft. Wenn Du einigermaßen portabel sein willst, nimm aber besser Java oder noch besser Python und eine unabhängige Fenster-Lib wie WxWidgets. Damit bist Du unabhängig von Entscheidungen in großen Konzernen (wie z.B. Oracle) und sehr unabhängig in der Plattformwahl. Wenn Du 100% sicher sein kannst, dass Deine Programme ausschließlich unter Windows genutzt werden, dann nutze .NET. Die konkrete Sprache (C#/VB/F#/etc.) würde ich nach Deinen persönlichen Vorlieben aussuchen.

Gruß FatFire

Edit: @toeffi: Genau das hat er doch gerade geschrieben?!?
 
Würde dir für Windows-Programme aufjedenefall C#.Net empfehlen. Hier eine Lektüre in der du mal Stöbern kannst:
Einführung in das Programmieren mit C# 3.0 vond der Uni Trier
Dort wird alles erklärt rund um C#. Dort wird auch auf die Entwicklungumgebungen und wie man Oberflächen erstellt eingegangen ... uvm.

@FatFire C# oder VB ist sowas von egal! Jeden das was einen am bessten gefällt. Was mir an VB z.B. nicht so gefällt ist die dynamische Typsicherheit. Wahrscheinlich stehe ich auch aus Gewohnheit (davor C++) mehr auf die statische Typsicherheit in C#.
 
Zuletzt bearbeitet:
Da ich C# (noch) nicht verwende und kaum etwas dazu sagen kann, empfehle ich Java.

- Java ist plattformunabhängig. Überall, wo die Java Virtual Maschine läuft (Handy, Waschmaschine, Videorekorder, PC, ...), kannst du Programme dafür schreiben.
- Es ist die ideale und logische Ergänzung für den Webdesigner. Mit Java Applets kann man komplizierteren Webanwendungen realisieren.
- Es hat mehr Umfang, als du in den nächsten 5 Jahren einsetzen kannst.
- Es ist einfach zu lernen (meiner Meinung nach).
- Der Umstieg von Java auf C# soll nicht allzu schwer sein, da sich die Sprachen wohl stark ähneln.
- Und ähnlich, wenn nicht sogar mehr, wie C# ist es stark am kommen.
 
ducky_boy schrieb:
@FatFire C# oder VB ist sowas von egal! Jeden das was einen am bessten gefällt.
Schrieb ich ja auch:
Mir selbst schrieb:
Die konkrete Sprache (C#/VB/F#/etc.) würde ich nach Deinen persönlichen Vorlieben aussuchen.
Es wird nur komischerweise immer so getan als ob C# die einzige Sprache für .NET wäre und das ist schlichtweg falsch. Ich hab schon professionell in Java, C#, PHP und VB.Net programmiert und muss einfach für mich konstatieren: VB.Net geht die Entwicklung am schnellsten, wenn man sich eingewöhnt hat. Dann "tabbt" man sich in VisualStudio schon beinahe sein Programm zusammen. Aber das Wechseln zwischen PHP, C# und Java fällt natürlich deutlich leichter als zwischen einer dieser Sprachen und VB :D

e-Laurin schrieb:
- Und ähnlich, wenn nicht sogar mehr, wie C# ist es stark am kommen.
Naja, nö, eigentlich ist dieser "FürjedenScheissBenutzIchJava"-Hype schon wieder vorbei. JSP und Servlets haben sich allerdings fest etabliert. Die Desktopapplikations-Entwicklung dümpelt hingegen schon seit Jahren auf dem gleichen niedrigen Niveau herum. Da sind alternative Entwicklungen die auf der Runtime aufbauen, wie Scala oder Groovy, schon deutlich interessanter zu bewerten.

Gruß FatFire
 
Zurück
Oben