Forum: PC-Programmierung Welche Programmiersprache für einfaches GUI Design?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Liftboy 3. (liftboy_3)


Lesenswert?

Hallo,

mal ganz konkret in die Runde:

Wenn ich eine relativ einfache Desktopanwendung für Linux LXDE schreiben 
will (geht hauptsächlich um Kommunikation mit Serialport), welche 
Sprache bietet sich an, bei der das GUI Design ähnlich einfach 
funktioniert, wie im Visual Studio für C# / vbnet per Drag-and-Drop wo 
man die Buttons per Maustaste skalieren kann, Labeleigenschaften wie 
Farbe und Größe in den Settings festlegen kann, und nicht für jede 
Kleinigkeit Codezeilen schreiben muss?

Danke...

von Εrnst B. (ernst)


Lesenswert?

Qt als Toolkit und C++ als Sprache. Damit ist auch der Großteil von LXDE 
gemacht.
Qt gäbe es auch mit Python als Sprache, wenn dir C++ nicht liegt.

# apt install qtcreator

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

Ich denke auch das Qt die richtige Wahl ist. Aber ein bisschen
Einarbeitung ist da schon notwendig. Lohnt sich aber weil man
im Ergebnis dann Programme fuer Linux, Windows, Apple und Android 
schreiben
kann.

Vanye

von DSGV-Violator (Gast)


Lesenswert?

Der Klassiker: Tk aus tcl/Tk


https://de.wikipedia.org/wiki/Tk_(Toolkit)

von 900ss (900ss)


Lesenswert?

QT ist schon eine recht fetter Brocken. Meine Meinung.
Ich würde es mit Purebasic machen.
https://www.purebasic.com/
Ja, jetzt rollen alle mit den Augen. Macht aber nichts :)
Ist kostenlos bis zu einer gewissen Anzahl Zeilen. Die hat bei mir für 
kleinere Anwendungen (war auch oft mit serial Port) immer gereicht. Und 
sonst sind 79€ für solch eine Software auch ein Witz, im Sinne von 
preiswert.
Du kannst die kostenlose Variante so runterladen und nutzen. Man braucht 
nur die IDE. Unter Windows läuft das auch. Man bekommt nur EINE Datei 
hinterher als Executable die für dich lauffähig ist. Ohne erst noch 
irgendetwas an Libraries Installieren zu müssen.

: Bearbeitet durch User
von Michael H. (micha_22)


Lesenswert?

900ss D. schrieb:
> Ich würde es mit Purebasic machen.
> https://www.purebasic.com/

Ich auch.

Einfach, schnell und unkompliziert. In der Zeit wo die "relativ einfache 
Desktopanwendung" in PB bereits fertig ist, lernt er bei QT noch Kapitel 
3.

von Le X. (lex_91)


Lesenswert?

Εrnst B. schrieb:
> Qt als Toolkit und C++ als Sprache. Damit ist auch der Großteil von LXDE
> gemacht.
> Qt gäbe es auch mit Python als Sprache, wenn dir C++ nicht liegt.

+1 für Qt in Verbindung mit Python.
GUI-Design mit dem Qt-Creater.

Qt mit C++ beißt sich mit
> relativ einfache Desktopanwendung

von 900ss (900ss)


Lesenswert?

Michael H. schrieb:
> In der Zeit wo die "relativ einfache Desktopanwendung" in PB bereits
> fertig ist, lernt er bei QT noch Kapitel 3.

:) Daumen hoch...
Auch wenn man QT in Verbindung mit Python nutzt. QT ist eben kein 
Leichtgewicht.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Le X. schrieb:
> Εrnst B. schrieb:
>> Qt als Toolkit und C++ als Sprache. Damit ist auch der Großteil von LXDE
>> gemacht.
>> Qt gäbe es auch mit Python als Sprache, wenn dir C++ nicht liegt.
>
> +1 für Qt in Verbindung mit Python.
> GUI-Design mit dem Qt-Creater.
>
> Qt mit C++ beißt sich mit
>> relativ einfache Desktopanwendung

Finde ich nicht...

Einfache Dinge gehen in Qt einfach.
Wenn er C++ kann, dann ist mit dem QtCreator 95% vom GUI Code erledigt.

Wenn er C++ nicht kann (Qt liebt Templates, Lambdas und alles was ein 
modernes C++ so hergibt), dann würde ich eine der Beispiele, die im 1. 
Post stehen nehmen (also C# oder VB.net).

Es gibt ja Mono...

73

von Rolf M. (rmagnus)


Lesenswert?

900ss D. schrieb:
> QT ist schon eine recht fetter Brocken. Meine Meinung.

Bietet dafür halt auch sehr viel.

Le X. schrieb:
> Qt mit C++ beißt sich mit
>> relativ einfache Desktopanwendung

Ich finde, dass es mit Qt relativ einfach ist, allerdings nur, wenn man 
C++ schon beherrscht.

Liftboy 3. schrieb:
> wo man die Buttons per Maustaste skalieren kann

In Qt nutzt man schon seit der ersten Version normalerweise Layouts, die 
sich automatisch um die richtige Größe und Position kümmern. Diese 
Layouts kann man dann sehr flexibel konfigurieren

von Herbert B. (Gast)


Lesenswert?

Michael H. schrieb:
> Einfach, schnell und unkompliziert. In der Zeit wo die "relativ einfache
> Desktopanwendung" in PB bereits fertig ist, lernt er bei QT noch Kapitel
> 3.

Wenn es unbedingt was basicartiges sein soll kann er auch gleich GAMBAS 
nehmen, das kostet nix, man kann sich die GUI zusammenklicken und 
Serialportzugriff geht damit auch:

Klickbunti-Screenshots:
https://gambas.sourceforge.net/en/main.html#

Bsp Serialportzugriff:
https://gambas-buch.de/dwen/doku.php?id=k24:k24.1:k24.1.5:start

von Martin S. (martinst)


Lesenswert?

Für das schlanke wxWidgets gibt es einen GUI Designer:
http://wxformbuilder.org/

von Roger S. (edge)


Lesenswert?

Liftboy 3. schrieb:
> Hallo,
>
> mal ganz konkret in die Runde:
>
> Wenn ich eine relativ einfache Desktopanwendung für Linux LXDE schreiben
> will (geht hauptsächlich um Kommunikation mit Serialport), welche
> Sprache bietet sich an, bei der das GUI Design ähnlich einfach
> funktioniert, wie im Visual Studio für C# / vbnet per Drag-and-Drop wo

C# mit Avalonia.
https://avaloniaui.net/

Drag&Drop designer hat es nicht (XAML), dafür beim rest unschlagbar.

von Klaus R. (klausro)


Lesenswert?

Also, wenn schon PureBasic erwähnt wird, dann sollte man auch Lazarus 
(Delphi-Clone) ins Spiel bringen. Ist halt (Objekt-)Pascal. Es hat einen 
wirklich brauchbaren GUI-Designer, der stark in die Richtung geht, den 
du dir wünscht. https://www.lazarus-ide.org

Wie schnell es geht, hängt primär davon ab, wie gut (schnell) du dich in 
die zu Grunde liegende Sprache einarbeiten kannst. Prinzipiell sind hier 
viele gut geeignet. Für GUI-Skripte verwende ich z.B. gerne Qt+Python. 
https://www.pythonguis.com/pyqt5-tutorial. Oder halt dann gleich C++ 
https://doc.qt.io/qt-5/qtexamplesandtutorials.html

Von Qt6 lasse ich zzt. (noch) die Finger, wegen der geänderten 
Lizenzpolitik. Das hinter Qt eine (IMHO) großes Softwareunternehmen 
steht, hat viele Vorteile (u.a. gutes Bug-Fixing, eine wirklich große 
Auswahl an Möglichkeiten) aber halt auch Nachteile, dass sie Geld 
verdienen müssen...

Lediglich "reines" C würde ich für hier (GUI auf Desktop) nicht (mehr) 
verwenden. Gerne würde ich z.B. go zusammen mit gtk als 
Desktop-GUI-Lösung verwenden, aber das ist einfach noch eine zu kleine 
Nische...

von Sabi (herr_flitzpiep)


Lesenswert?

Klaus R. schrieb:
> Von Qt6 lasse ich zzt. (noch) die Finger, wegen der geänderten
> Lizenzpolitik.

Ich habe mal gelesen, dass man vor der Verwendung von Qt (für 
nicht-private Zwecke) zwei Fachanwälte konsultieren sollte. Aus den fünf 
Meinungen kann man sich dann eine aussuchen; es wird immer die falsche 
sein. Ist aber schon eine Weile her, vielleicht hat sich diesbezüglich 
ja etwas geändert.

https://www.qt.io/terms-conditions

https://www.qt.io/licensing/open-source-lgpl-obligations

https://doc.qt.io/qt-5/licenses-used-in-qt.html

https://www.qt.io/pricing

von Jörg (lixtop)


Lesenswert?

Ich hätte da noch eine aktuelle Pascal-Variante anzubieten:
CodeTyphon Studio - https://www.pilotlogic.com/sitejoom/

Sollte man sich allerdings Abseits von x86-x64 bewegen, wird min. 64 GB 
Platz benötigen. Nachder Installation auf einem ROCK 4 SE, waren von 
32GB nur noch 12GB frei.

von Εrnst B. (ernst)


Lesenswert?

Sabi schrieb:
> Ich habe mal gelesen, dass man vor der Verwendung von Qt (für
> nicht-private Zwecke) zwei Fachanwälte konsultieren sollte.

Qt kannst du unter der LGPL benutzen. Selbe Lizenz wie z.B. GTK.

Wenn du vorhast Raubmordschwarzkopierverbrechen zu begehen, ist das bei 
beiden Toolkits verboten. Bei Qt ist allerdings die Wahrscheinlichkeit 
höher dass du erwischt wirst, weil eine Firma dahintersteht die ein Auge 
darauf hat.
Aber im Gegensatz zur GTK hast du bei der Qt die Möglichkeit, dich durch 
$$$ von deinem Vergehen freizukaufen.

von Vincent H. (vinci)


Lesenswert?

Roger S. schrieb:
> Liftboy 3. schrieb:
>> Hallo,
>>
>> mal ganz konkret in die Runde:
>>
>> Wenn ich eine relativ einfache Desktopanwendung für Linux LXDE schreiben
>> will (geht hauptsächlich um Kommunikation mit Serialport), welche
>> Sprache bietet sich an, bei der das GUI Design ähnlich einfach
>> funktioniert, wie im Visual Studio für C# / vbnet per Drag-and-Drop wo
>
> C# mit Avalonia.
> https://avaloniaui.net/
>
> Drag&Drop designer hat es nicht (XAML), dafür beim rest unschlagbar.


C# auf Linux... Man hole die nassen Fetzen.

von Re D. (Gast)


Lesenswert?

Liftboy 3. schrieb:
> wie im Visual Studio für C# / vbnet per Drag-and-Drop wo
> man die Buttons per Maustaste skalieren kann, Labeleigenschaften wie
> Farbe und Größe in den Settings festlegen kann, und nicht für jede
> Kleinigkeit Codezeilen schreiben muss?

Zusammenclicken habe ich anfangs auch immer gedacht, aber Programmieren 
ist am Ende dann doch schneller / flexibler. Ich bin bei wxPython 
gelandet.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Ich werfe da noch B4J (kostenlos bei B4X.com) rein.
Die haben auch einen guten Designer (auch für B4A)
und mann kann vorerst mal für Windows was vorentwickeln.
Wenn dann alles läuft, kann man es zu Linux portieren.

Für das compilieren für Linux gibt es da auch noch extra einen
Packager. Ich glaube, der ist in der neusten Version schon in
B4J drin.

Allerdings muß man das komplette JAVA - SDK und Oracle-SDK
vorher installieren.

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

> In Qt nutzt man schon seit der ersten Version normalerweise Layouts, die
> sich automatisch um die richtige Größe und Position kümmern.

Ja, aber trotzdem kann es manchmal zu interessanten Effekten kommen
wenn Zielgeraete stark unterschiedliche Aufloesungen haben. Ich merke
das manchmal bei Sachen die auf dem Handy und auf dem Desktop laufen 
sollen.
Da passt dann schonmal die Beschriftung eines Buttons nicht, oder man 
braucht eine Lupe, bei einem anderen Geraet mit aehnlicher Aufloesung 
geht es dann aber.

Kann aber auch daran liegen das ich noch mit 5.12.4 arbeite. Aber ich 
update nicht alle Nase lang und habe auch irgendwas komisches wegen 
ihren Lizenzen im Hinterkopf.

Vanye

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

Klaus R. schrieb:
> Von Qt6 lasse ich zzt. (noch) die Finger, wegen der geänderten
> Lizenzpolitik. Das hinter Qt eine (IMHO) großes Softwareunternehmen
> steht, hat viele Vorteile (u.a. gutes Bug-Fixing, eine wirklich große
> Auswahl an Möglichkeiten) aber halt auch Nachteile, dass sie Geld
> verdienen müssen...

Kann ich nachvollziehen, ich bin größtenteils schon bei Qt6... Vorteile 
überwiegen... da hat sich doch brutal viel getan...

Vanye R. schrieb:
> Da passt dann schonmal die Beschriftung eines Buttons nicht, oder man
> braucht eine Lupe, bei einem anderen Geraet mit aehnlicher Aufloesung
> geht es dann aber.

Kenne ich nur unter Windows und das dürfte mit dem nicht 
funktionierenden Font Rendering unter Windows zu tun (gab vor kurzen 
einen Heise Artikel über dieses seit jahren bestehende Problem).

Ansonsten geht eine Android-GUI nur sauber mit QML.
Die normalen Widgets werden anscheinend nicht native gezeichnet, sondern 
von Qt selbst. Das ergibt dann am Android eine nicht so hübsche GUI, die 
sich irgendwie nicht sauber in das restliche look-and-feel eingliedert.

Da will/wollte man irgendwie die Leute zu QML zwingen...
Aber anscheinend rudern sie da schon etwas zurück.

73

von 900ss (900ss)


Lesenswert?

Rolf M. schrieb:
> Bietet dafür halt auch sehr viel.

Ja, wenn man es braucht ist das sinnvoll. Ich habe den TO anders 
verstanden.

von Hans W. (Firma: Wilhelm.Consulting) (hans-)


Lesenswert?

900ss D. schrieb:
> Rolf M. schrieb:
>> Bietet dafür halt auch sehr viel.
>
> Ja, wenn man es braucht ist das sinnvoll. Ich habe den TO anders
> verstanden.

Naja er hat ja auch geschrieben...

Liftboy 3. schrieb:
> wie im Visual Studio für C# / vbnet per Drag-and-Drop

... dann wäre Mono eigentlich das was er sucht... also direkt C# bzw 
vb.net :)

von 900ss (900ss)


Lesenswert?

Hans W. schrieb:
> Naja er hat ja auch geschrieben...
> Liftboy 3. schrieb:
>> wie im Visual Studio für C# / vbnet per Drag-and-Drop
>
> ... dann wäre Mono eigentlich das was er sucht... also direkt C# bzw
> vb.net :)

Ja, stimmt, das ist schon was :)
Ich hab das anders verstanden und ich fürchte dass Drag&Drop mit 
Purebasic auch geht. ;)

Liftboy 3. schrieb:
> Wenn ich eine relativ einfache Desktopanwendung für Linux LXDE schreiben
> will (geht hauptsächlich um Kommunikation mit Serialport),

: Bearbeitet durch User
von Ben K. (bkaiser)


Lesenswert?

Ich würde Lazarus nehmen:

https://www.lazarus-ide.org/

von C-hater (c-hater)


Lesenswert?

Liftboy 3. schrieb:

> Wenn ich eine relativ einfache Desktopanwendung für Linux LXDE schreiben
> will (geht hauptsächlich um Kommunikation mit Serialport), welche
> Sprache bietet sich an, bei der das GUI Design ähnlich einfach
> funktioniert, wie im Visual Studio für C# / vbnet per Drag-and-Drop wo
> man die Buttons per Maustaste skalieren kann, Labeleigenschaften wie
> Farbe und Größe in den Settings festlegen kann, und nicht für jede
> Kleinigkeit Codezeilen schreiben muss?

Ist doch klar: Du entwickelst die Anwendung einfach so komfortabel wie 
gewohnt im VisualStudio und läßt sie dann auf dem Target unter Mono 
laufen.

Dazu muß natürlich im Target die Mono-Laufzeitumgebung installiert sein. 
Für in VB.Net geschriebene Programme (und manchmal auch für in C# 
geschriebene)  ist bei der üblichen Paketierung leider zu 
"mono-complete" oder wie immer das (schwachsinnigerweise) gerade bei der 
jeweiligen Distro heißt, noch das mono-Paket für die VB-Unterstützung 
nachzuinstallieren. Da waren definitiv schon bei der Paketierung 
Basic-Hasser am Werk, also Idioten, die nicht verstanden haben, das 
VB.net was völlig anderes ist als klassische BASIC-Dialekte, nämlich 
eine vollwertige OO-Sprache...

However, nachdem aller nötiger Paket-Scheiß installiert ist, sollte 
deine Anwendung zumindest erstmal starten. Verbleibende Probleme 
bekommst du entweder 1) als Fehlermeldung der Runtime um die Ohren 
gehauen (late binding zu irgendwelchen DLLs) oder 2) du siehst sie 
einfach, weil das GUI etwas Scheiße aussieht oder 3) das Programm sich 
nicht so verhält, wie du erwartest.

Lösung zu 1)
Du kannst keine DLLs jenseit von .Net einbinden. Das ist schlicht nicht 
portabel. Kannst du nur weglassen.

Lösung zu 2)
Resultiert fast immer aus der Tatsache, dass die Text-Renderer beim 
Abschätzen der Länge eines Textes mehr oder weniger großen Unfug 
liefern. Das ist schon rein unter Windows so und unter Linux noch 
schlimmer. Zumindest durch Mono hindurch. Aber auch nativ sieht es 
keinesfalls viel besser aus, wie man oft genug auch in einer QT-Umgebung 
feststellen kann...
Also: einfach mehr Platz für die Texte im GUI vorsehen.

Lösung zu 3)
Hier ist fast immer die eigene Idiotie des Programmierers schuld. 
Meistens sind es bestimmte Annahmen über den Aufbau von Dateipfaden und 
Gerätenamen.
Da musst du dann einfach nachbessern.

von Stefan F. (Gast)


Lesenswert?

Hier mal ein 5 Minuten Tutorial wie man mit QT eine GUI Anwendung 
schreibt, die nach Klick auf einen Button etwas über den seriellen Port 
sendet.

http://stefanfrings.de/serial_io/index.html#qtexample

So viel dazu, dass einfache Aufgaben damit einfach und schnell erledigt 
sind.

Ich habe noch ein umfangreicheres Tutorial: 
http://stefanfrings.de/qt_lernen/index.html

von Herbert B. (Gast)


Lesenswert?

DSGV-Violator schrieb:
> https://de.wikipedia.org/wiki/Tk_(Toolkit)

Das scheint auch schon seit Jahren vor sich hinzuverotten.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Herbert B. schrieb:
> DSGV-Violator schrieb:
>> https://de.wikipedia.org/wiki/Tk_(Toolkit)
>
> Das scheint auch schon seit Jahren vor sich hinzuverotten.

Inwiefern?

Die 8.6.13 ist vom Ende letzten Jahres.

: Bearbeitet durch Moderator
Beitrag #7475560 wurde von einem Moderator gelöscht.
von Herbert B. (Gast)


Lesenswert?

Chris D. schrieb:
> Die 8.6.13 ist vom Ende letzten Jahres.

Oh da habe ich dann veraltete Infos.

Gerade mal unter Linux getestet, oha die Widgets sehen jetzt auch modern 
aus. Da war ich da wohl falsch informiert.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Herbert B. schrieb:
> Chris D. schrieb:
>> Die 8.6.13 ist vom Ende letzten Jahres.
>
> Oh da habe ich dann veraltete Infos.
>
> Gerade mal unter Linux getestet, oha die Widgets sehen jetzt auch modern
> aus. Da war ich da wohl falsch informiert.

Das ist aber nicht wirklich neu.

Die TTK-Widgets (also mit einstellbarem Theme) gibt es schon länger. 
Genauer: seit 8.5 - oder 2006 ;-)

Hier eine (unvollständige) Liste von Themes:

https://wiki.tcl-lang.org/page/List+of+ttk+Themes

von Max M. (Gast)


Angehängte Dateien:

Lesenswert?

Freepascal mit Lazarus
https://www.lazarus-ide.org

Die Programme sind dann auch unter Linux und Windows etc lauffähig

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Wir erstellen in der Firma alle Projekte mit Xojo.

Nicht kostenlos, aber sensationell flexibel. Compilate ohne weitere 
Anhängigkeiten (!) aus dem gleichen Quellcode können für Win, Linux (x86 
und ARM, PC und Raspi), und MacOS/iOS (x86 und ARM/M1/M2) erstellt 
werden.

von Andreas B. (bitverdreher)


Lesenswert?

Max M. schrieb:
> Die Programme sind dann auch unter Linux und Windows etc lauffähig

Nicht ganz. Man muss sie schon fuer das entsprechende OS kompilieren.

von Max M. (Gast)


Lesenswert?

Andreas B. schrieb:
> Nicht ganz. Man muss sie schon für das entsprechende OS kompilieren.

Logisch, du kannst aber auch Hybrid Dateien mit Freepascal /Lazarus 
erstellen.
Ein und die selbe Datei (.exe z.B.) läuft dann sowohl unter Windows als 
auch unter Linux

von Mat. K. (matthias_kornfield)


Lesenswert?

ich wurde auch PYQt empfehlen.
Mit minimaler Python Wissen, und ein youtube Tutorial solltest du in 
weniger als einem Tag einen eingachen Gui am laufen haben.

Du kannst mit pyinstaller dein GUI dann auch als exectuable generieren 
und deine User mussen kein python istallieren.

von Harald K. (kirnbichler)


Lesenswert?

Max M. schrieb:
> Ein und die selbe Datei (.exe z.B.) läuft dann sowohl unter Windows als
> auch unter Linux

Ach. Wie soll der Linux-Programmlader herausfinden, was er mit dem 
PE-Format einer Windows-Exe-Datei anfangen soll?

von Stefan F. (Gast)


Lesenswert?

Harald K. schrieb:
> Wie soll der Linux-Programmlader herausfinden, was er mit dem
> PE-Format einer Windows-Exe-Datei anfangen soll?

Nach meinem Kenntnisstand kann Linux durchaus *.exe Dateien laden und 
ausführen. Die Ausführung bricht erst an der Stelle ab, wo das Programm 
Bibliotheken laden will oder System-Calls macht, die unter Linux nicht 
existieren.

von Sophie T. (sophie_t)


Lesenswert?

Komisch - das einfachste wurde gar nicht genannt. Nutze einfach den 
WebStack (HTML, JS, CSS, NodeJS) in Kombination mit einem Framework wie 
Electron. Alternativ gibt es die .NET Linux Alternative Mono. Dann 
kannst du direkt mit C# die GUI zusammenklicken.

von Some O. (some_one)


Lesenswert?

C-hater schrieb:
> Ist doch klar: Du entwickelst die Anwendung einfach so komfortabel wie
> gewohnt im VisualStudio und läßt sie dann auf dem Target unter Mono
> laufen.

Vorweg: ich kenn mich mit dem Zeug von Microsoft nicht aus, und mit dem 
von Miguel de Icaza noch weniger.

Aber als Entwickler schaut man immer auch mal nach links und rechts, ob 
es da nicht was Schickes gibt, das einem vielleicht entgehen könnte, und 
so habe ich mir vor einigen Jahren mal dieses Mono angeschaut. Leider 
waren allerdings grössere Teile des .NjET-Frameworks dort gar nicht 
enthalten und nicht einmal als käufliche Komponenten erhältlich. Es ist 
zu lange her und ich kann mich nicht mehr erinnern, was das genau war, 
aber zu den nicht vorhandenen Komponenten gehörten Teile der GUI und 
IIRC die Datenbank-Treiber.

Hat sich da etwas geändert? Sonst wäre Mono extrem eingeschränkt, in der 
Praxis völlig unbrauchbar und sicher keine sehr gute Empfehlung.

von Some O. (some_one)


Lesenswert?

˙ɟ uɐɟǝʇs schrieb:
> Nach meinem Kenntnisstand kann Linux durchaus *.exe Dateien laden und
> ausführen.

Nativ eher nicht, nein, aber mit einer entsprechenden Konfiguration für 
binfmt_misc und Wine könnte da etwas gehen. Aber andersherum wird viel 
eher ein Schuh draus, denn MS Windows kann ELF-Dateien ausführen -- 
schließlich ist diese Fähigkeit die Basis der WSL-Subsysteme.

von Some O. (some_one)


Lesenswert?

Mat. K. schrieb:
> ich wurde auch PYQt empfehlen.
> Mit minimaler Python Wissen, und ein youtube Tutorial solltest du in
> weniger als einem Tag einen eingachen Gui am laufen haben.
> Du kannst mit pyinstaller dein GUI dann auch als exectuable generieren
> und deine User mussen kein python istallieren.

Ein weiterer Vorzug von Python wäre die deutlich über QT hinausgehende 
Infrastruktur etwa mit Bibliotheken zur schnellen Datenverarbeitung und 
-Visualisierung. Wenn der TO einmal mehr mit seinen seriellen Daten tun 
möchte, ist Python zweifellos eine besonders gute Wahl.

von Clemens L. (c_l)


Lesenswert?

Some O. schrieb:
> Mono [...] Leider waren allerdings grössere Teile des .NjET-Frameworks dort
> gar nicht enthalten. [...]
> Hat sich da etwas geändert?

Mono (Xamarin) gehört jetzt Microsoft.

Das ".NET Framework" wird nicht mehr weiter entwickelt. Dafür gibt es 
jetzt ".NET Core" (ab Version 5 nur noch ".NET"), das Open Source ist 
und Linux unterstützt. Die Ausnahme sind GUI-Bibliotheken; dafür gäbe es 
z.B. Avalonia.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max M. schrieb:
> Freepascal mit Lazarus

Pech gehabt. Wenn du schon meine Screenshots klaust (gut zu erkennen an 
der fvwm-Dekoration), dann müsstest du richtig klauen. ;-) In diesem 
Falle handelt es sich um ein Qt-Programm. Ich wollte das mal als 
Testballon für eine Lazarus-Portierung benutzen, ist aber nie geworden.

Habe ich dann sogar mal "richtig" opensourced:

https://github.com/dl8dtl/tek492

: Bearbeitet durch Moderator
von Max M. (Gast)


Lesenswert?

Harald K. schrieb:
> Max M. schrieb:
>> Ein und die selbe Datei (.exe z.B.) läuft dann sowohl unter Windows als
>> auch unter Linux
>
> Ach. Wie soll der Linux-Programmlader herausfinden, was er mit dem
> PE-Format einer Windows-Exe-Datei anfangen soll?

Also es ist schon Jahre oder 10 Jahre her..daher weiß ich es nicht mehr 
genau. Hatte es damals eher durch Zufall entdeckt, das es auch 
Hybriddateien gibt
Ganz normal mit LH xxx.exe oder so, dazu braucht es kein Wine doer 
sowas.
Redet nicht immer so einen Unsinn. Wenn ihr etwaqs nicht kennt, befolgt 
den Tipp den ihr selber immer gebt, googelt es und lest euch ein was 
eine Haybriddatei ist und wie das unter Linux funktioniert!

von Max M. (Gast)


Angehängte Dateien:

Lesenswert?

Was für ein Kindergarten was ist dein Problem?!
Das Foto dient als Symbol für so sieht es aus.
Und dann nehme ich halt ein anderes
Was für ein Kindergarten.
Meinst du auf dem Foto erkennst du ein Unterschied ob es ein C oder 
PAscal Programm ist?!


Jörg W. schrieb:
> Max M. schrieb:
>> Freepascal mit Lazarus
>
> Pech gehabt. Wenn du schon meine Screenshots klaust (gut zu erkennen an
> der fvwm-Dekoration), dann müsstest du richtig klauen. ;-) In diesem
> Falle handelt es sich um ein Qt-Programm. Ich wollte das mal als
> Testballon für eine Lazarus-Portierung benutzen, ist aber nie geworden.
>
> Habe ich dann sogar mal "richtig" opensourced:
>
> https://github.com/dl8dtl/tek492

von Tom A. (toma)


Lesenswert?

Warum fragst Du Frösche, wenn Du auch die KI befragen kannst?

Frage:
Welche Programmiersprache ist für ein einfaches GUI Design gut geeignet?

Antwort:
Für ein einfaches GUI Design sind mehrere Programmiersprachen gut 
geeignet. Hier sind einige Beispiele:

Python: Python ist eine beliebte Programmiersprache für GUI-Design, da 
sie eine große Auswahl an Bibliotheken und Frameworks bietet, die das 
Erstellen von Benutzeroberflächen erleichtern, wie z.B. Tkinter, PyQT 
und PyGTK.

Java: Java ist eine weitere häufig verwendete Programmiersprache für 
GUI-Design. Sie bietet eine umfangreiche Sammlung von Bibliotheken und 
Frameworks, wie z.B. Swing und JavaFX, die das Erstellen von 
Benutzeroberflächen vereinfachen.

C#: C# ist eine Programmiersprache, die speziell für die Entwicklung von 
Windows-Anwendungen entwickelt wurde. Sie bietet eine leistungsstarke 
GUI-Entwicklungsumgebung namens Windows Presentation Foundation (WPF), 
die das Erstellen von ansprechenden Benutzeroberflächen ermöglicht.

JavaScript: JavaScript ist eine weit verbreitete Programmiersprache für 
die Webentwicklung und eignet sich auch gut für die Erstellung von GUIs. 
Mit Hilfe von Bibliotheken und Frameworks wie React, Angular und Vue.js 
können interaktive Benutzeroberflächen erstellt werden.

HTML/CSS: Obwohl HTML und CSS keine Programmiersprachen im eigentlichen 
Sinne sind, können sie verwendet werden, um einfache GUIs für 
Webanwendungen zu erstellen. Mit Hilfe von JavaScript kann die 
Funktionalität der Benutzeroberfläche erweitert werden.

Die Wahl der Programmiersprache hängt von den spezifischen Anforderungen 
und Präferenzen des Entwicklers ab. Es ist wichtig zu beachten, dass 
GUI-Design nicht nur von der Programmiersprache abhängt, sondern auch 
von den verwendeten Bibliotheken und Frameworks.

;)

von Johannes T. F. (jofe)


Lesenswert?

Tom A. schrieb:
> HTML/CSS: Obwohl HTML und CSS keine Programmiersprachen im eigentlichen
> Sinne sind, können sie verwendet werden, um einfache GUIs für
> Webanwendungen zu erstellen. Mit Hilfe von JavaScript kann die
> Funktionalität der Benutzeroberfläche erweitert werden.

Beispielhaft für die typisch schwammig-aufgeblähten bis sachlich nahezu 
falschen Ergüsse dieser „KI“ …
Mit JavaScript kann die Funktionalität nicht nur „erweitert“, sondern 
überhaupt erst geschaffen werden.

von Max M. (Gast)


Lesenswert?

Johannes F. schrieb:
> Mit JavaScript kann die Funktionalität nicht nur „erweitert“, sondern
> überhaupt erst geschaffen werden.

Und was ist an der Ki Aussage falsch in BEZUG auf html?
Ich sehe da keinen Fehler.
Wenn du nach Javascript fragst, wird er dir sicher auch deine gewünschte 
Antwort geben

von Tom A. (toma)


Lesenswert?

Hallo Johannes.

Sinnerfassendes lesen ist nicht so Dein Ding? Macht nichts, ich bin 
sicher die KI kann Dir künftig dabei helfen. :)

von Max M. (Gast)


Lesenswert?

Sehr viel erschreckender finde ich, dass es sich hierbei um ein 
herausragendes Beispiel eignet um zu demonstrieren wie weit die Ki 
inzwischen ist.

Johannes hat sie bei dieser einfachen Fragestellung bereits mal eben 
locker in die Tasche gesteckt.
In einigen Punkten ist die Ki also sogar schon einigen Bürgern 
gleichwertig oder sogar, wie hier, überlegen.
Und das finde ich schon fast etwas unheimlich

von Tom A. (toma)


Lesenswert?

Hallo Max.

Wenn ich KI zu Ende denke, kriege ich echte Angst. Aber nun ist sie da 
und los werden wir sie nicht mehr. Und wenn sie schon da ist, will ich 
sie auch nutzen. Arbeite mich gerade ein sie als Assistent beim 
programmieren zu nutzen. Sie hat mir schon viel geholfen.

Stellt man ihr klare Fragen, gibt sie klare Antworten.
Wer dumme und schwammige Fragen stellt, darf sich nicht wundern dumme 
und schwammige Antworten zu kriegen.

Tom

von Some O. (some_one)


Lesenswert?

Johannes F. schrieb:
> Beispielhaft für die typisch schwammig-aufgeblähten bis sachlich nahezu
> falschen Ergüsse dieser „KI“ …
> Mit JavaScript kann die Funktionalität nicht nur „erweitert“, sondern
> überhaupt erst geschaffen werden.

Nein. Viele Webanwendungen kommen ohne Java- und ECMAScript aus.

von Johannes T. F. (jofe)


Lesenswert?

Max M. schrieb:
> Und was ist an der Ki Aussage falsch in BEZUG auf html?

Dass etwas falsch ist, habe ich nicht geschrieben. Der Satz

Tom A. schrieb:
> Mit Hilfe von JavaScript kann die
> Funktionalität der Benutzeroberfläche erweitert werden.

suggeriert aus dem Kontext des vorherigen Satzes, dass HTML/CSS an sich 
bereits eine Funktionalität bieten würden, was nicht der Fall ist, da 
beides keine Programmiersprachen sind (nicht nur „im eigentlichen Sinne“ 
− ein weiteres Beispiel einer unnötigen Blähfloskel an dieser Stelle).

Tom A. schrieb:
> Sinnerfassendes lesen ist nicht so Dein Ding? Macht nichts, ich bin
> sicher die KI kann Dir künftig dabei helfen. :)

Oh, da fühlt sich wohl jemand angegriffen. Dabei habe ich doch nicht 
dich kritisiert, sondern lediglich die KI, deren Output du hier 
hereinkopiert hast. Kein Grund also, persönlich zu werden.

Max M. schrieb:
> Sehr viel erschreckender finde ich, dass es sich hierbei um ein
> herausragendes Beispiel eignet um zu demonstrieren wie weit die Ki
> inzwischen ist.

Naja, wenn das für dich bereits ein „herausragendes Beispiel“ ist … 
Weitaus erstaunlicher finde ich da die Leistungen, zu denen Übersetzer 
wie deepl.com inzwischen fähig sind (auch wenn bei manchen Feinheiten 
immer noch Korrekturen erforderlich sind).

Some O. schrieb:
> Johannes F. schrieb:
>> Mit JavaScript kann die Funktionalität nicht nur „erweitert“, sondern
>> überhaupt erst geschaffen werden.
>
> Nein. Viele Webanwendungen kommen ohne Java- und ECMAScript aus.

Dann befindet sich die Funktionalität aber beim Server. Der fragliche 
Absatz der KI hat den Anschein erweckt, dass man bereits mit HTML/CSS 
allein irgendwelche Funktionalität implementieren könnte.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max M. schrieb:
> Was für ein Kindergarten was ist dein Problem?!

Das du Dinge zitierst, die nicht von dir sind, und dann noch falsche 
Behauptungen aufstellst (und auch die Quelle nicht nennst). Ja, die 
qwt-Elemente kann man durchaus ganz gut da drin erkennen. Wenn schon, 
wäre es ja wohl eher ein Beispiel dafür gewesen, was man mit Qt/qwt 
machen kann (wurde schließlich eingangs empfohlen) als eins für Lazarus 
– aber eine "einfache" GUI ist das eh nicht. Ziel war es, die 
Bedienelemente eines Tekronix 492 halbwegs in ähnlicher Anordnung 
nachzuvollziehen, das ist nun nicht unbedingt eine Aufgabe, der man sich 
jeden Tag stellen muss.

von Tom A. (toma)


Lesenswert?

Hallo Johannes.

Entschuldige, da habe ich wohl etwas überreagiert. Bin oft genervt hier, 
weil die Frösche so laut quaken, dass man sein eigenes Wort nicht mehr 
versteht.

Nicht für ungut. Tom

von Max M. (Gast)


Lesenswert?

Jörg W. schrieb:
> Das du Dinge zitierst, die nicht von dir sind, und dann noch falsche
> Behauptungen aufstellst (und auch die Quelle nicht nennst).

Sorry, jetzt wirds albern. Nochmal, es ändert so gar nichts an der 
Aussage, das Ergebnis bleibt dasselbe

Das Rumgerheule wegen der nicht genannten Quelle..
Hier werden immer Fotos als Beispiele genannt und niemand setzt dafür 
quellen, weil es auch völlig wumpe ist.

Du hast nun mal zufällig etwas von dir gesehen, dann freu dich doch das 
es als Beispiel genannt wurde.
So oft sehe ich meine Sachen im Netz, und da heule ich auch nicht herum, 
höchsten erwähne ich mal im Forum das es von mir ist;-)

Und es wird jetzt auch zu sehr offtopic, gehört hier alles nicht hin 
inkl deiner Kommentare.
Dafür kannst du ja einen extra Topic aufmachen..

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Max M. schrieb:
> es ändert so gar nichts an der Aussage, das Ergebnis bleibt dasselbe

Genau das sehe ich eben nicht so. Es ist ein Beispiel für Qt/qwt. Bring 
doch eins für Lazarus, wenn du das hier empfiehlst – gern auch mit 
Quellcode, damit der TE ein Gefühl bekommt, was ihn erwarten würde.

: Bearbeitet durch Moderator
von Max M. (Gast)


Lesenswert?

Leider ist es hier nicht möglich Beiträge im Nachhinein zu ändern, sonst 
würde ich es tun.
Ich habe danach ein anderes Beispiel gepostet, damit ist dann jetzt auch 
mal gut
Es soll symbolisch für eine GUI stehen! Und genau das selbe ginge auch 
mit PAscal oder jeder anderen (Symbolfoto).
Am Ende sieht alles recht ähnlich aus.

Hatte einfach das erstbeste Bild aus Google genommen mit Stichwort 
Lazarus und was in dieses Forum passen würde(technisch), wie gesagt, ein 
paar Beiträge später habe ich was anders gepostet.
Ist doch jetzt auch kein Drama.

Anbei weitere echte PAscal Beispiele
https://wiki.freepascal.org/Projects_using_Lazarus_-_Medical_and_Scientific_software

von Andreas B. (bitverdreher)


Lesenswert?

Max M. schrieb:
> Wenn ihr etwaqs nicht kennt, befolgt
> den Tipp den ihr selber immer gebt, googelt es und lest euch ein was
> eine Haybriddatei ist und wie das unter Linux funktioniert!

Du kennst Lazarus nicht. Mit Lazarus geht so etwas definitiv nicht.

: Bearbeitet durch User
von Some O. (some_one)


Lesenswert?

Max M. schrieb:
> Harald K. schrieb:
>> Max M. schrieb:
> Wenn ihr etwaqs nicht kennt, befolgt
> den Tipp den ihr selber immer gebt, googelt es und lest euch ein was
> eine Haybriddatei ist und wie das unter Linux funktioniert!

Du hättest ja auch einen Link posten können, oder? Mach das doch einfach 
mal. Bis dahin gehe ich davon aus, dass Du es bist, der Unsinn redet.

Edit: Typo korrigiert.

: Bearbeitet durch User
von Norbert (der_norbert)


Angehängte Dateien:

Lesenswert?

Sechzehn Codezeilen in Python wenn man wxPython benutzt.
Die GUI-Resourcedatei (XML) erstellt man sich im GUI-Designer ›wxGlade‹
1
#!/usr/bin/env python3
2
# -*- coding: UTF-8 -*-
3
4
import wx, wx.xrc
5
6
class SimpleApp(wx.App):
7
8
    def OnInit(self):
9
        self.res = wx.xrc.XmlResource('gui.xrc')
10
        self.init_frame()
11
        return True
12
13
    def init_frame(self):
14
        self.frame = self.res.LoadFrame(None, 'frame_1')
15
        self.panel = wx.xrc.XRCCTRL(self.frame, 'panel_1')
16
        self.label1 = wx.xrc.XRCCTRL(self.panel, 'label_1')
17
        self.frame.Bind(wx.EVT_BUTTON, self.OnSubmit, id=wx.xrc.XRCID('button_1'))
18
        self.frame.Show()
19
20
    def OnSubmit(self, evt):
21
        wx.MessageBox(f'LabelText is {self.label1.GetLabelText()}!', 'Feedback')
22
23
app = SimpleApp(False)
24
app.MainLoop()

von Walter S. (walterschmitt)


Lesenswert?

In Lazarus/Delphi braucht man nur eine selbst geschriebene Zeile.
Den Rest macht die IDE.

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, 
System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Application.MessageBox(PChar('LabelText ist :' + Label1.Caption + ' 
feedback'), '', MB_OK +
  MB_ICONQUESTION + MB_DEFBUTTON2);  // Eigene Zeile

end;

end.

von Norbert (der_norbert)


Lesenswert?

Walter S. schrieb:
> In Lazarus/Delphi braucht man nur eine selbst geschriebene Zeile.
> Den Rest macht die IDE.

In Python braucht man 0 (in Worten Null) selbst geschriebene Zeilen wenn 
man sich nicht schämt in der GUI den Knopf: »Generiere Python Code« zu 
drücken.

von Walter S. (walterschmitt)


Lesenswert?

Und wie weiß Python dann, was ich in der Messagebox ausgeben will ?

von Stefan F. (Gast)


Lesenswert?

Tom A. schrieb:
> C# ist eine Programmiersprache, die speziell für die Entwicklung von
> Windows-Anwendungen entwickelt wurde

Nett formuliert. Ich habe eher den Eindruck, dass Microsoft etwas "wie 
Java" aber doch anders machen wollte. Einfach, weil bei Microsoft alles 
anders ist als sonst wo.

Vor langer Zeit gab es sogar mal eine Java Implementierung von 
Microsoft, aber die wollte kaum jemand nutzen. Keine Ahnung warum. Zu 
der Zeit wurde mir das Java von Sun vor nie Nase gesetzt ohne dass ich 
eine Wahl hatte. Später das von IBM.

Wenn man eine reine Desktop Anwendung braucht, würde ich mich von dem 
ganzen Web Gedöns lieber fern halten, denn es macht die Sache nämlich 
deutlich komplexer. Neben der Programmiersprache der Logik muss sich 
dann nämlich auch noch mit dem HTTP Protokoll, HTML, CSS, Javascript und 
zahlreichen gemeinen Tücken auseinander setzen (z.B. CORS).
Wenn die Anwendung jedoch eh per Web Browser oder von vielen Usern 
gleichzeitig verwendet werden soll, oder HTML darstellen soll, dann 
macht das für mich Sinn.

Hier ein Beispiel in Go, wo das selbst geschriebene Programm den Chrome 
Browser für die Darstellung nutzt: 
http://stefanfrings.de/go_webserver/index.html

von Herbert B. (Gast)


Lesenswert?

˙ɟ uɐɟǝʇs schrieb:

> Vor langer Zeit gab es sogar mal eine Java Implementierung von
> Microsoft, aber die wollte kaum jemand nutzen.
> Keine Ahnung warum.
Es war kein Java, weil sie ihre proprietäre Scheisse dort reingedrückt, 
Java draufgestempelt und es als das verkauft haben. Das hat Sun nicht 
gefallen, deshalb hat Sun MS verklagt und recht bekommen. Daraufhin hat 
MS .NET entwickelt und Java ignoriert.
Vor wenigen Jahren dann ihr eigenes javakonformes JDK rausbrachten, 
damit sie auch Java in ihrem Cloudangebot mit dabeihaben und von anderen 
Implementierungen unabhängig sind.

von Norbert (der_norbert)


Lesenswert?

Walter S. schrieb:
> Und wie weiß Python dann, was ich in der Messagebox ausgeben will
> ?

Weil's in einer GUI (selbst von ChatGPT Abhängigen) zusammen geklickt 
und entweder direkt in fertigen Python-Code oder eine importierbare XML 
Datei geschrieben werden kann.

Der oben gezeigte XML-Ansatz trennt die Komponenten auch noch im 
weitesten Sinne wie ein MVC (Model-View-Controller).

von Le X. (lex_91)


Lesenswert?

Sophie T. schrieb:
> Komisch - das einfachste wurde gar nicht genannt.

Solche Fragestellungen provozieren regelmäßig dass jeder sich berufen 
fühlt seine Lieblingssprache/Toolkit zu nennen. Ist ja auch klar, für 
den jeweiligen Antworter ist das tatäschlich das Einfachste, er ist 
damit ja vertraut und hat alles sauber aufgesetzt und lauffähig.
Alternativ werden dann gerne noch irgendwelche Exoten aufgezählt, weil, 
man ist ja was Besonderes.

Ungeachtet persönlicher Präferenzen ist das Einfachste immer:
Nimm die Sprache die du bereits gut kannst! Wenn du dich erst wo 
einarbeiten musst bist du am Ziel "Einfaches GUI-Design" eh schon 
vorbeigeschossen.

Stehst du noch ganz am Anfang und kannst auf nichts zurückgreifen würde 
ich folgende Reihenfolge empfehlen (falls du wirklich nur schnell was 
hinklatschen willst und kein Interesse an langfristigen/größeren 
Projekten hast).

1) wähle eine möglichst ausdrucksstarke Sprache mit möglichst vielen 
nativen Bibliotheken (damit du dich nicht mit dem Klein-Klein 
beschäftigen musst). Hier sind Skriptsprachen stark, vor allem Python

2) nimm etwas mit großer Community damit du Beispiele findest und Hilfe 
auf Fragen kriegst (Python, C/C++ punkten hier)

3) nimm etwas was möglichst schnell eingerichtet und aufgesetzt ist. 
Umständliche Installer (womöglich nicht für alle Plattformen verfügbar) 
und komplexe Buildsysteme sind ein Hemmnis für schnelle Bastelerfolge. 
Hier sind auch wieder Skriptsprachen stark, oder gemanagte Sprachen wo 
du ohne Buildsystem oder Makefiles auskommst (oder notfalls dir von der 
IDE ein makefile erzeugen lassen kannst).

: Bearbeitet durch User
von Ein T. (ein_typ)


Lesenswert?

Johannes F. schrieb:
> Some O. schrieb:
>> Johannes F. schrieb:
>>> Mit JavaScript kann die Funktionalität nicht nur „erweitert“, sondern
>>> überhaupt erst geschaffen werden.
>>
>> Nein. Viele Webanwendungen kommen ohne Java- und ECMAScript aus.
>
> Dann befindet sich die Funktionalität aber beim Server. Der fragliche
> Absatz der KI hat den Anschein erweckt, dass man bereits mit HTML/CSS
> allein irgendwelche Funktionalität implementieren könnte.

Dann lies nochmal genauer: die KI "spricht" an der Stelle ausschließlich 
von Benutzeroberflächen, und eben nicht von dem, was im Backend 
passieren muß oder wie die Eingaben verarbeitet werden. Alles, was die 
KI zum Thema Benutzeroberflächen sagt, ist absolut richtig.

von Ein T. (ein_typ)


Lesenswert?

Stefan F. schrieb:
> Nett formuliert. Ich habe eher den Eindruck, dass Microsoft etwas "wie
> Java" aber doch anders machen wollte. Einfach, weil bei Microsoft alles
> anders ist als sonst wo.
>
> Vor langer Zeit gab es sogar mal eine Java Implementierung von
> Microsoft, aber die wollte kaum jemand nutzen. Keine Ahnung warum.

Das kann ich Dir sagen: das wichtigste Feature von Microsoft Java war 
die Inkompatibilität zu Suns Referenz. Microsoft wollte Java übernehmen, 
und dazu dessen wichtigstes Versprechen "write once, run anywhere" 
zerstören. Genau das hat Sun sich nicht bieten lassen, Microsoft 
verklagt, und Recht bekommen. Daraufhin hat Microsoft Java aus seinen 
Systemen entfernt, und seinerseits Konkurrenzprodukte wie C# und Mono 
entwickelt, um Java mit seiner Marktmacht zu verdrängen. Das hat zum 
Glück nicht funktioniert, beweist aber, daß Microsoft ein destruktiver 
Parasit ist. (Und wenn man mich fragt, verfolgt das "Windows Subystem 
for Linux" (WSL bzw. WSL2) ähnliche Ziele wie Microsofts Strategien 
gegen Java -- das haben bisher aber leider nur wenige verstanden.)

von Philipp K. (philipp_k59)


Lesenswert?

Im Prinzip ist es doch egal..

jede Sprache hat ihre Vorteile, ich habe zum Beispiel vor 20 Jahren mit 
dem JDK1.1 angefangen.. wenn ich heute eine Gui oder ein Tool brauche 
tippel ich eben mal los. Anderen ist allein das installieren von Java 
schon ein Graus, obwohl sie egal in welcher Sprache noch ewig 
rumbasteln. Ja mein Gott, dann muss ein User halt Java installieren, das 
macht es aber nicht unprofessioneller.

Um das .NET/Mono kommt man ja so auch schon im nicht mehr drumherum, es 
gibt immer wieder Programme bei denen das Pflicht ist.

TKinter fand ich in Python für eben mal kurz dies und das als Fenster 
auch nicht schlecht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.