Die Zukunft von macOS mit ARM-Prozessoren?!

Nicht nur Vista. Aber was Catalina angeht, das stimmt. Installiert habe ich es nur auf einem Testsystem und nutze es nur um USB Sticks für iPadOS zu formatieren. Auf älteren Macs habe ich noch El Capitan installiert, da es recht schnell ist. Mal sehen wie das neue Big Sur ist.
Meinst du Windows 7? Das war in der Tat auch nicht minder hungrig als Windows Vista. Es hat nur nicht ganz so gestört, weil die Hardware 2009 einfach schon deutlich schneller war als 2007, und Windows 7 hatte auch sonst weniger Macken als Windows Visa.
Aber du hast Recht; im Vergleich zu Snow Leopard war es meiner damaligen, subjektiven Einschätzung nach etwas träger.
Über Windows 8 kann man das nicht sagen. Jetzt mal unter Außerachtlassung der bescheurten GUI war Win8 nicht ressourcenhungriger als Windows 7 und der Berglöwe hatte in dieser Hinsicht Windows auf negative Weise mindestens eingeholt.
Ach der gute alte Schneeleopard, ich habe ihn gemocht, es gab Rosetta, die GUI hatte einige Features, die nie wieder gekommen sind, es war (bei mir) rockstabil und selbst auf mechanischen HDDs war es angenehm flott. Aber was nützt die Nostalgie? „Wo sind die Zeiten dahin?“, wie Georg Kreisler einst sang.
 
Apple hat seit dem iPhone OS-X vernachlässigt und auch die Hardware in den letzten Jahren. Durch Apple Silicon und Big Sur wird das hoffentlich aufgeholt.
 
Und ignorierst die Fakten, die dafür sprechen. Und wenn mal ein Fakt kommt, dem Du nichts entgegenzusetzen hast, fängst Du mit Wortspielchen an a la "ja das meine ich nicht, ich meine das"...
... wenn du meine Postings als Wortspielchen empfindest, solltest du sie nochmals lesen. Vielleicht werden dir dann die darin erwähnten konkreten Punkte klarer.

Und wenn ich nicht auf jede dahin geworfene Behauptung antworte, bedeutet das noch lange nicht, das ich nichts "entgegenzusetzen" habe. Warum sollte ich auch etwas entgegensetzen? Geht es hier um einen Wettstreit im "Recht haben" oder um Lösungen, wenn offensichtlich ein Feature von Xcode nicht bekannt ist?

Dennoch, um deinen Seelenfrieden zu erhalten, werde ich ein paar Zeilen schreiben, und die kleinen aber bedeutsamen Unterschiede zwischen meinen Ausführungen und deine "Fakten" darstellen.

Zur Auffrischung: Es ging um die Aussage, dass es mit aktuellem Xcode komplex sei, für ältere Systeme zu entwickeln. Dem ist nicht so. Durch die Angabe des deployment target wird genau das ermöglicht. Das deployment target kannst du im aktuellen Xcode bis runter zu 10.6 setzen. Es ist also ohne weiters möglich, mit dem nun unter 10.15 laufenden, aktuellen Xcode, Software zu erstellen, die auch auf Versionen von 10.6 an läuft.
Selbstredend dabei ist, dass du dann auch nur solche APIs nutzen kannst, die in den im deployment target gewählten Versionen vorhanden sind. Damit du da nicht bei jedem API-call die doku durchforsten musst, wenn du es nicht so bereits weist, gibt es ein entsprechendes Compiler-Flag, welches dir eine Warnung ausgibt, wenn eben eine API nicht in allen Versionen durchgängig vorhanden ist.

Compilen ist eine Sache, debuggen eine andere.
Wenn du mit aktuellem Xcode Software erstellst und dabei das deployment target auf eine altere Version setzt, kannst du natürlich diese Software auch mit dem aktuellen Xcode debuggen. Die Software ist ja sowohl auf den älteren, als auch auf dem aktuellen 10.15 lauffähig.
Warum also soll es nicht möglich sein, derartige Software mit aktuellem Xcode zu debuggen?

Du kannst ja oft nicht mal mehr eine 1-2 Jahre alte Codeversion Deiner Software kompilieren ohne ein altes Xcode zu nutzen
Hier sprichst du offensichtlich einen komplett anderen Fall an.

Wie oben dargestellt, ist es mithilfe des deployment targets möglich mit aktuellem Xcode Software für altere Systeme zu erstellen.

Hier redest du aber nun von alter, bereits vor 1-2 Jahren erstellter Software. Das ist eben ein komplett anderer Fall, als der in meinem Posting.

Alter Code _kann_ nun, so wie du richtig schreibst, manchmal nicht mehr gegen ein aktuelles SDK kompiliert, besser gesagt, gelinkt werden, wenn API-Calls in den aktuellen Frameworks nicht mehr vorhanden sind. APIs verschwinden aber nicht von heute auf morgen, sondern werden regelmäßig eine ganze Zeit lang als "deprecated" gekennzeichnet. Wenn der Entwickler dann halt diese veralteten APIs nutzt, darf er sich auch nicht wundern, wenn die dann eines Tages eben nicht mehr unterstützt werden. Eine große Gefahr, deprecated APIs zu nutzen, ist copy&paste von Code-Schnipseln aus dem Netz. stackoverflow ist eine super Seite, mit oft sehr hochkarätigen Infos. Dennoch ist man auch dort nicht gefeit, veraltete APIs in Code-Schnipseln zu finden.
Es bietet sich daher an, bereits bei der Erstellung von Code auf veraltete Funktionen zu verzichten. Xcode unterstütz dich auch hier mit entsprechenden warnings.

Es ist aber dennoch möglich, ein aktuelles Xcode zu verwenden um den alten Code, natürlich nach Anpassung hinsichtlich der deprecated APIs, zu kompilieren.
Warum soll es deiner Aussage nach nun erforderlich sein, dafür ein altes Xcode zu verwenden? Nur weil du gegen ein altes SDK linken willst ohne die veralteten APIs anzupassen?

Übrigens, es dauert regelmäßig einiges länger als 1-2 Jahre, bis eine als deprecated gekennzeichnete API dann gestrichen wird.

Es gibt einen Grund, warum es so viele Software gibt, die nicht mehr auf alten macOS Versionen laufen und keiner davon ist, dass die Leute zu blöd sind, dieses Dropdown zu finden.
Und welcher wäre das deiner Ansicht nach? deployment target und deprecated APIs anpassen? Oder vielleicht eher neue Funktionen und Möglichkeiten nutzen, die es bisher nicht gab? Werde mal konkret.
3/4 aller Swift Codebeispiele auf stackoverflow kannst Du gerade in die Tonne werfen weil sie nicht mehr funktionieren und Swift ist keine 6 Jahre alt...
Welche Swift-Sprachkonstrukte sind denn in der Zwischenzeit entfallen? Ich bin erst bei Swift 4 eingestiegen und kenne bislang keine derartigen Dinge. Hast du da konkrete Beispiele an Sprachkonstrukten, die es nun nicht mehr gibt? Oder meinst du auch hier eher veraltete APIs?
 
  • Gefällt mir
Reaktionen: Sp0tlight, Lor-Olli, Artsketch und eine weitere Person
Und welcher wäre das deiner Ansicht nach? deployment target und deprecated APIs anpassen? Oder vielleicht eher neue Funktionen und Möglichkeiten nutzen, die es bisher nicht gab? Werde mal konkret.
Lies doch einfach mal - ich habe genug Beispiele gegeben. Und nochmal: Niemand, absolut niemand, mein deprecated APIs.
Welche Swift-Sprachkonstrukte sind denn in der Zwischenzeit entfallen? Ich bin erst bei Swift 4 eingestiegen und kenne bislang keine derartigen Dinge. Hast du da konkrete Beispiele an Sprachkonstrukten, die es nun nicht mehr gibt? Oder meinst du auch hier eher veraltete APIs?
Swift Stringbehandlung wurde von Swift 1-4 bei jeder Version völlig über den Haufen geworfen, die Verwendung von UnsafemutableRawPointern wurde auch massiv und ständig verändert. Und nein, der Converter hatte da nicht gegriffen.
Fakt ist (und das kannst Du gerne selbst überprüfen): Du kannst nahezu keinen Swift 1-3 Code auf Github mehr kompilieren. Die Beispiele auf stackoverflow werden von den Leuten schon extra mit der genauen Swift Version markiert, denn es ist fast sicher, dass sie bei der nächsten nicht mehr funktionieren.
Auch findest du dramatisch viele Antworten a la "Hier ist ein Vorschlag. Edit: Hier ist der Vorschlag in Swift 2. Edit2: Hier in Swift 3..."
Swift war noch lange nicht bereit für die Masse als Apple die in die Welt geworfen hat. Und Swift ist lange nicht das einzige Inkompatibilitätsproblem.

Ich kenne viele Leute, die die macOS Kompatibilität ihrer Apps nur deswegen nach oben schrauben, weil sie es einfach für ältere Versionen nicht mehr debuggt bekommen.
 
  • Gefällt mir
Reaktionen: tom555
Ich kenne viele Leute, die die macOS Kompatibilität ihrer Apps nur deswegen nach oben schrauben, weil sie es einfach für ältere Versionen nicht mehr debuggt bekommen.
Die Affinity Suite läuft ab 10.7 z.B. Irgendwie scheint es doch zu gehen. Und das sind komplexe und schnelle Programme.
 
Irgendwie scheint es doch zu gehen.
Affinity ist meines Wissens im Kern in C++ entwickelt und die Mac Oberfläche in Objective C.
@cyberfeller kritisiert in seinem Post die viel zu frühe Einführung unausgereifter Swift Versionen, die ich übrigens teile.
 
Verrate mir mal, warum im Business - und ich kenne da wirklich keine Ausnahme - dennoch ausnahmslos Thinkpads, Dell, Fujitsu oder HP-Geräte verleast werden? Wir haben 9.600 Mitarbeiter und unser Dienstleister (einer der großen im Business) verleast uns Fujitsu-Endgeräte. Bei Vodafone haben sie Lenovo, etc.

Wo sind denn die Business-Ausstatter, die eine Firma mit Macbooks ausstatten? Das beschränkt sich doch in der Regel auf einzelne Abteilungen oder kleine Agenturen, und selbst da läuft die wirklich relevante Infrastruktur im Hintergrund mit Microsoft-Technik.

Was Du als Usecase schilderst, den Remotezugriff auf deine Server, hängt so wenig vom Endgerät ab, dass das sicher kein Argument für den Mac ist.
Irgendwie und irgendwann hast Du völlig den Bezug zum eigentlichen Post verpasst - oder einfach nicht gelesen. In meinem eigenen Unternehmen ist 90% Windows basiert und lediglich die Geschäftsleitung (2 Personen) und die Filialleiter verfügen über ein MacBook Pro mit VPN auf die Windows Server. Warum sollten wir uns deswegen von einem Switch zu Apple Silicon fürchten?
 
Wie oben dargestellt, ist es mithilfe des deployment targets möglich mit aktuellem Xcode Software für altere Systeme zu erstellen.
Diese Software ist allerdings nicht annähernd identisch zu einer compilierten Version, die auf einem älteren System mit älterem Xcode erstellt wurde. Wenn man in die Framework header schaut, weiß man, dass die Auswahl des Target SDK nur verhindert, dass neue Funktionälität verwendet wird.
Der Compiler des neuen Xcode erzeugt aber definitiv anderen Code aufgrund von inline Deklarationen und Optimierungen. Dieser Code kann vernünftig auf älteren Systemen laufen, muss es aber definitiv nicht.
Das ist der Grund meines Eingangsbeitrags.
Das alte Xcode auf alten Systemen hat definitiv anderes Laufzeitverhalten erzeugt und hatte andere Probleme. Genau deshalb hatte man dann „hangoptimierten“ Code, der einige Funktionen umgangen hat. Das führt dazu, dass man mit dem neuen Ccode und dem neuen Compiler Probleme erzeugt, die man nicht offensichtlich debuggen kann. Mir ist klar, dass jetzt hundert Gegenargumente kommen, wie „pfege den Code“, „versuche nicht schlauer zu sein als das Framework, dass du benutzt“
Das ist alles schön, ist aber nur heiße Luft von Apple.
Reale Softwareentwicklung sieht halt anders aus.
ich könnte hunderte Zeilen von CoreGraphics oder CALayer Code hier reinstellen, der mit offenen Apple Bug Reports seit fast 10 Jahren nie angefasst wurde.
Vielleicht sollte ich noch ARC und Reference Counting in Verbindung mit statischen C Code Frameworks erwähnen. Wer jetzt glaubt, dass wäre heute alles Swift, sollte mal nachdenken wie Chrome, Facebook oder Instagram auf iOS und Android kommen.
Ich schreibe hier nur noch selten, weil es nur noch wenige Teilnehmer hier gibt, von denen ich weiß dass sie mehr Erfahrungen mitbringen und deshalb zur Kritik an Apple neigen.
Die schöne ARM Welt ist bestimmt interessant und schön, wenn man neu ins Apple Developer System einsteigt. Für Menschen wie mich liegt der Fokus mittlerweile woanders. Ich kann nicht 90% meiner Zeit aufbringen, neue Paradigmen von Apple zu folgen.
Habt einen schönen Sonntag. Ich lese hier viel, habe aber nur wenig Motivation übrig.
Ich kritisiere niemanden, der Apple in den letzten drei Jahren begeistert zugehört hat. Mit Swift und Metal und Playgrounds etc. Mir persönlich, als Privatperson, liefert das nur noch wenig Anreiz.
Mein Beruf geht mittlerweile ganz woanders hin.
EDIT: Ja. Zu lang und auf dem iPad Air 2 getippt. Ich geh jetzt Eis essen.
 
  • Gefällt mir
Reaktionen: bowman, Moriarty, ma2412 und eine weitere Person
Ich kann nicht 90% meiner Zeit aufbringen, neue Paradigmen von Apple zu folgen.

Das ist ein valider Punkt. Zumal zwanzigjährige Entwickler dafür vielleicht maximal ein Zehntel der Zeit benötigen würden, die jemand mit fünfzehn Jahren Berufserfahrung nach abgeschlossenem Studium und Tonnen an Legacy-Code aufbringen müsste. Irgendwann perfektioniert man besser das, was man kennt.
 
Natürlich kann man Apple kritisieren, aber es gibt auch Mac User die bewusst auf macOS bzw. OS-X setzen. Die andere Firma aus Seattle stand lange Zeit für Rückschritt, Innovationsfeindlichkeit und ein sicheres System wie ein Schweizer Käse, Verantwortlich für den Bedarf nach immer schnellerer Hardware um den Anforderungen zu genügen. Der Liebling bei konservativen Nutzern aus Furcht vor Fortschritt und Usern die Megahertz und Gigahertz mit Leistung gleichsetzen.

Apple war mit iTunes und AirPlay auch mal innovativ, haben sich aber gut abhängen lassen. Von Fotografen hat sich Apple auch verabschiedet. Die Probleme mit den Referenz eGPUs scheint sie auch nicht zu interessieren. Root Bug...
Was die Performance angeht, hat mich ein Zoomen in Photoshop nicht überzeugt.
 
Was die Performance angeht, hat mich ein Zoomen in Photoshop nicht überzeugt.

Überzeugt unter Performance-Aspekten überhaupt noch irgend etwas von Adobe im Vergleich zur jeweiligen Windows-Version auf ungefähr gleichteurer Hardware? Ernstgemeinte Frage, ich wüsste da aktuell nichts.
 
Überzeugt unter Performance-Aspekten überhaupt noch irgend etwas von Adobe im Vergleich zur jeweiligen Windows-Version auf ungefähr gleichteurer Hardware? Ernstgemeinte Frage, ich wüsste da aktuell nichts.

Rein von der Performance war der Mac im Preis-Leistungs-Verhältnis schon immer teurer. Adobe sollte halt mal die Software optimieren.
 
Hier redest du aber nun von alter, bereits vor 1-2 Jahren erstellter Software. Das ist eben ein komplett anderer Fall, als der in meinem Posting.
Und genau das ist doch irgendwie das traurige und der Kern der Sache. Ich hab ne Software vor drei Jahren erstellt, will sie warten/erweitern/pflegen und genau hier dann das alte Projekt an das neue/aktuelle Xcode anpassen und da kann die Freude schon anfangen.
Alter Code _kann_ nun, so wie du richtig schreibst, manchmal nicht mehr gegen ein aktuelles SDK kompiliert, besser gesagt, gelinkt werden, wenn API-Calls in den aktuellen Frameworks nicht mehr vorhanden sind.
Und das ist ggf. ein zweites Problem: Man will Software für ein älteres System weiter supporten und das Framework ist aber weg. Auch super. ;)

Ja, es gibt Lösungen für all diese Herausforderungen aber nicht immer liegt die Lösung im Anklicken einer Checkbox o.ä. Apple macht es hier nicht zwingend einfach.
 
  • Gefällt mir
Reaktionen: pmau
Jo, Legacy OS auf einem Produktivrechner ist ne gute Idee. :i;):

selbstverständlich.

besser als ständig updates einzuspielen ohne sich vorher zu erkundigen, ob dann die anwendersoftware noch läuft, mit der man produktiv sein will, ist es allemal.

wenn du merkst, dass du mit einer methode probleme bekommst, dann ist das genau der moment, wo man die methode ändern sollte.

das ist genau das gleiche spiel wie hier wie hier:

@cyberfeller kritisiert in seinem Post die viel zu frühe Einführung unausgereifter Swift Versionen, die ich übrigens teile.

nur weil apple irgendwas einführt, musst man es ja nicht zwingend benutzen. was man benutzt ist immer das ergebnis einer eigenen entscheidung.

frag mal bei adobe, steinberg oder maxon, ob die "swift" benutzen.

ich meine ... apple nimmt dem user java weg und benutzt es dann aber bis heute massiv selbst um sein OS zu erstellen. wer´s da noch nicht verstanden hat wie der hase läuft ... :)
 
ich meine ... apple nimmt dem user java weg und benutzt es dann aber bis heute massiv selbst um sein OS zu erstellen. wer´s da noch nicht verstanden hat wie der hase läuft ... :)
Was meinst du? Swift hat jedenfalls NICHTS mit Java zu tun.
 
Das frage ich mich auch. OS X selbst basiert auf BSD und damit im Wesentlichen wohl auf C, C++ und Assembler. Oben drauf setzt Apple auf Objective C und tatsächlich auch auf Swift.
Java ist da kein Thema.
 
Zurück
Oben Unten