Programmiersprache für Windows-Programme?

Uih, nein, mein Gott, ich will da jetzt keine Grundsatzdiskussion oder gar einen Streit vom Zaun brechen. Java ist eine tolle Sprache, kann man alles mit machen, C# ist eine tolle Sprache, kann man alles mit machen, Brainfuck ist eine tolle Sprache, kann man alles mit machen...das ist nun einfach das Elend der ganzen turing-vollständigen Sprachen.

Ich hab nur versucht meine persönliche Wahrnehmung wider zu geben. Also Glaubenskrieg mache ich nicht mit. Wenn er sehr zufrieden mit PHP ist, kann er ja auch GUIs mit PHP-GTK basteln. Letztendlich ist es doch eher das Umfeld einer Programmiersprache, welches die Entscheidung ausmacht. Finde ich eine gute IDE, viele Libs, auf welchen Rechnern läuft der Kram und welche Technologien kann ich damit benutzen. Die Syntax ist am Ende doch eher Nebensache und vielleicht nur eine Lernsache von ein paar Wochen. Wenn man nicht gerade einen Numbercruncher programmiert, spielt die Geschwindigkeit inzwischen auch kaum noch eine Rolle, da wird man kaum den Unterschied zwischen einer sauber programmierten C++- und einer sauber programmierten Java- oder Python-Anwendung mitbekommen.
Und große Communities haben auch alle der genannten Sprachen.

Gruß FatFire
 
Ich würde dir zu Java oder C# raten. Beide find ich persönlich am schönsten mit zu arbeiten.

Python ist zwar auch eine alternative, aber seid wir damit letztes Semester eine verteielte Planetensimulation gebaut haben, hab ich eine abneigung dagegen entwickelt. Auch habe ich stellenweise ziemlich darüber geflucht, dass es keine expliziten Typen gibt.
Wenn du Gui anwendungen damit bauen willst, ist QT (http://qt.nokia.com/) recht brauchbar.
Mit dem Plugin Pydev lässt sich Python auch schön in eclipse einbinden.

Für ein reines Windows Programm würd ich jetzt C# nehmen, wenn es auch auf anderen Systemem laufen soll Java.
Für C# kannst du mal schaun ob du die Studentenversion von Visual Studio herbekommst. Mit dieser lässt es sich zum einen sehr Komfortabel eine Gui schnell zusammenklicken und zum anderen bekommt man gleich noch ein haufen nützlicher funktionen mitgeliefert.
Für Java kann ich dir leider kein Gui-Tool empfehlen. Im Studium mussten wir es leider per Hand alles coden.

Ein weiterer Ansatz für dich könnte sein, dass du dich mal mit Widgets und dem Opera Browser beschäftigst. Soweit ich weiß, kann man mit HTML, CSS und JS Widgets erstellen, welche auch ohne einen offenen Browser laufen.
 
Kennt eigentlich jemand eine "lightweight" Websprache mit stärkerer Typisierung als PHP und Co. (bzw. expliziter Typangabe) ?
 
Zuletzt bearbeitet:
@carom
Weiß zwar nicht was du als "lightweight" Websprache definierst. Aber schau dir mal Ruby bzw. Ruby on Rails (Webframework zu Ruby) an.
 
ascer schrieb:
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.
na dann würde ich fernab von anderen Programmiersprachen mal einen Blick auf Adobe Air werfen ;)
Macht Webseiten mit JavaScript zu Windows-Applikationen.
Hat zwar nicht soviele Einsatzmöglichkeiten wie die anderen angesprochenen Dinge in deinem Post, aber für einfache Anwendungen eine klasse Sache um schnell eine gut funktionierende Applikation zu erstellen.

carom schrieb:
Kennt eigentlich jemand eine "lightweight" Websprache mit stärkerer Typisierung als PHP und Co. (bzw. expliziter Typangabe) ?
Scala (implizite Typisierung) mit dem Lift-Framework?
 
Zuletzt bearbeitet: (Adobe AIR URL)
Java , C#, C OMG ich kriegs gruseln.
Bleib Platformabhängig und guck dir TCL mit TK als frontend & perl als Backend an & du wirst glücklich werden!
Perl ähnelt start PHP, PHP ist ja auch an Perl angelehnt :)
TCL ist ne glewlanguage oder so ähnlich, wurde unter Linux entwickelt, zu Kommunikation zwischen Programmen. Mit TCL/TK kannste sehr einfach Fenster erstellen. Kann auch den Backend in TCL machen.
 
Vielen Dank für die zahlreichen Antworten!


Plattformunabhängigkeit brauche ich bei dieser Sprache deshalb nicht, weil Linux für meine Verwendungszwecke nur als Server genutzt wird. Dort reicht der volle Funktionsumfang von PHP aus und eventuelle GUI's bastel ich zur Not, wenn benötigt, mit AJAX-Bibliotheken als FrontEnd.

Windows-GUI-Applikationen wären so langsam aber mal ganz gut...plattformunabhängigkeit wäre zwar auch nicht schlimm, aber definitiv auch nicht nötig. Absoluter Fokus liegt auf Windows.


VisualBasic sagt mir, nach erneutem Anschauen, nicht wirklich zu...rein persönlich subjektiv...



Ich denke Java, C# oder Python wären dann so die Favoriten - nochmal konkret was benötigt wird:


- automatische Speicherverwaltung (mit manueller möchte ich mich nicht rumplagen^^)
- Windows-GUI's so einfach wie möglich erstellen, aber auch mit ausreichend Funktionsumfang, um das Thema später zu vertiefen
- auch für 2D-Spiele tauglich (mal so als Hobbyprojekt für zwischendurch^^)
- OOP (am besten wie bei PHP, also auch mit ganz normalen code vermischbar)
- Datenbankkommunikation möglich (vorzugsweise mit MySQL)
- nicht zu kryptisch, einfach erlernbar für einfache Sachen wie "Hallo Welt" ausgeben, aber durchaus komplex, wenn man es vertiefen möchte
 
Zuletzt bearbeitet:
Zu Python kann ich nichts sagen. Da stolpere ich alle paar Jahre mal über ein paar Linux-Programme, die darin geschrieben sind.


Automatische Speicherverwaltung hast du bei Java und C#.

GUIs sind mit C# vermutlich recht einfach im Visual Studio zusammen zu klicken. Bei Java ist es mMn ein Graus. Es soll aber da auch annehmbare GUI-Generatoren geben.

Für 2D-Spiele sind sowohl C# als auch Java geeignet. Falls du dich für Java entscheidest, schau dir mal zB Slick an.

Java setzt OOP sehr streng um (finde ich persönlich gut), C# ist da vermutlich ähnlich.

DB-Kommunikation ist ebenfalls bei beiden Sprachen einfach.

Nicht kryptisch, aber komplex und einfach erlernbar sind ebenfalls beide Sprachen.


Probiere sie aus. Geh auf die Microsoft-Seite und lade dir dort Visual C# Express runter, bzw. geh auf die Oracle-Seite und lade dir dort das aktuelle JDK (Java Development Kit) für Java SE (Java Standard Edition) herunter. Als IDE kannst du dort NetBeans gleich mit herunterladen oder du weichst auf andere gute Alternativen wie Eclipse (mein persönlicher Liebling) aus.


Hallo Welt in Java:
Code:
public class HalloWelt {
	public static void main(String[] args) {
		System.out.println("Hallo Welt!");
	}
}
 
Zuletzt bearbeitet:
@ducky_boy und ice-breaker: danke, werde ich mir mal anschauen :)

ascer schrieb:
- Windows-GUI's so einfach wie möglich erstellen, aber auch mit ausreichend Funktionsumfang, um das Thema später zu vertiefen


Dann bleibt eigentlich fast nur noch .NET, wenn du speziell auf Windows aus bist. Mit dem Visual Studio bekommst du Forms ziemlich einfach hin und mit WPF hast du später eine elegante Möglichkeit, noch mehr zu vertiefen.
Außerdem kann man Windows-spezifische Features wie z.B. Jumplists und Thumbnail Toolbars ziemlich einfach durch managed Klassen umsetzen.
 
Zuletzt bearbeitet:
ascer schrieb:
- automatische Speicherverwaltung (mit manueller möchte ich mich nicht rumplagen^^)

Kleiner Einwurf vom Rand: das müßtest du auch in C++ nicht. shared_ptr, weak_ptr (beides Klassen, die sich bedienen lassen wie normale Pointer, die aber internes Reference counting haben und das referenzierte Objekt automatisch löschen, so bald die letzte Referenz ausgelaufen ist ... praktisch genau so, wie du es auch in Java kennst) so wie die STL-Container bedeuten, daß man in einem C++-Programm eigentlich so gut wie nie ein explizites delete mehr schreiben muß. :)
 
Ich kann dir C#.NET WÄRMSTENS ans Herz legen!

- einfach verständliche Syntax
- Speicherverwaltung/Garbage Collection
- zusammen mit dem XNA Game Studio (kostenlos) sind 2d und sogar komplexe 3d spiele möglich
- einfach zu lernen
- große community, viele tutorials im netz
- mysql connector vorhanden / einfach zu nutzen
- du kannst deine gui mit dem editor von Visual Studio per drag&drop zusammenklicken und dann kinderleicht events usw. abfangen lassen und mit logik füllen ;)

Nachteil ist nur die fehlende Plattformunabhängigkeit.
Allerdings kann man auch Konsolenbasierte Programme mithilfe des Mono Frameworks unter Linux laufen lassen (funktioniert auch ;))
 
Ich werfe mal noch diesen Link in den Raum: http://www.heise.de/newsticker/meld...iersprache-bei-IT-Dienstleistern-1198249.html

Zusammenfassung:
Die 50 größten IT-Dienstleister verwenden alle Java. 85% verwenden zusätzlich JavaScript. 66% verwenden auch C#. Sprachen wie C, C++, PHP, VB und Perl kommen auf etwas mehr als 50%. Objective-C, Python und Ruby werden von fast der Hälfte der Dienstleister verwendet.
Weiterhin möchten Firmen bei der Bewerbung gerne Leute haben, die Kenntnisse in Java, C, C++, C# und/oder JavaScript haben.
 
e-Laurin schrieb:
Ich werfe mal noch diesen Link in den Raum: http://www.heise.de/newsticker/meld...iersprache-bei-IT-Dienstleistern-1198249.html

Zusammenfassung:
Die 50 größten IT-Dienstleister verwenden alle Java. 85% verwenden zusätzlich JavaScript. 66% verwenden auch C#. Sprachen wie C, C++, PHP, VB und Perl kommen auf etwas mehr als 50%. Objective-C, Python und Ruby werden von fast der Hälfte der Dienstleister verwendet.
Weiterhin möchten Firmen bei der Bewerbung gerne Leute haben, die Kenntnisse in Java, C, C++, C# und/oder JavaScript haben.

Dankeschön! Nicht schlecht!

Das sind doch mehr sehr interessante und wichtige Informationen :)

Was die Arbeitswelt fordert ist ja auch nicht ganz unerheblich^^



BloodHunter2k8 schrieb:
Ich kann dir C#.NET WÄRMSTENS ans Herz legen!

- einfach verständliche Syntax
- Speicherverwaltung/Garbage Collection
- zusammen mit dem XNA Game Studio (kostenlos) sind 2d und sogar komplexe 3d spiele möglich
- einfach zu lernen
- große community, viele tutorials im netz
- mysql connector vorhanden / einfach zu nutzen
- du kannst deine gui mit dem editor von Visual Studio per drag&drop zusammenklicken und dann kinderleicht events usw. abfangen lassen und mit logik füllen ;)

Nachteil ist nur die fehlende Plattformunabhängigkeit.
Allerdings kann man auch Konsolenbasierte Programme mithilfe des Mono Frameworks unter Linux laufen lassen (funktioniert auch ;))

Ebenso vielen Dank!

Dann wird's wohl auf jeden Fall erstmal C# werden.

Im übrigen: die Plattformunabhängigkeit ist halt wie gesagt echt kein Problem...Linux gibt's bei mir wirklich nur für Server und wenn ohnehin nicht schon ein Webserver drauf läuft, kommt kurz Apache drauf...und für sämtliche Sachen, die dann auf Linux gemacht werden müssen, reichte mir bis jetzt PHP immer vollkommen aus...CronJobs sind ja unter Linux auch kinderleicht^^
 
Zuletzt bearbeitet:
Perl
-dynamisch Typiesiert
-Ansetze der OOP
-Datenbankkomunikation möglich
- einfach zu lernen & viele einsatzmöglichkeiten
- ähnelt stark PHP
TCL/TK
-dynamisch Typiesiert
-einfache Gui ist nen Zweizeiler
- 2D ist drin, 3D hab ich keinen Plan
- eifach zu lernen & viele einsatzmöglichkeiten
- ähnelt perl
 
dynamisch typisiert ist aber kein echter vorteil oder? damit gibt man viel kontrolle auf und mögliche fehler können erst zur laufzeit entdeckt werden und nicht schon zur kompilierzeit...

achso was ich noch sagen wollte: wenn du C# kannst, ist der Schritt zu Java nicht mehr weit.
Kannst du das eine, kannst du das andere (fast) auch.
syntax stimmt nämlich sehr stark überein und das framework bietet einen ähnlichen umfang (Gui-Editor von C# ist aber Weltklasse, da kann Java nicht mithalten)
 
naja man kann festhalten: für Windows/Gui Programmierung ist .NET(C#) das nonplusultra...
 
Zurück
Oben