131361
Goto Top

Programmierung von Windows Programmen

Hallo zusammen face-smile

gerne möchte ich mit der Programmierung von Programm anfangen.
Ich habe ein Programm in Planung welches für macOS und Windows zur Verfügung stehen soll.

macOS ist soweit klar - Programmiersprache: swift
Doch welche Programmiersprache verwendet man am besten für Windows ?

Das geplante Programm soll natürlich ein schönes grafisches User Interface erhalten - somit währe ein batch file unter Windows jetzt nicht die richtige Variante face-smile
Vielen Dank schon mal !

Content-ID: 335933

Url: https://administrator.de/contentid/335933

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

132895
132895 23.04.2017 aktualisiert um 10:01:18 Uhr
Goto Top
Mit c# könntest du beide Platformen (cross platform) abdecken ...
http://www.macworld.co.uk/how-to/mac/how-learn-c-sharp-in-os-x-3640347/

Gruß
Lochkartenstanzer
Lochkartenstanzer 23.04.2017 aktualisiert um 10:11:52 Uhr
Goto Top
Zitat von @131361:

Doch welche Programmiersprache verwendet man am besten für Windows ?

Assembler oder PowerShell.

lks

PS. Ich möchte kochen. Welchen Kochtopf nehme ich da am besten?
131361
131361 23.04.2017 aktualisiert um 10:15:01 Uhr
Goto Top
wäre das denn auch zu empfehlen ?
ist C# nocht zeitgemäß ?

oder kurz gefragt: spricht etwas dagegen?

P.S.: Ich weiß das die Frage "welche am besten" schwer zu beantworten ist ;)
GrueneSosseMitSpeck
GrueneSosseMitSpeck 23.04.2017 um 10:21:06 Uhr
Goto Top
ja richtig... am besten den Eckigen.

Einfach in den Topf mit Scrabble-Buchstaben greifen und die Sprache lernen deren Buchstaben man erwischt hat. Die meisten sind mit Sicherheit schon mal verwendet worden...

richtig dauerhaft und auch schon lange platformübergreifend verfügbar (speziell für PC und Mac) ist aber nur Java, alles andere ist entweder experimentell... oder die APIs sind systemspezifisch so daß man am Ende doch für jede Platform separat sein Programm kompilieren muß.
fognet
fognet 23.04.2017 um 10:26:09 Uhr
Goto Top
Hi

C# ist definitiv noch zeitgemäss.
Mit WinForms und Visual Studio ist es auch keine Hexerei eine GUI zu erstellen;)

Du könntest auch C, C++, VB.Net, Java, Phyton, etc. verwenden..

Die Frage ist eher was kannst du und wie gewillt bist du eine neue Sprache zu lernen.

Gruss PPR
132895
132895 23.04.2017 aktualisiert um 10:38:24 Uhr
Goto Top
Zitat von @131361:
wäre das denn auch zu empfehlen ?
ist C# nocht zeitgemäß ?
Machst du Witze face-smile, klar...
P.S.: Ich weiß das die Frage "welche am besten" schwer zu beantworten ist ;)
Der Einsatzzweck und deine Vorlieben/Ansprüche/Können bestimmen primär die verwendete Sprache.
Lochkartenstanzer
Lochkartenstanzer 23.04.2017 aktualisiert um 10:45:30 Uhr
Goto Top
Zitat von @GrueneSosseMitSpeck:

richtig dauerhaft und auch schon lange platformübergreifend verfügbar (speziell für PC und Mac) ist aber nur Java, alles andere ist entweder experimentell... oder die APIs sind systemspezifisch so daß man am Ende doch für jede Platform separat sein Programm kompilieren muß.


Richtig dauerhaft und plattformübergreifend ist eigentlich nur Assembler und C, fuktionieren auch nach vielen jahrzehnten und gibt es für jede erdenkliche Plattform. face-smile

Bei den APIs muß man eh soweit abstrahieren, daß entweder selbst einen Abstraktionslayer programmiert oder sich eines der vielen Toolkits bedient, die das mehre schlecht als recht lösen.

lks
emeriks
emeriks 23.04.2017 um 11:31:48 Uhr
Goto Top
Hi,
Richtig dauerhaft und plattformübergreifend ist eigentlich nur Assembler und C, fuktionieren auch nach vielen jahrzehnten und gibt es für jede erdenkliche Plattform. face-smile
Dito! Die Java-Gemeinde glaubt doch schon immer, dass Gott als erstes Java geschaffen hat ...

Bei den APIs muß man eh soweit abstrahieren, daß entweder selbst einen Abstraktionslayer programmiert oder sich eines der vielen Toolkits bedient, die das mehre schlecht als recht lösen.
Eben. Und da ich allein schon von der Fragestellelung her davon ausgehe, dass der TO totaler Anfänger ist, ist das gleich zum Scheitern verurteilt.

@131361
Tipp: Fang am besten mit kleinen Brötchen an! Schreib ein paar Scripte. Dann baue darauf auf.

E.
Herbrich19
Herbrich19 23.04.2017 um 18:01:11 Uhr
Goto Top
Hallo,

Microsoft Visual Studio (arbeitet mit VB.NET (Visual Basic) und C#) so das du beim Framework nur noch zwischen WPF und WindowsForms wählen musst. Windows Forms ist für den Anfang sehr einfach. Gut C# ähnelt mehr so C/C++ und Visual Basic kann man eigentlich auch sehr leicht elernen face-smile

Gruß an die IT-Welt,
J Herbrich
NativeMode
NativeMode 24.04.2017 um 10:26:04 Uhr
Goto Top
Ich habe ganz gute Erfahrung mit Qt gemacht. Das ist C++ mit einem speziellen Framework, auf Wunsch eigener IDE und Plattform-Unabhängig. Es hat den riesen Vorteil das man nur einen Code braucht, der unter jeder aktuellen Plattform (Windows, Linux, Mac) kompiliert werden kann. Die GUI kann inline oder mit der IDE erstellt werden, auch Plattform-Unabhängig.
132934
132934 26.04.2017 um 06:25:50 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Zitat von @GrueneSosseMitSpeck:

richtig dauerhaft und auch schon lange platformübergreifend verfügbar (speziell für PC und Mac) ist aber nur Java, alles andere ist entweder experimentell... oder die APIs sind systemspezifisch so daß man am Ende doch für jede Platform separat sein Programm kompilieren muß.

Richtig dauerhaft und plattformübergreifend ist eigentlich nur Assembler und C, fuktionieren auch nach vielen jahrzehnten und gibt es für jede erdenkliche Plattform. face-smile

Assembler und C sind das genaue Gegenteil von Plattformunabhängig. Du hast Recht, dass die Compiler hier für alle erdenklichen Plattformen zur Verfügung stehen, allerdings meint man bei Plattformunabhängigkeit eigentlich die Lauffähigkeit von Programmen, ohne dass sie für jede Hardware/Betriebssystem neu kompiliert oder erstellt werden müssen. Ein in C geschriebenes und auf Windows kompiliertes Programm ist nicht auf anderen Plattformen als auf Windows lauffähig. Gerade Assembler ist das "Paradebeispiel" einer Plattformabhängigkeit, hier nicht primär vom Betriebssystem, sondern vor allem von der darunter liegenden Hardware Plattform. Du kannst X86 Assembler Code nicht auf z. B. einer ARM Plattform ausführen. Du kannst auch 64-Bit Assembler nicht auf 32 Bit Maschinen ausführen.

Java Programme kannst du hingegen überall ausführen, wo der Bytecode-Interpreter läuft, ohne das man den Java-Code neu übersetzen müsste. Man kann sich natürlich über Details streiten: "Ist eine Programmiersprache unabhängig wenn ein Interpreter vorhanden sein muss" allerdings ist das ein anderes Thema. Gängiger Konsens bei Plattformabhängigkeit/unabhängigkeit bezieht sich auf die Läuffähigkeit von Programmen ohne diese neu für jede Plattform zu kompilieren.
Lochkartenstanzer
Lochkartenstanzer 26.04.2017 aktualisiert um 08:32:53 Uhr
Goto Top
Dann verstehen Du und ich etwas anderes unter plattformunabhängig.

Und es ist eben nicht allgemeiner Konsens, daß nur für die Binaries gilt. In meinem Umfeld ist Plattformunabhänigkeit, wenn man dieselben Sourcen durch den Crosscompiler jagt udn das binary für das gewünschte ZUielsystem bekommt.

Und dein Java Interpreter übersetzt den code jedesmal aufs neue, wenn er auf eine andere Plattform kommt. Das ist nichts anderes als frisch kompilieren.

lks

PS: Java ist übrigens nur ein Abklatsch des alten UCSD-P-Code-systems face-smile
132934
132934 26.04.2017 aktualisiert um 12:51:04 Uhr
Goto Top
Zitat von @Lochkartenstanzer:
Und dein Java Interpreter übersetzt den code jedesmal aufs neue, wenn er auf eine andere Plattform kommt. Das ist nichts anderes als frisch kompilieren.

Nein, das ist es nicht. Der Java Code ist bereits in Bytecode übersetzt und wird durch den Bytecode Interpreter zur Laufzeit ausgeführt. Das ist langsamer als wenn das Programm bereits vollständig in Binärform vorliegt wie was bei einem Binärcompiler wie C der Fall ist, aber immer noch schneller als das Programm sequentiell bei jedem starten neu zu übersetzen wie es bei Interpretern von Skriptsprachen (Python, Ruby, Powershell, etc..) der Fall ist.