6 ms·
Why would I want to use Darwin? macOS has some UI advantages, its the largest reason I use it - but without cocoa, and all of the core foundations that make OS
by Aloha 7y ago
Why would I want to use Darwin?
macOS has some UI advantages, its the largest reason I use it - but without cocoa, and all of the core foundations that make OSX, OSX, I just dont see the point.
- stjohnswarts 7y agoYep might as well just use one of the BSD linuxii
- dfox 7y agoFor me: you don't want to. The underlying Darwin/XNU layer is probably the most quirky (or depending on your PoV outright broken) unix-ish system you will see in general use today.
- Aloha 7y agothat was the subtext I didn't, I know XNU is not super performant.
- skissane 7y agoz/OS is a much weirder Unix than macOS, although it depends on how you define "general use". But, there are a lot of enterprises out there which still run IBM mainframes, even if they often aren't keen on advertising that fact, and a huge lot of stuff in z/OS now depends on the Unix subsystem, in particular anything written in Java (which IBM has been heavily encouraging as a development language on mainframes, resulting in a lot of hybrid apps which are a mix of newish Java code and ancient COBOL/assembler/etc working together.) (Some people will question whether z/OS really counts as a "Unix", but like macOS, it is actually a certified Unix, and as such has greater official claim to be Unix than FreeBSD or most Linux does.) (Addendum: I say "most Linux", because while the vast majority of Linux distributions are not certified Unix, some have been. Right now, Huawei EulerOS is a certified Unix based on a Linux distribution. Inspur K-UX is another Linux distribution which used to have Unix certification, although the certification has expired–I guess they failed to pay the renewal fees.)
- razzmataz 7y agoI don’t know about the current version, but macOS has been certified as UNIX in the past.
- skissane 7y agoCatalina is a certified UNIX 2003 – https://www.opengroup.org/openbrand/register/brand3653.htm https://www.opengroup.org/openbrand/register/brand3653.htm UNIX 2003 is not the latest version of the certification, the latest UNIX certification is (somewhat confusingly) named UNIX V7 (different thing from the classic Bell Labs V7 UNIX), but thus far only Oracle Solaris is certified to that. z/OS is still only UNIX 95 – https://www.opengroup.org/openbrand/register/brand3601.htm https://www.opengroup.org/openbrand/register/brand3601.htm – maybe one day IBM will upgrade that to the newer UNIX 98, UNIX 03, or UNIX V7 certifications, although I suspect not. IBM has decided to focus on running Linux Docker containers under z/OS instead (which it calls zCX).
- ngcc_hk 7y agoUnix is a license and linux is not. In fact the lawsuit Ibm facing is precisely that. But we usually not used this but use posix. In fact i think that is what linux originally built against.
- pjmlp 7y agoFor others, z/OS has personalities, just like other mainframes and Windows. What is certified as UNIX is the POSIX personality.
- skissane 7y agoI've never heard the term "personality" used with respect to z/OS before, it certainly isn't standard terminology. (It is standard terminology with respect to the original design of Windows NT, and IBM's abortive Workplace OS, but z/OS has little in common with either.) And strictly speaking, z/OS as a whole is a certified UNIX. Look at the registration certificate [1], it never mentions UNIX System Services. Obviously without that component z/OS would fail to pass the certification tests, but the certification is for the operating system as a whole not just that component of it. [1] https://www.opengroup.org/openbrand/certificates/1199p.pdf https://www.opengroup.org/openbrand/certificates/1199p.pdf
- Hackbraten 7y agoCare to elaborate? Which aspects of XNU are you referring to?
- derefr 7y agoMaybe not you personally, but one of the long-term informal goals of PureDarwin is to have an open-source environment you could run XCode CI builds on.
- saagarjha 7y agoBut most Mac apps will link against Cocoa…
- skissane 7y agoSuppose it is a programming language runtime, a database, an app server? Many of those get ported to Mac, but very little (or even none) of their code needs to talk to Cocoa, since they are mostly headless server components (or have CLI interfaces only). Why port that kind of stuff to macOS? Obviously it isn't going to be the deployment platform, but developers will want to run that stuff locally during development. (Less important than it used to be with the popularity of Docker on Mac, although still it can be a bit more developer-friendly to run things directly on macOS instead of under Docker.)
- derefr 7y agoYou don't need to ship a shared library in order to compile an executable that dynamically links to said shared library. You just need the header files listing the shared library's exported symbols. You can treat Cocoa like any other closed-source blob of a vendor library.
- FPGAhacker 7y agoI the context of CI, what’s the point if you can’t run tests?
- franga2000 7y agoIf the application is well-structured, you can run many types of tests without ever touching the UI. You can also run things like linters and static analysis tools (although those are usually platform-agnostic).
- unixhero 7y agoIf you don't feel an urge to try it, then it's not for you.
- faissaloo 7y agoGNUstep does reimplement alot of Cocoa stuff
- MisterTea 7y agoWhy would I want to eat vanilla ice cream? chocolate ice cream has some taste advantages, it's the largest reason I eat it - but without cocoa, and all of the core flavor that makes chocolate, chocolate, I just don't see the point. (like your post)