Why does it seem like MAC is used in certain fields but not others?

That certainly does not help.
It’s statistically the most problematic platform.

Sorry, I just could not resist :slight_smile:

I am 69, a semi-retired engineer. None of the 7 or more employers in my history used Apple. I think it is fair to view Kicad and other EDA software as engineering software. For whatever reason, Apple (laptop and desktop computers) has always seemed to be more popular for science and education than for engineering. My brother (a retired college professor) has always used Apple.

AFAIK apple did some marketing to conquer US education market, just like TI did with their graphing calculators.
But this ended somewhere around 90s.

Mac has been a favorite of artists. It’s still very strong amongst image and video manipulation, but IIRC back some decades it was almost the only option. Nowadays there’s more software which works on Windows, and the MS operating system is considerably better than back then.

Microsoft used to play very dirty tricks with their customers and that got them into a big (anti-trust?) lawsuit. Halfway during that lawsuit they “donated” several millions of dollars do the fruit brand and it had (at least) a two fold result. First it probably saved apple from going out of business, (they were pretty broke at the time) and this helped microsoft with the lawsuit because they made it appear they were less devious then they actually are. The money given to the fruit brand was much less then when they’d lost that lawsuit. In the end they only had to pay some pocket money.

Then there are those of us who got tired of Windows being high-maintenance at times (and the constant vigilance against malware) and are not about to dive into the multi-faceted rabbit hole that is Linux.

Sure, the Apple ecosystem locks one into a single vendor for hardware, but there’s something to be said for ‘it (usually) just works’ and a (generally) more secure OS.

Just my 2 cents here. There are some serious issues with Mac development recently.

First, Apple deprecated/abandoned OpenGL which is going to break many programs presenting 3D graphics – they want to you to rewrite in Metal which is specific to Apple. Apple is switching to the ARM architecture which will break any hand crafted assembly language in a program. And Apple is encouraging developers to abandon C, C++ and Objective-C to the Swift language. As you can see things are really in flux in Mac land at the moment and for the most part its probably a total rewrite for many programs. I’d reason all of that would complicate a cross platform application like Kicad … not to mention all the new features that were suppose to be added etc.

1 Like

Apple is going full buy into a walled garden, it’s literally in their interest to make as difficult for their users to switch away in the future more and more, complete with developers being locked in as well.
This is what happens when you have a company that brands itself as a “hardware company” rather than software.

1 Like

Yes, abandoning OpenGL for metal can be a problem. The reason Apple did this is that their metal layer is more advanced and developments in openGL slow and not able to take advantage of fast moving hardware quickly.

Very very few folk write assembly. Compilers are very good these days, one could eek out a few clock cycles here and there to speed stuff up but it would barely make a difference. And if you had some personal assembly, it would likely be short pieces. Going from intel to arm assembly is heaven btw.

Swift is a better language than objective-c ( c and cpp were only used for kernel programming), and certainly when considering SwiftUI, it makes little sense to continue with ObjC. But, ObjC is still supported, actively developed (albeit at a snails pace) and you can write your apps as a mix of ObjC and swift.

No most programs do NOT require a total rewrite, no Apple did NOT do this to pester developers. No Apple isn’t perfect and has its own sh*t but these reasons above do not mean it is impossible to keep Apple in the (kicad) fold.

I have little understanding of why these platform wars exist. I use mostly macOS, for server stuff and some firmware development Linux and occasionally Windows 10 for odd ball tasks. Though i like macOS the best, i appreciate the other platforms, i have no need to call it windoze or “fruit company”.

1 Like

Well i don’t think having an apple specific library contraticts supporting opengl. I mean if windows can support both directx and opengl why should apple not be able to do something similar?

1 Like

Directx, opengl and vulkan :smiley:

Indeed.

It has nothing to do with whether their “Metal” thing is “better”. It is for the most part because they do not have control over openGL, and the fruit brand wants to control your life in any way it can.
Don’t believe their propaganda, look further then the length of your nose.

From what I heard, when you want to write software for that fruit brand and sell it, you pretty much have to go through their store, and they charge 30% for the privilege, and if they do not like your application for some random reason it gets banned, and I wish you good luck in doing anything about it.

1 Like

Right, Apple was charging a 30% fee for apps sold on its store. Recently, they lowered the fee to 15%. As some historical context, before Apple’s app store in the 2000s, I had run into situations where a promoter would want 50% commission and all references to your brand and site removed. eg. macgamstore . So, at the time, that 30% was an improvement but today not so much.

Another thing that makes Metal a difficult transition is you’ll have to rewrite all your shaders too. Vulkan is probably the answer to this if your going to put in all the effort anyways being cross platform – closer to the hardware paradigm removing the state machine.

Yes, you still have the option of writing in C,C++ or Objective-C but its very much a second class status and frowned upon as passé. You might have to write wrappers to get access to newer frameworks written in Swift etc.

Older code will run on Rosseta with ARM I suppose. Reminds me of the 68K/PowerPC/Intel migration back in the day. So, a fat binary kind of thing.

I don’t think that’s true. OpenGL is a high level API, modern games etc. need something more efficient. But it may be true for Vulkan vs. Metal. Vulkan is the modern lower level API. It can be considerably faster in some cases compared to OpenGL but the code must be optimized and the notorious example is drawing a triangle which takes hundreds of lines in Vulkan and a couple of lines in OpenGL. Apple’s Metal competes with Vulkan.

There are also translation layer libraries, Zink for OpenGL -> Vulkan and MoltenVK for Vulkan -> Metal. That may be an option if OpenGL is abandoned altogether. (https://www.phoronix.com/scan.php?page=news_item&px=Zink-macOS-OpenGL-Vulkan)

In any case Apple hasn’t abandoned OpenGL, it’s still there, but they don’t develop their implementation any more. It’s just kept working (well, at least we hope so…).

Vulkan is supported also by platforms like Raspberry Pi and Android phones, so writing a direct Vulkan GAL implementation could be feasible is someone is ready to take the time. I don’t see the current team doing it as an option.

There’s also a plan to write a https://github.com/bkaradzic/bgfx GAL implementation. Depending on the quality and speed it may even replace the OpenGL backend on some platforms because KiCad doesn’t really need 3D for editor rendering. However, the actual 3D viewer would still be a problem. It’s pretty important part of KiCad nowadays.

bgfx would replace all rendering including the 3d viewer.

2 Likes

I didn’t realize it’s a full 3D API, too.