Ich hab das alles jetzt nur Mal kurz überflogen und schmeiß Mal meinen Senf mit in den Ring.
Zuerst Mal ein Daumen hoch an
@Old Knitterhemd
Die GUI und das Bedienkonzept von Windows 10 sind beschissen, sehe ich genauso
Zum Thema selbst.
Also für mich war es beim Einstieg in Linux erst einmal wichtig das Umdenken hinzubekommen, Linux ist eben nicht Windows und soll auch nicht als solches verstanden werden. Der Ansatz ist eben ein anderer.
Ansonsten finde ich hat sich über die Jahre sehr viel getan. Meine ersten Schritte hatte ich mit Ubuntu 8.04 gemacht, da war damals nicht viel ohne Konsole machbar. Mittlerweile kann ich, wenn ich ein Ubuntu z.B. aufsetze wirklich viel über die GUI machen. Leider noch nicht alles (warum kann ich in Budgie in der UI kein Standardausgabegerät für den Ton einstellen?), aber sehr viel.
Wie gesagt leider nicht alles und Terminal schreckt viele leider erst einmal ab. Das verstehe ich auch. Und da sehe ich ggf. teils auch noch Nachholbedarf, aber das wird alles. Die DEs werden immer besser.
Ansonsten eben wie gesagt Linux ist nicht Windows. Programm im Netz suchen, runterladen, installieren, geht. Ist halt nicht immer so. Alle Distros haben Eigenheiten, andere Paketmanager, andere Paketversionen, etc. in ihren zentral (!) verwalteten Repos. D.h. für Entwickler ist halt unmöglich ihre Software zu schreiben, zu kompilieren und auf jede Linux Distro auszuliefern. Das fängt z.B. mit den genutzten Frameworks an. Wird das für Distro XY nicht angeboten, wird es schwierig. Dann muss man sich das selbst kompilieren o.Ä.. Das ist imho eine der großen Stärken des AUR unter Arch. Hier muss ich für Fremdprogramme, die es nicht im offiziellen Repo gibt, Fremdrepos einbinden, selbst kompilieren o.Ä. vieles finde ich im AUR. Sehr cool.
Hier hoffe ich aber auch ein wenig auf Flatpak oder Snap. Auch wenn das der Linux-Philosophie der zentral verwalteten Repos oder immer nur einer Version eines Pakets, einer Lib, etc. entgegensteht. Aber für Devs wäre es einfacher.
Eine zweite Hoffnung bzgl. Windows Programme auf Linux zu portieren ist für mich die Öffnung ggü. OSS bei MS. .Net Core z.B. ist plattformübergreifend lauffähig afaik und wird auf kurz oder lang das proprietäre .Net ablösen. Vielleicht bringt das gewisse Steine ins Rollen.
Ich kenne das selbst, wenn ich Mal Kleinigkeiten programmiere, dass Frameworks von MS viele Bausteine schnell und einfach zur Verfügung stellen und man eben mit Windows als Zielplattform schon einen Großteil abfrühstücken kann, bzw. im Firmenumfeld viel auf Windows gesetzt wird. Da liegt der Hase im Pfeffer. Wenn sich offene Standards besser durchsetzen würden, dann würde es auch mehr Software geben, die auf mehreren OS lauffähig ist. Aber viele Devs sind auf MS Technologien geeicht. Ich hab im Studium per MSDN auch Lizenzen von MS hinterhergeworfen bekommen und an der Fakultät wurde überwiegend in C# und C++ gearbeitet und auch schwerpunktmäßig "gelehrt". Sowas bleibt halt kleben und MS bietet dann auch viele Verzahnungen und Assistenten innerhalb von VS um den Devs Code zu ersparen. Das ist schön, setzt aber eben Windows vorraus.
Da ist MS aber eben auch dran interessiert angehende Entwickler mit MS Technologien "anzufixen" und somit eben Programmierung für Windows als Zielplattform zu sichern. Auch viele Spieleentwickler bekommen ja gewisse Zuschüsse und Unterstützung seitens MS wenn sie Direct X anstatt z.b. Vulkan als Framework verwenden.