I don't know any project Apple has created from scratch by themselves that isn't closed-source and hardware-locked.
OpenCL, and they are a promoter of the Khronos group.
They tend to promote open standards and open source that they benefit from.
I think Microsoft is definitely much more staunchly against open source and open standards than Apple.
Then again apple's os's are based on an open source operating system, and it is Unix which means that there is a lot of compatibility with other Unix OS's and Unix like variants. They have a lot more to gain from open source and open standards than Microsoft.
im not going to argue with those points, except one, but ill get to that later. anyways, i meant that the source code is proprietary, not that it isnt cross platform, because obviously that doesnt stop people (wine, mono, *amp, cygwin). the only thing i would like to point out, is that assembly does have times (i think chrisname said it) http://www.c-jump.com/CIS77/ASM/DataTypes/lecture.html
the only thing i would like to point out, is that assembly does have times (i think chrisname said it)
Not in the same way that C and C++ have types. Assembly has integers and then bigger integers, and maybe floating point if you include x87 and SIMD. It doesn't really even have signed integers, it just has a flag. What I meant by not having types is that it doesn't really differentiate between pointers, arrays, values, etc.: all the CPU sees is numbers. A pointer is when the programmer says "I'm going to use this number to tell me where to find another number".
Assembly does differentiate them in a way; e.g. if you say [ebx] then it assumes that the value of EBX is a memory address (and you can only use that syntax with [e/r]BX and pre-computed offsets), but it's not strongly typed.
Swift takes the best features from the C and Objective-C languages. It includes low-level primitives such as types, flow control, and operators. It also provides object-oriented features such as classes, protocols, and generics, giving Cocoa and Cocoa Touch developers the performance and power they demand.
https://developer.apple.com/swift/
chrisname wrote:
Types, flow control and operators are "low-level" now?
Low-level is a relative term as I'm sure you know.
freeBSD, which we studied in my OS course, is Unix and is open source. I don't think it's really much different than what Apple uses, and both branched from the same thing.
EDIT: Actually OSX is based on open source UNIX variants freeBSD, netBSD, and the MACH kernel.
We have to be clear on something. UNIX (the OS is closed source), the OSes that you listed may not even have any code from the UNIX OS in them, but they comply to the SUS (Single UNIX Specifications) making them certified as Unix.
Note that a system need not include source code derived in any way from AT&T Unix to meet the specification. For instance, IBM OS/390, now z/OS, qualifies as a "Unix" despite having no code in common.
You could argue that, but people call BSD UNIX, a UNIX operating system.
Historically, BSD has been considered a branch of UNIX—"BSD UNIX", because it shared the initial codebase and design with the original AT&T UNIX operating system.
> UNIX (the OS is closed source)
> the OSes that you listed may not even have any code from the UNIX OS in them
UNIX is not the name of a particular code base or a particular implementation of an operating system.
The Open Group holds the definition of what a UNIX system is and its associated trademark in trust for the industry.
...
Today, the definition of UNIX ® takes the form of the worldwide Single UNIX Specification integrating X/Open Company's XPG4, IEEE's POSIX Standards and ISO C. Through continual evolution, the Single UNIX Specification is the defacto and dejure standard definition for the UNIX system application programming interfaces. As the owner of the UNIX trademark, The Open Group has separated the UNIX trademark from any actual code stream itself, thus allowing multiple implementations. Since the introduction of the Single UNIX Specification, there has been a single, open, consensus specification that defines the requirements for a conformant UNIX system. http://www.unix.org/what_is_unix.html
Incidentally, Apple's OS X is not merely UNIX, it is also one of the certified UNIX implementations. http://www.opengroup.org/openbrand/register/
And it is (has always been) open source.
FreeBSD (and the other open source BSDs) are not certified, but they are widely regarded as conformant UNIX systems.
Allow me to add another buzzword here 'POSIX ' , and iirc Linux isnt made to comply to SUS but to POSIX , and also Mac is a certified Unix ,
Linux , for example is not a certified Unix because no one applied for it, since it's gonna be very expensive for an open source project , so it's just called Unix-like.
BSD , according to Wikipedia ( quite unreliable though ) is a Unix and not Unix-like , and iirc back then there was no SUS.
BSD Unix refers to the first versions that were built on top of the AT&T Unix code they bought the license to. So in that respect, yes, it was Unix because it was built on top of Unix codebase. When they made BSD open source, however, they had to remove the AT&T Unix code and write their own due to licensing issues but retained the Unix because it now means they are certified Unix according to SUS, but does not have the AT&T Unix codebase anymore.
JLBorges wrote:
UNIX is not the name of a particular code base or a particular implementation of an operating system.
Yes, by todays standards. When UNIX was first around, it meant they were based off AT&T's Unix code, because the UNIX Standard (SUS) didn't come until the 80s and AT&Ts Unix was around in 1973 and BSD was released in 1977.
> BSD Unix refers to the first versions that were built on top of the AT&T Unix code they bought the license to.
No. BSD never bought any licence to AT&T's code (when eventually AT&T could sell licenses for it).
By 1990, the CSRG's funding was running out, and it faced closure. Some members of the group decided to release the BSD code, which was Open Source, without the AT&T proprietary code. This finally happened with the Networking Tape 2, usually known as Net/2. Net/2 was not a complete operating system: about 20% of the kernel code was missing. One of the CSRG members, William F. Jolitz, wrote the remaining code and released it in early 1992 as 386BSD. http://www.freebsd.org/doc/en/articles/explaining-bsd/what-a-real-unix.html
> When UNIX was first around, it meant they were based off AT&T's Unix code
All early Unix implementations used a combination of AT&T's and Berkeley CSRG's code. After UNIX was copyrighted as a trademark, System V release contained both AT&T's copyrighted code as well as BSD's open source code.
When AT&T themselves were allowed to sell UNIX® commercially, they started with a somewhat bare-bones implementation called System III, to be quickly followed by System V. The System V code base did not include networking, so all implementations included additional software from the BSD, including the TCP/IP software, but also utilities such as the csh shell and the vi editor. Collectively, these enhancements were known as the Berkeley Extensions. http://www.freebsd.org/doc/en/articles/explaining-bsd/what-a-real-unix.html
> they had to remove the AT&T Unix code and write their own due to licensing issues but retained the Unix ...
No, after UNIX® became a registered trademark, BSD had to drop the UNIX suffix. 4.3BSD UNIX operating system, in the next version became just 4.4BSD operating system. Though FreeBSD is a conforming Unix implementation, it does not hold the right to use the UNIX® trademark.
@JLBorges
Are you and me reading the same page? To me, the first two paragraphs and the sentence you appear to have dropped out of your first quote translates (to me anyways) to what I said (well, that and other things that said basically the same thing on wiki pages while looking through Unix, AT&T, BSD, and a few other Unix Specification links). Though, I could be wrong since wiki pages aren't that reliable.
The BSD operating systems are not clones, but open source derivatives of AT&T's Research UNIX® operating system, which is also the ancestor of the modern UNIX® System V. This may surprise you. How could that happen when AT&T has never released its code as open source?
It is true that AT&T UNIX® is not open source, and in a copyright sense BSD is very definitely not UNIX®, but on the other hand, AT&T has imported sources from other projects, noticeably the Computer Sciences Research Group (CSRG) of the University of California in Berkeley, CA. Starting in 1976, the CSRG started releasing tapes of their software, calling them Berkeley Software Distribution or BSD.
.... The BSD tapes contained AT&T source code and thus required a UNIX® source license. By 1990, the CSRG's funding was running out, and it faced closure. Some members of the group decided to release the BSD code, which was Open Source, without the AT&T proprietary code. This finally happened with the Networking Tape 2, usually known as Net/2. Net/2 was not a complete operating system: about 20% of the kernel code was missing. One of the CSRG members, William F. Jolitz, wrote the remaining code and released it in early 1992 as 386BSD. At the same time, another group of ex-CSRG members formed a commercial company called Berkeley Software Design Inc. and released a beta version of an operating system called BSD/386, which was based on the same sources. The name of the operating system was later changed to BSD/OS.