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-Key: 335933

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

Printed on: April 26, 2024 at 06:04 o'clock

Mitglied: 132895
132895 Apr 23, 2017 updated at 08:01:18 (UTC)
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ß
Member: Lochkartenstanzer
Lochkartenstanzer Apr 23, 2017 updated at 08:11:52 (UTC)
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?
Mitglied: 131361
131361 Apr 23, 2017 updated at 08:15:01 (UTC)
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 ;)
Member: GrueneSosseMitSpeck
GrueneSosseMitSpeck Apr 23, 2017 at 08:21:06 (UTC)
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ß.
Member: fognet
fognet Apr 23, 2017 at 08:26:09 (UTC)
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
Mitglied: 132895
132895 Apr 23, 2017 updated at 08:38:24 (UTC)
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.
Member: Lochkartenstanzer
Lochkartenstanzer Apr 23, 2017 updated at 08:45:30 (UTC)
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
Member: emeriks
emeriks Apr 23, 2017 at 09:31:48 (UTC)
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.
Member: Herbrich19
Herbrich19 Apr 23, 2017 at 16:01:11 (UTC)
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
Member: NativeMode
NativeMode Apr 24, 2017 at 08:26:04 (UTC)
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.
Mitglied: 132934
132934 Apr 26, 2017 at 04:25:50 (UTC)
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.
Member: Lochkartenstanzer
Lochkartenstanzer Apr 26, 2017 updated at 06:32:53 (UTC)
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
Mitglied: 132934
132934 Apr 26, 2017 updated at 10:51:04 (UTC)
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.