Apple starting to alert users that it will end 32-bit app support on the Mac
techcrunch.com
techcrunch.com
For example, something I encounter every day is Visual Studio and it's helper processes being 32 bit. Because Visual Studio regularly, even on the latest 15.7 preview shits the bed with OutOfMemoryExceptions on our large solution, I'm inclined to rage "why don't they just make it 64 bit? If it could just load more into memory it could get past this indexing hurdle and give me back the UI". But I also understand that if it was that simple they would have done it by now.
Something else, that I understand more, is the LabVIEW RT and FPGA modules only working on 32 bit LabVIEW. I would assume it's related to the compiling and deploying to the 32 bit ARM/x86 RT target.
Sometimes legacy code can make assumptions about pointer size. These hacks were more common in the days of porting older systems to 32-bit but it could still happen moving to 64-bit.
If there’s code that tries to manually populate the bytes of data structures, sometimes bugs appear when the target field size changes (e.g. somebody ends up not initializing 4 of the 8 bytes in a now-wider field).
In the case of Apple, the huge pain will be their decision to not port all of Carbon to 32-bit (despite Forstall getting on stage years ago and stating that Carbon was going to be 64-bit “top to bottom”, it never happened). This can mean addressing a whole pile of nothing-to-do-with-64-bit-whatsoever problems before even starting to solve 64-bit problems.
This is the second time I've seen you make that claim. Can you, by any chance, recall on which occasion he said this (or dig up the exact quote)? AFAIK the plan was always to use the 64 bit transition as an opportunity to shed deprecated APIs, so to imply otherwise in public would have been rather irresponsible.
https://www.wired.com/2007/06/leopard-won-t-support-64-bit-c...
Well we all know what happened to Forstall ... and the entire software development roadmap after he left ...
To clarify, I'm referring to macOS releases. On iOS, 64-bit support obviously came within the last 6 years, but Carbon was never in the picture on iOS anyway.
Having int be 64-bits is known as ILP64 (int, long, and pointers 64-bit); some obscure systems handled the 64-bit transition that way (Cray), but Unix went with LP64 (long and pointers 64-bit), and Windows went with LLP64 (long long and pointers 64-bit). Here's an interesting document from 1997 comparing the approaches:
http://www.unix.org/version2/whatsnew/lp64_wp.html
Basically a matter of tradeoffs around compatibility, performance, and consistency.
See http://www.unix.org/version2/whatsnew/lp64_wp.html and http://www.unix.org/version2/whatsnew/login_64bit.html.
long really should be 64 bits of 64-bit systems, and it is on Linux. Windows kept it at 32 bits to make porting existing code easier.
I'm pretty sure there's a guide on how to properly port applications to 64-bit on MSDN somewhere.
Another reason is that the program was not written with portability in mind, and so it works well on 32bit and on 64bit it has strange behaviors, this could be due to a infinite number of possibilities, and so if you want to use it on a 64bit you must not only recompile the program but debug and fix it.
And then it could have be done on purpose, yes Microsoft compiles Visual Studio 32bit on purpose, the reason is that the main advantage of 64bit is a bigger address space, and a couple more registers, otherwise on the Intel architecture the performance is the same, but with 64bit you consume significantly more memory, because every pointer inside you program is now twice as big: so if you program doesn't need an address space bigger than 32bit and you want to save some RAM, it's not a stupid idea as it would seem to still compile it 32bit. As it's not a stupid idea to use a 32bit OS on a PC with 2Gb of RAM or even less.
Here's a rather opinionated blog post on the subject, from one of the people originally responsible for making the call: https://blogs.msdn.microsoft.com/ricom/2015/12/29/revisiting...
In a nutshell, his position was basically, "If you can't do what Visual Studio needs to do in 4GB (four gigabytes!) of RAM, you really need to think a little bit harder about your data management."
I personally didn't have a terribly strong opinion either way, up until about a year ago when I switched to Java and started using IntelliJ on a daily basis. Now I have come to agree quite vehemently with Mariani's opinion on the subject.
4GB simply isn't enough address space to keep every symbol in memory. I could manually manage them but that should be the computers job not mine.
Hacks are seen as "good" C programming, and encouraged, so this kind of thing happens.
Perhaps among new developers. Us old-timers who have to maintain this stuff have learned to avoid "clever" code rather quickly and admonish those who write it. Elegant, to me, includes "easy to read and understand."
"So why not just move Visual Studio to be a 64-bit application? While we’ve seriously considered this porting effort, at this time we don’t believe the returns merit the investment and resultant complexity. We’d still need to ship a 32-bit version of the product for various use cases, so adding a 64-bit version of the product would double the size of our test matrix. In addition, there is an ecosystem of thousands of extensions for Visual Studio (https://visualstudiogallery.msdn.microsoft.com) which would need to also port to 64-bit. Lastly, moving to 64-bit isn’t a panacea – as others have noted (https://blogs.msdn.microsoft.com/ricom/2016/01/11/a-little-6...), unless the work doesn’t fit into a 32-bit address space, moving to 64-bit can actually degrade performance."
Also, a lot of people don't realize that there is a 64-bit version of the toolsets[2] (for C++ at least). I don't tend to have high memory use by Visual Studio itself but often run out of heap space using the compiler and linker so having access to those can be very helpful.
1. https://visualstudio.uservoice.com/forums/121579-visual-stud... 2. https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-6...
My team regularly (on a daily basis) runs into high memory usage VS issues, which inevitably end up with VS hanging and being force killed and restarted. I d gotten to the point that I restart VS in the morning and at lunch every day to work around the issue.
https://technet.microsoft.com/en-us/library/ee681792.aspx
https://support.office.com/en-us/article/choose-between-the-...
Because the program uses a deprecated 32-bit API.
Once the deprecated 32-bit API is dropped, the program simply won't compile.
Also, the modern 64-bit API is different. And by different I mean it has a completely different design and set of interfaces. So to get the program to work again you have to port the program from using the old 32-bit API to using the non-deprecated 64-bit API. That's non-trivial work.
Edit: clarification
It starts by C not having fixed sizes for its datatypes.
Sure there were always macros/typedefs with such fixed sizes and C99 introduced stdint header.
However not everyone actually uses them.
Then there are the bit fiddling algorithms, unions and casts that assume a specific memory layout.
Followed by code that might actually become UB when switching to another memory model.
All of that scattered across hundreds of files, not written by a single person, with an history of decades of code changes.
Also, yes, plugins are a large concern.
Especially since Visual Studio didn't even compile C++ correctly until fairly recently. Variables declared with `for (int i = 0; ...)` would remain in scope after the loop, the same as if it had been declared outside the loop. I don't know when they fixed that, but I think I ran into this problem as recently as 2010. Meanwhile, GCC and everyone else had been doing it correctly for years.
I wouldn’t say 16 years ago was recent. If you really ran into this in 2010 it would have either been using an old toolset or the compiler flag that lets you enable the old behaviour for compatibility if you need it.
Since they decided they are done with C, Microsoft has been cleaning up Windows code to make their code compliant with the C subset of C++.
Since Windows Longhorn failure, with Vista COM got the main API role for the components that were originally designed to be written in .NET.
Which lead to the design of UWP as improved COM, using the ideas they originally had for Ext-VOS, but decided to create .NET instead.
https://www.reddit.com/r/cpp/comments/4oruo1/windows_10_code...
I really wish the Visual Studio team would give C a bit more love. Getting at least full C99 support in is most likely less work than any random C++17 feature.
ANSI C++14 requires C99 library, while ANSI C++17 upgraded it to C11.
Microsoft has contributed to improve clang on Windows for those that still want to keep on using C, but then good luck accessing COM and .NET APIs from C, it is possible but I wouldn't do it for fun.
Even the new C runtime library is actually written in C++.
D3D11's C API works fine (that's the only Windows API I care about apart from the usual Win32 windowing stuff), but already D3D12 let that rot and is only usable from C with workarounds (doesn't matter though since D3D12 is fairly niche).
All in all it's a shame though because the newer C features are much more sane and useful than anything in C++14 or C++17.
There is no written rule that C++ compilers are obliged to be C compilers as well.
Again, as C++ compiler, they are only required to be as compatible with C code as ANSI C++ requires.
There's technical reasons alone and there's decisions being made based on other factors.
Iirc the product manager for Visual Studio was against blindly moving VS to 64-bit just because it uses a lot of memory. He considered that fixing the symptome and not the cause. He wanted the team instead to spend their time trying to identify inefficiencies and memory leaks.
Now... If you can say that decision has paid off or not is not for me to call, but I do appreciate the reasoning behind the decision.
If they can make it work well with a 32-bit constraint, that's clearly better than yet another app which uses 8GB memory for no reason.
https://docs.microsoft.com/en-us/cpp/build/common-visual-cpp...
http://www.informit.com/articles/printerfriendly/2339636
BTW: The 32bit limit is per-process, not for the OS. You can easily have multiple 32 bit processes consuming more than 4GB memory in total. You don't need to port to 64bit to get that extra memory.
Pointing a bunch of whiny users at devs -- some of whom gave code away for free -- is not awesome for the ecosystem. IMO.
Essentially what wine does but cheaper. The ease of doing it is related to number of dependencies.
Because Windows programmers have such a great track record of sticking to the published API....
The in process limitation is a real killer for ReSharper.
"In 32-bit programs, pointers and data types such as integers generally have the same length. This is not necessarily true on 64-bit machines. Mixing data types in programming languages such as C and its descendants such as C++ and Objective-C may thus work on 32-bit implementations but not on 64-bit implementations." [1]
It's non-trivial to ensure every developer writes portable code multiplied by the varying degree of skills for developers.
In a language like C++, assuming the size of an integer is 4-bytes, or that the size of all pointer types are the same, can introduce hard to track down bugs, which may result in 64-bit versions of apps to be unstable.
[1]: https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_m...
I tried doing more or less that (compiling a C++ Windows app for 64-bit) a few jobs ago and eventually discovered that way down in a library somewhere a dev (who had long since departed) did some trickery in string processing routines that relied on arguments being lined up on the stack, which is no longer the case with the x86_64 calling convention. That remains the worst piece of code I've ever worked with - it's innocuous to look at, and any developer who understands why that works should also have known better than to do it.
More generally, integer size issues can arise - if `int` remains 32 bits it's no longer enough to capture the difference between two pointers (and obviously should never have been used for that, but often these things happen).
The reason for that is quite similar to the Y2K problem.
I often open up sketches from several years prior and consider working more on them. I keep a full 32-bit stack of music stuff left installed exactly for that reason. Usually, if I open them up, then I'll go ahead and move them over to 64-bit semi-equivalents, but that's difficult if you can't even hear what you were doing with the old one.
Abandonware technologies however can be used through the use of emulators. If I can use my first computer that my father bought in 1988 (Amstrad CPC 6128) with its magnificent 4mhz CPU and mindblowing 128kb memory from any OS (including iOS and Android) via emulators. I am sure using 32 bit VSTs and AUs should be a walk in the park with Virtualbox.
All you will have to do is bounce those plugins to audio and move the audio to your 64bit OS or even (probably its possible) make the two OS talk to each other so you can use both 32 and 64 bit versions at the same time.
In other words, your music production business depends on old, unsupported, proprietary software. You may actually have to pony up and hire someone to fix your problem or help you switch to another platform. Welcome to the real world.
I'm not unsympathetic -- I have some 32-bit programs lurking around, including Dramatica Story Expert, an expensive one that's still theoretically being updated. But if that program stops working, I'm inclined to blame the developers, not Apple. Apple isn't forcing them to put out an app that feels like something from 20 years ago, or to consistently wait until beyond the last minute to update for system transitions that they've had literally years of warning about. (In Dramatica's case, they didn't even transition to Carbon until the classic environment went away, and didn't transition to Intel code instead of PowerPC code until Rosetta went away.)
Some already are. When I bought my copy of Pianoteq 6 [1], I was surprised to see they also offer a Linux version (and even a Raspberry Pi version). The DAW I use called Renoise [2] has a Linux version, and the JUCE [3] development framework common to many VST plugins also has Linux support.
Listening to podcasts like Sonic Talk [4], I'm mostly hearing about studios switching from Mac back to Windows, but they have been talking a lot more about Linux too.
Its weird that dos (box) and old windows programs are often still runable, but somehow mac applications just don't age nearly as well.
I really think if some linux distros can get it together and get some good application support, now is the time for them on the desktop/laptop.
going to Apple-Menu->about this mac->system report ->software applications
will show a list of applications with the right most column indicating 64 bit support. 95ish % of mine are currently 64 bit
In the modern (all iOS and 64-bit macOS) runtime the ivar offsets are patched up at runtime so the layout of classes (including base classes) can change without breaking compatibility.
Working around the limitations of the 32-bit Objective-C runtime imposes significant costs, it is far from a simple recompile with a different pointer size. It also adds a lot to the size of the installed OS.
In a way, this is the true last step of the Mac OS X transition that started in 2001--the removal of the transitional APIs that made it possible.
Theoretically would’nt programms written in pure Swift today be able to compile for any new hardware plateform, thus avoiding the kind of issues that 32/64 switch faced?
The educational story of this sort is the transition between python 2 and 3... not ever done for some packages.
If you want to find unusual problems with older Apple hardware for the sake of reusability, take a look at the firmware from around that time. It was just weird enough to make it similar to standards but often too difficult to support a decade later. In a decade, people are going to say the same about the not-quite NVMe SSD interfaces in current Macs.
Anyhow, I doubt they'd have had time to make a solid 64bit x86_64 SDK even if they had delayed the hardware to late 2006. They had never stopped maintaining the x86 port of OS X (aka Rhapsody, Open Step, NeXT Step), just stopped shipping it as a product, because their strategy was and still is to package their OS in hardware boxes. They started shipping x86 boxes to developers in the form of the x86 development box, which was a (32bit) Pentium 4 shoehorned into a Power Mac G5 case. Its OS is also what leaked to the early x86 hackintosh scene; before Apple shipped their own x86 Macs. I ran it on an custom Athlon64 box and a ThinkPad T42.
Since they already had the x86 port, it was an easy switch at a time when all x86 hardware from Intel was still 32bit. If they knew Intel would adopt x86_64 from AMD, one option could've been to ship with AMD CPU's on the first models, but I'm not sure how well that'd have turned out logistically or whether it'd have made a huge difference.
We have 20000 Mac users in a company of 90000, I don’t think this is a corner case for large technology companies.
My machine is managed in the sense some things are preinstalled and IT has a way to push software updates.
What more management is required? Anything more and IT would probably fuck it up like they did when our division was still on Windows.
Not saying your company has to be like this. Just saying 1) this is where MS has very little competition, and 2) where they make absolute bank.
Company size doesn't have much to do with this. Macs are popular at IBM.
140,000+ employees in this company. Macs outnumbers Windows boxes. Pretty much the only place you see Windows machines are in the various accounting departments, and in the call centers where they're just used as terminals to big iron.
At least as one gets older and just want to get that thing done that they always have (a certain big name author still writes using WordStar in DOS i believe).
Do they really, or is it just that consumers are more likely to be persuaded by Apple's marketing?
Personally, I have some apps which I use regularly, and are at least 20 years old. I use mostly Windows for that reason too.
My Ubuntu netbook is nice for travelling purposes, but for the kind of work I get paid for, it is Windows and occasionally macOS.
Given that a lot of current Macs come with only 8GB of ram it is not ideal to run a lot of applications in a virtual machines, but applications that need much RAM have almost certainly moved to 64bit anyway.
Again, someone else will understand it better, but I think products like Veertu were built on Apple's built in hypervisor framework, and it would not be difficult for people to build additional free virtualization options in MacOS. My point is that the reasons for choosing Linux over MacOS are already sufficient without targeting users of older Mac software, and that people who are using older Mac software probably also use new Mac software, and won't have too difficult a time using the older stuff too.
A while ago I would have said that something like Wine would be great for using the best software I can ever remember which only ran on early Macs. Except that these days you can do that in Javascript in any browser, and while the software was good, I've already spent a few weekend afternoons playing with them, and I don't need to anymore.
I miss my 32bit iOS games more than I'd miss any 32bit MacOS applications, which I could run anyway through virtualization. I also wish they'd stop disappearing features from Apple software in general, but I think sunsetting 32bit apps or Carbon are generally better for the Macintosh ecosystem.
Due to the closed ecosystem for iOS, this type of abandoned app preservation will be extremely hard to do :c
Calculator is 64-bit
https://www.apple.com/shop/product/MD564LL/A/apple-usb-super...
Calculator:
Obtained from: Unknown
Last Modified: 12/27/16, 9:00 PM
Kind: Intel
64-Bit (Intel): No
Location: /Users/mitch/Library/Application Support/iPhone Simulator/6.0/Applications/610B1057-FF52-4D59-AE7D-DDD406E83F18/Calculator.appHP already has it's Snapdragon convertable out that has Windows 10 x86 emulation. But surprisingly this is only _32-bit_ not 64. Looks like performance is understandably poor as well.
I'd expect Apple to take their usual strategy and wait a bit until chips are a little faster/they have a more mature emulator before they make the switch.
Interesting times though!
Snapdragon Single Thread Performance isn't even great, hence with added emulation performance penalties it is going to be even slower.
I think chips need to be a bit faster AND emulation overhead reduced before it gives a "can't really tell the difference between an Intel or ARM MacBook" type experience. At least for developers/creators.
It's an ARM64 chip running ARM64 OS and ARM32/x86/ARM64 Win32 and UWP apps. Just doesn't handle amd64 > arm32/64 conversion.
Of course, it could also be related to Apple's intention to switch to ARM chips in the near future, and getting everything on consistent 64-bit to aid the porting effort. I can't imagine the developers are going to enjoy low-level mapping of 64-bit x86 instructions to 64-bit ARM though...
Why would the average developer even have to care?
I don't have the ecosystem tie-in that I used to have. What good is owning a bunch of apps if you can't use them?
Wine will have to be a 64-bit application linked to the 64-bit libraries and do a bunch of thunking and mode switching, but it already does this to support 16-bit applications.
I have no idea how easy this is but the the OS already does it to support 32-bit applications running on the 64-bit kernel.
(or you use virtualisation)
I could see a 32-bit Wine needing to bring its own copy of more libraries that Apple wants to stop shipping two copies of, but I doubt Wine would be much affected by not getting access to new 64-bit only APIs.
I hope when Linux distros will start dropping 32-bit support, they'll still keep multiarch around for such purposes.
A bit late for the comment there. Pretty much the only distros that still support x86-32 as an installation/host option are Debian, Slackware, and Gentoo. Everybody else (including Ubuntu) has gone 64bit-or-bust.
Mind that the latter half still applies. The kernel is still capable of running 32-bit applications in a 64-bit environment, and no distro has removed multiarch support, and likely won't.
My only concern is, that with general dropping of 32-bit, multiarch versions of packages will be bitten by bit rot, because no one will be maintaining them.
/I was quite possibly the last gentoo/sparc32 user
I can imagine that they will be a bit more gentle with macOS, given its longer history, but I wouldn't be surprised if they yank all 32-bit system libraries in High Sierra + 2.
This is typical Apple and has it upsides (unlike Android/Windows, applications do not rely on ancient APIs) and downsides (breaks compatibility).
Also, part of the motivation here may be to kill Carbon as soon as possible. If Marzipan materializes, they probably do not want to maintain Carbon, AppKit, and Marzipan/UIKit simultaneously.
Users had less warning, true, but the situation was different since they also had no way to acquire apps outside the App Store.
I don't understand your reasoning.
They're implicitly (but strongly implicitly) saying 10.14 will run 32-bit apps. What's uncertain is what "compromises" they'll entail.
Even Apple wouldn't drop all support for 32-bit apps with just a few months' warning. They're ruthless about moving forward, but not quite that cruel.
Since when? I have universal binaries that run fine on my computer.
I use one Adobe app: Illustrator CS5. My needs are fairly specialist and I haven't needed any new features introduced since CS4 (2008; multiple artboards, finally).
Adobe's only upgrade option is £240pa for a single-app subscription. Fortunately, alternative drawing programs have come on a long way since CS5, so I'll almost certainly jump ship to one of those.
I guess now you have to argue about and form a consensus on the definition of "professional" huh?
Gee, I'm building, configuring a server based on an Asus motherboard and the AMD FX-8350 processor, 8 cores, 64 bit addressing.
Surprise! I discovered that Windows XP 32 bit Professional SP2 (service pack 2) will install and run! It sees all 8 cores, and the version of Microsoft's TASKMGR plots the activity separately on each of all 8 cores. It also sees the full 16 GB of main memory and is willing to use 2 GB of it with 5 GB of paging space.
And I discovered that the Western Digital (WD) Data Lifeguard Tools CD, IIRC version 11.1, boots and runs! This is amazing since what boots is old DOS! The DOS part will boot from a CD/DVD USB (universal serial bus) drive, but then the WD software doesn't run. But if boot from a SATA (serial advanced technology attachment) CD/DVD drive, then the WD software does run.
If have the Windows version running and put the WD CD in the SATA drive, then the WD software appears to run as a Windows application!
My most important application is 32 bit editor KEdit, and I've discovered that it runs fine on Windows 10 64 bit Home Edition on an HP laptop with a 64 bit Intel processor with two cores and 4 threads.
So, lesson: With Windows, AMD, Intel, and ASUS, a lot of 32 bit computing still works! Sorry Apple!
My first intention installing Windows XP was just to run some experiments on using the WD Tools to backup and restore a bootable partition, but I've since discovered that apparently my trusty old copy of Nero for CD/DVD reading/writing that I long used on XP appears to install on Windows 10 on the HP laptop but as far as I can tell won't read or write CDs or DVDs. So, for routine reading/writing CDs and DVDs, apparently I should keep a bootable partition with XP.
Sorry, Apple, 32 bit computing won't go away soon: The reason is standard and old in computing -- there is a lot of old software people very much still want to run.
This is mildly misleading. Apple emphasizes backwards compatibility, temporarily. 68k apps ran on PowerPC systems. Classic MacOS apps ran on OS X systems. PowerPC apps ran on Intel systems.
Apple is a master of architecture shifts - they've had so many of them! But the compatibility is always temporary. Enough for customers to get their apps shifted over.
As does the latest debacle about Display Link show: https://support.displaylink.com/forums/287786-displaylink-fe...
You mean that there are no applications programs written by other than Apple for Mac computers? So, there's no Apple version of Autocad, Adobe Acrobat, Distiller, or Premiere, no version of D. Knuth's TeX, no LaTeX, no way to compile and run LINPACK, no SPSS or SAS? Or for each of these, have to get a 64 bit version? Maybe a 64 bit version doesn't exist? Maybe the user already has licenses for 32 bit versions and wants to continue using that software?
I don't know anything about Apple; I've been on mainframes, super-minis, DOS, OS/2, and Windows. So, I'm asking, trying to understand. Some of my most valued software is old, for 32 bit Windows, and I wouldn't want to be without it. So, I'd guess that no longer running 32 bit software would disappoint a lot of long time Apple customers, but I don't know anything about Apple.
But, as you've said, you're not an Apple customer, so this isn't irrelevant is it? Apple customers in general don't work like you do.
> I'd guess that no longer running 32 bit software would disappoint a lot of long time Apple customers
I don't know what to tell you except that your guess is wrong. The vast vast majority of Apple customers don't need to run old 32 bit software, and Apple optimise for the well being of the majority of their users.
Thank you, this was exactly my point. Buying Apple and expecting long-term backwards compatibility is a mistake. If that is what you need then buy something else. I'm sure some people are being screwed by it, but it's not like this came out of nowhere.
And if someone bought Premiere in, say, 2010 and have been using it since then, to buy a new Apple computer they will need to buy a new license for Premiere?
Look: (1) I don't know anything about Apple. (2) I'm trying to learn. (3) I'm not a Windows fanboy. (4) I'm not against Apple. (5) I'm not in a computer hardware, operating system, programming language war. (6) It's perfectly reasonable for a person with my background to think about software compatibility. (7) I'm not trying to criticize, catch, trip up, denigrate, talk down, etc. Apple.
Currently I have sore spot about old software: My computer quit, and I had to rush out and just buy a computer. So, at Sam's Club I got an HP laptop with Windows 10 Home Edition. With that computer working for just simple, routine, Internet access and little more, I'm building my new computer and first server for my business.
But I'm finding problems with Windows 10 right along. One of the big problems is that there is too much software that I had working fine on Windows XP SP3 32 bit Professional that (A) won't work on Windows 10 and (B) for which I know of no replacements unless I start paying money, not being sure the software would work even if I did pay money, and even if it did work I'd have to discover and document the usual obscure nonsense, set lots of options, etc. before I could use the software. So, as soon as I have my new computer working, the HP laptop will get its top closed, its Ethernet and AC power connections unplugged, put away some place, and left to gather dust.
For my new computer, I won't have Windows 10 on it at all. I will install Windows 7 64 bit SP1 Professional. But I'm also installing Windows XP SP3 32 bit Professional to be sure I can run all my old software in case Windows 7 won't.
Software compatibility means a LOT to me. So, it was easy enough for me to guess that Apple made a big mistake dropping support for 32 bit applications software.
There is a lot of third party software out there, so much that it's tough for me to believe that somehow Apple has duplicated all of that. Then some of that software was written for 32 bit computing and was important for some users. And some of the companies writing that software went out of business and, thus, won't be writing 64 bit versions. So, I have to believe that some Apple users will still want to run some such old 32 bit software. But, maybe not.
I'm surprised. But I was trying to learn.
And, I'm not a Microsoft fanboy, e.g., I want nothing to do with Windows 10. Maybe I should try to buy a copy of 64 bit Windows XP Professional!!!! "If it ain't broke, then don't fix it.".
Almost nobody has a archive of old software they still want to use on macOS, or worry about using an old version of something like Photoshop. That's just not how almost anyone uses software any more.
> There is a lot of third party software out there
If you mean unmaintained software that won't be updated to 64 bit... well I really don't think there is in the Apple ecosystem. That's just not how people use Apple computers.
Software compatibility means a lot to you, but you're in the minority there. It doesn't mean much to most people. Everyone else has gotten used to being quick to adapt to changes to things like instruction set and pointer size.
And finally of course - people just have a lot less native software at all any more. Most people use web apps for the majority I would guess of their work now. As long as the browser is updated (which it will be, because Apple make it) most people will be never know the difference.
You could use all sorts of ways, but if the underlying CPU changes it becomes emulation vs virtualisation. The performance hit is likely enough a cost for a large amount of people to move on despite the old ways never going away
Surely Apple is allowed to release updates to their OS that eventually break old software at some point. Or do you expect Mac software you bought in 1984 to continue run on the current OS?
That is to some extend how it works in Windows land. It was not until 64bit was a thing that they removed support for 16bit programs, and there is still many ways to run them.
Everyone that cares about backwards compatibility just needs to read this http://ptgmedia.pearsoncmg.com/images/9780321440303/samplech... to get an idea of the history MS has of backwards compatibility.
Microsoft sold separate Windows 32 bit and 64 bit versions, under different SKUs. The 64 bit version broke compatibility with 32 bit drivers, but not all software would work on 32 bit, so it was important to know which version you had. Many computers advertised as 64 bit were sold with 32 bit Windows, so it was possible to download an incompatible app version. It was a confusing time.
Apple had only one SKU. Applications had 32 bit and 64 bit versions in the same binary, so there was only one version to download. The kernel supported 64 bit addressing and 32 bit drivers, so there was no hardware compatibility break. It was invisible to users.
I find it a bit dishonest to claim MacOS did so much better without mentioning that they have a fraction of the hardware to support, compared to Windows. When the different hardware combinations are not greater than something you can setup in a warehouse, it's straightforward to test them all.
And I am not allowed to complain?
>Or do you expect Mac software you bought in 1984 to continue run on the current OS?
That is a false comparison. There is no technical reason why 32bit software shouldn't work on a desktop 64bit intel processor.
Apple has done things like this in the past, and people screamed about screwing over compiler publishers and so on, and then suddenly the Mac ran on Intel processors and everything they'd been doing clicked into place.
I don't know exactly what the reason here is, but I've been a user of Apple products for long enough to believe there probably is one, and that we'll know it at some point.
>Apple has done things like this in the past, and people screamed about screwing over compiler publishers and so on, and then suddenly the Mac ran on Intel processors and everything they'd been doing clicked into place.
What "things like this". Can you be specific? Are you simply saying "People doubted Apple, and then those people were wrong". How about "People doubted Apple, and then they turned out to be right". Or just because Apple makes money, it automatically means they have never screwed over anyone?
>I don't know exactly what the reason here is, but I've been a user of Apple products for long enough to believe there probably is one, and that we'll know it at some point.
Oh there is always a reason. I've been a user of Apple's products for long enough to believe that the reason usually involves taking cash out of my pocket and putting it into Apple's pocket. I see no reason for me as a customer to empathize with the financial situation of a fabulously wealthy corporate entity.
Apple screws stuff up on a small and medium scale on a regular basis. Monthly, it seems like, and sometimes even more often. But they don't tend to screw up on the big stuff. People disagree with their focus, and that's fine. But I've been following them since the 1980s, and I've come to trust that they'll make good on the big stuff even while they screw up on the small things right and left.
Your mileage may vary.
You can say that about anything. Is there anything stopping you from writing your own OS? Take a programming course, Learn programming, convince people to help you, etc, etc.
>It will continue to run fine indefinitely, and should run all the software you use now.
If it was bug free, I wouldn't care. Apple as the sole distributor, introduces bugs in their software, and then ties the bug fixes to updates which change functionality of the underlying OS.
Only if you're ok with dismissing an update dialog though a drop down every single day.
The only options are "Install Now", "Later" (install automatically tonight), "Remind me tomorrow".
> If backwards compatibility is important, Windows is the only sane choice for a desktop os.
So I'm not saying anything about a server, for which there is multiple choices of long backward compatibility.
The sad thing is that it became useless with OSX. Safari couldn't be updated nor any browser, thus leading to the inability to browse the web because of https certificates compatibility.
I had to install (with a lot of tricks) linux and it works flawlessy.
It's sad to see that a working computer has become obsolete in only 10 years, and while I will probably continue use Apple products I feel like there something _wrong_ with this. That's one of the reason I am worried about buying an apple watch. Obsolescence.
All in all I get it and I know that it'll probably pay off for them, just like it did with the dvd player removed, but it'll take time (for me) to get used to the fact that, at least on the apple ecosystems, things last more than usual, but they also become useless more than usual.